I really didn’t want this blog to shift in the direction of a tech blog, but I have walked enough people though the TVersity setup that I feel this guide is necessary.
Out of all the solutions available for console streaming (TwonkyMedia, Nero MediaHome and Windows Media Player 11) I have found that Tversity is the most complete, full-featured option currently 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 same as the Xbox with exception that the Xbox can also stream WMV. 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.
Most of my information came from readmeblog (click here for blog source), searching forums and trial and error. 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.
The first time I did this I ended up wiping my machine and doing a fresh install of Windows because I had so many bogus codec packs infested in my system.
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.
Step 3: Install TVersity
The current version of TVersity is 1.6.0.0 (May 19, 2009). 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. If you are going to stream to the 360 make sure you have Windows Media Player 11 installed.
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 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 1.5Ghz AMD processor over a 10/100 wired 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 “11?. You can choose an older version of Windows Media for faster decoding but 11 produces the best image quality (at least on paper).
Optimization
This is a no-brainer. Tag it for quality.
Connection Speed and Quality
In my experience the PS3 does a thorough job in buffering content and so does the Xbox. 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.
Step 6: Optional Optimization
Router Firmware Upgrade
In the beginning I did have some trouble with choppiness on the larger HD files (20 GB and larger). At first I thought my computer processor or Cat 5 cable was the weak link until I tried upgrading the firmware on my Linksys WTR54G router. I flashed my router with dd-wrt firmware and since then my entire network has run smoother. I can now download and stream simultaneously without any video “hick-ups” and the larger files stream flawlessly. If you have an hour or so I highly recommend upgrading your firmware, dd-wrt is available for most routers.
Convert MKV to VOB for PS3
TVersity will transcode MKV files for the PS3 with mixed results. I found that running the mkv files through a simple program avoided several headaches. Download MKV2VOB , select a mkv file, then select a destination directory and convert, you can even queue up several movies to convert while you sleep. It takes 20-40 minutes per movie (assuming its HD quality) and well worth it in my opinion.
Conclusion
Now you are all setup and ready to start streaming, all you need to do is put your files in a folder on your local or external hard drive, then add that folder to the TVersity library. If you opt to kill the flash front end (I did because it can be a resource hog) you will still need to open it and refresh your media library (or folder) every time you add new content.
Another nice feature is if you use multiple Hard Drives you can actually have one folder in TVersity that displays media across several drives. So lets say your HD movie folder fills up on your primary drive, lets call it “C:\Movies” then you create another folder on an external, called “E:\Movies” and add it to TVersity. When you open up the Movies folder on your PS3 or Xbox the contents from both drives will display.
Since I have both consoles I primarily use the XBox 360 to stream HD WMV files and the PS3 to stream HD VOB files. I find that both platforms stream SD media equally well. I like that the Xbox sets up chapters for the movies and is faster than the PS3 thumnail intervals. However, the PS3 interface in general is nicer, if I had to pick i would go with the PS3 for STREAMING purposes.
Hope this helps a few people get that HD content streaming
Enjoy