
With the introduction of firmware 1.80, the Playstation 3 has become a full-fledged media center device, thanks mainly to DLNA (Digital Living Network Alliance) support. There has however been a lot of confusion on how to get the PS3 working with the various DLNA and UPnP (Universal Plug and Play) servers. There are quite a few servers available, including TVersity, TwonkyMedia, Nero MediaHome, and Windows Media Player 11. This guide will focus on TVersity, as it is currently the most popular and full-featured solution available.
The main benefit of TVersity is its ability to transcode media into a format the client device can process. Currently, the PS3 can only render MPEG and AVS (H.264) formats. This is a problem because the majority of content available on the Internet is in alternative and open formats such as Xvid, Divx, and x264. This guide will explain how to optimize TVersity to stream these formats at the best quality possible.
What you will find here is the result of scouring countless forums, trial and error, and good old fashion common sense. The goal here is not to take credit for discovering the optimal settings for streaming media with TVersity, but to get everything down one place, written in a clean, concise fashion.
Step 1: Clean Out Your Codecs
The number one reason people have problems with TVersity is that the codecs installed on their system are not in order. The majority of “Unsupported Format” and “Corrupt Data” errors are the result of missing or invalid codecs.
The first thing to do is to get rid of all the disparate codecs installed on your system. This includes stand-alone Xvid, etc. codecs as well as installs you may not suspect such as Nero Premium and tools like AVI Splitter.
A good test to see if your system is clean is to try and play a Xvid or x264 file from Media Player Classic or VLC and it not playing. If the video renders there’s a codec still installed on your PC and you need to track it down and uninstall it.
Step 2: Install CCCP (Combined Community Codec Pack)

CCCP is an organized collection which contains all the codecs and tools you will ever need to decode the various media formats out there. It is recommended that you first run the CCCP Insurgent tool to verify there are no lingering codec packs on your system. After you ensure your system is clean, install CCCP and reboot. Do not skip the reboot step! It’s a pain but it’s important.
If for some reason you do not want to use CCCP, there’s the K-Lite Codec Pack. I found it does not play nearly as many files as CCCP, but it’s a good alternative. Do not install both! Another alternative is to install ffdshow by itself. You may not be able to play as many formats, but your system will not have a gazillion codecs installed (which some consider bloat).
Step 3: Install TVersity

The current version of TVersity is 0.9.11.4 (December 30, 2007). TVersity is very much a work in progress. It can crash or stop working at times but for that most part it’s the best tool out there for streaming media to the PS3.
TVersity consists of two components: The media server itself (which is invisible to the user) and the Flash front-end. The front-end does not need to be running for Tversity to operate. The media server runs as a system service. Unfortunately, due to a bug involving permissions in 0.9.10.7 the media server Windows service needs to be tweaked to ensure proper operation.
Go to the Windows Services applet (from the Run… menu type “services.msc”) and in the list find the “TVersityMediaServer” service. Double-click on it and go to the “Log On” tab and change the process to run under your Windows account as shown below:

If the service is not already started, start it. Also insure the Startup Type is set to “Automatic”.
At this point TVersity should be operational. I am not going to go into how to add your media to the server as that’s beyond the scope of this guide and it should be fairly straight forward.
Step 4: Optimize the Transcoder
The goal here is to optimize the transcoder to output the best possible video quality possible. Keep in mind that this involves a great deal of horsepower and network bandwidth. I am transcoding on a 3.2Ghz Core 2 Duo processor over a 802.11g wireless network (with an excellent connection) and have yet to hit my head on the ceiling with these settings. Your mileage may vary and if it does you will need to scale back where appropriate, especially if dealing with HD content.
Start up the TVersity front-end and navigate to the Settings->Transcoder tab.
When To Transcode?

This should default to “Only when needed” so keep it there. This will allow TVersity to pass-through MPEG and AVS formats without transcoding overhead and image degradation.
Maximum Video and Image Resolution

This determines how the transcoder will scale (down) your media in order to conserve network bandwidth. We want the best image possible so set both of these fields to the maximum resolution of your television. I have a 1080p native set so I set it to 1920×1080. If you’re at 720p set it to 1280×720. The “Image resolution” boxes pertain to photos, it does not hurt to crank them all the way up as well.
Windows Media Encoder
TVersity uses DirectShow under the hood to do the actual media transcoding. CCCP installs a DirectShow encoding/decoding filter called ffdshow which does all the magic behind the scene. Further versions of this guide will go into optimizing ffdshow for better video quality, but let’s get everything working first.

Make sure the “Use DirectShow…” checkbox is checked and that the Windows Media Video version is set to “9″. You can choose an older version of Windows Media for faster decoding but 9 produces the best image quality (at least on paper).
Optimization

This is a no-brainer. Tag it for quality.
Connection Speed and Quality

Here’s where things can get sticky. I’m on a 802.11g connection in a small apartment and have no problem settings the connection type to “Wired” and the signal strength to “Excellent”. If you notice network stuttering or dropouts definitely scale these settings back.
In my experience the PS3 does a thorough job in buffering content. As long as your PC can encode at a pretty decent rate (2x or greater) the connection settings don’t mean much as the PS3 will buffer way ahead of what is being played, assuming your network can keep up.
Compression

By transcoding we’re essentially re-compressing and already compressed file. This equates to a degradation of image quality. Set compression to “Minimum”. This is going to result in a larger file being sent over the network, but it results in better image quality at playback.
Decoding Speed
Finally, ensure the “Decode the media as fast as possible…” box is checked. The PS3 times out pretty quickly if the media does not load fast enough and this setting helps with that.
Step 5: Optional Tweak
Output to MPEG2
In the TVersity install folder (C:\Program Files\TVersity\Media Server) find and edit the file “profiles.xml”. Ensure you are in the “Sony Playstation 3″ profile block, there should be a block of code that looks like:
<!-- When transcoding is needed to which format should we transcode -->
<transcodeTarget
audio="audio/x-wav"
video="video/mpeg16"
photo="image/jpeg"
onlineAudio="audio/mpeg"
onlineVideo="video/mpeg16"
onlinePhoto="image/jpeg"
adjustReadStartPos="false"
audioFailFutureSeek="false"
videoFailFutureSeek="true" />
Change it to read:
<!-- When transcoding is needed to which format should we transcode -->
<transcodeTarget
audio="audio/x-wav"
video="video/mpeg2”
photo=”image/jpeg”
onlineAudio=”audio/mpeg”
onlineVideo=”video/mpeg2”
onlinePhoto=”image/jpeg”
adjustReadStartPos=”false”
audioFailFutureSeek=”false”
videoFailFutureSeek=”true” />
This will ensure the transcoder produces MPEG2 video as opposed to MPEG1, which results in overall better looking video. You will need to restart the media sharing service from the TVersity front-end after making this particular change.
Conclusion
You should now be able to playback nearly any video file you throw at your PS3 in high-quality. Granted, I’ve come across one or two files that refused to play (mainly video podcasts or Flash video) but for the most part I’ve been enjoying high-quality steaming media using TVersity and the PS3.
If you encounter any problems be sure to check the TVersity Support Forums, the PS3 Forum in particular.
Part II of this guide will go into further quality optimizations including tweaking of ffdshow and profile.xml hacking.
Enjoy!