Thin Client as Home Theater Video Server


Picture this:  You throw yourself onto your couch, grab your universal remote, turn on your thin client, peruse a directory of hundreds of movies and concerts, pick the one you want and, instantly, your thin client plays your selection on your HDTV, up-converting the standard-definition video into a spectacular 1080p picture, while serenading you with glorious 5.1 or 7.1 digital surround sound.  Not bad for an inexpensive "internet appliance."  Here's how to do it:

What you'll need:  A thin client with a DVI port (HP t5730), or, a thin client with PCI slot and expansion module (HP t5720), a PCI graphics card with a DVI out port, a USB S/PDIF audio adapter, a USB 2.0 external drive, a Bluetooth keyboard and mouse, a USB Bluetooth adapter, and some free software.

This example uses an HP t5720.  However, the process should be the same or similar for other thin clients.  You should have also prepared your thin client with the latest operating system, BIOS, drivers and DirectX 9.0c as well as administrative access.  The Set up your Thin Client project, accessible from the Thin Client Forum home page, provides detailed instructions for doing this.

There are several things that have to be addressed to turn a thin client into a home theater video server.  First, you need a place to store your video.  Then you need to feed video to your HDTV.  You also need to be able to send 5.1/7.1 digital sound to your audio system.  You also need some way to control all of this -- you don't want a wired keyboard and wired mouse cluttering up your coffee table and tripping your wife who probably thinks this was all a bad idea in the first place (at least mine does).  Finally, you need software that will support all of this hardware and will play movies on your home theater.

1.  Storage

This is easiest to manage.  Standard definition DVD video has a data bandwidth of between 10 and 12 mbps.  This is small fraction of the bandwidth capabilities of a USB 2.0 external drive.  Note: it is critical that you use a USB 2.0 drive and not an older USB 1.0 or 1.1 drive.  USB 2.0 has a through-put of 400 mbps; USB 1.0 and 1.1 are limited to a maximum of only 12 mpbs, theoretically enough to stream digital video to the thin client but, given overhead and other issues, not at all fast enough.  Virtually all recent USB external drives are USB 2.0, so this shouldn't be much of a concern.  I happen to like the Cavalry 1 Terabyte external USB/eSata drives.  I like the Cavalry drives because they're solidly built and, most importantly, they run very cool and quiet.  The last thing  you want in a home theater environment is a hard drive clicking away during quiet, suspenseful scenes while it puts even more heat into your already hot-running home theater components.  Cavalry drives available most everywhere in a variety of sizes and configurations, but frequently has them on special.  Commercial DVDs require either 4.7 GB or 9.4 GB per film, so a terabyte will easily store all the films you could possibly want.  We're also going to use the external drive for the thin client software and temp directories, but these will consume a tiny fraction of the available storage space.

All that's necessary is to plug to the USB drive into any available USB jack on the thin client.  Note that some external drives may draw more current than the thin client can handle.  This is usually true of USB drives that don't have a separate power supply.  If, for some reason, you've decided to use one of these you may want to get a powered USB hub, plug the hub into a thin client USB jack, and the USB drive into the hub.  It's easy to tell if you need a hub: when you try to boot the thin client, it will freeze at the POST (Power On Self Test) screen.  As with the drive, make sure that the hub is USB 2.0.

2.  Video

There are a variety of ways to get video into an HDTV.  The best way is to keep the signal all digital -- after all, the video is sitting in digital form on the USB drive.  Composite inputs -- either the familiar old single yellow RCA plug or the somewhat better S-video plug which separates out the luminance and chroma signals -- were fine for your old VHS player, but nowhere near good enough for a modern HDTV.  Component video, frequently (and mistakenly) described as RGB, YUV or YPbPr, uses three RCA video connectors and is an analog route to true high-definition.  However, most recent HDTVs have HDMI inputs, that permit an all-digital video signal path.  Because HDMI is protocol standard as well as a physical connector type, very few computers or graphics cards have an HDMI output -- to be an HDMI-certified device, things such as DRM (Digital Rights Management) must be built in.  However, the prior digital video standard, DVI used for HDTVs didn't have to deal with these complications and graphics cards, computers and computer monitors with DVI outputs are common.  All that is needed is to feed an HDMI input on an HDTV from a DVI output on a computer is a DVI-to-HDMI adapter or cable.  Here are some examples at J & R Electronics (a reliable internet and brick-and-mortar electronics vendor).  If you shop carefully, you should be able to find an inexpensive adapter or cable.

There is only one thin client that I'm aware of that is suitable for this kind of application and has a built-in DVI port: the HP t5730.  Unfortunately, the t5730 is relatively new and very expensive.  The t5720 is considerably less expensive but lacks a DVI port.  You'll have to buy the expansion module for it, as well as a graphics card.  Now, this is where it gets a little tricky.  According to HP (but depending on who you talk to), the NVIDIA Quadro 280nvs 64 MB PCI Dual Head DY599A will work with the t5720.  However, after much digging, I discovered that, though the analog section of the card can go up to 2048 x 1536, the DVI output resolution is limited to 1600 x 1200, well below the 1080p resolution of 1920 x 1080.  I set out to find another card with the appropriate resolution.  This was not easy.  First of all, very few manufacturers make a 1/2-length PCI graphics card with DVI output.  Motherboard graphics design has progressed beyond the PCI bus -- most cards are PCI express (PCIe) or AGP, neither of which are compatible with PCI.   I found a relatively inexpensive card by ATI with the right specs, but it would not work with the t5720.  The drivers would load but, when I tried to set the resolution, the t5720 gave an error message indicating that the driver (which was ATI's XP driver) was for a different operating system.  It's times like this that you're reminded that a thin client has both a slightly different architecture and operating system than a standard desktop XP desktop computer.  Back to the drawing board.  Searching the HP website revealed this document which indicates that the HP t5720 would work with the Matrox EpicA TC2 and Matrox EpicA TC4 graphics cards.  A review of the Matrox website also suggested that these would work with the t5720.  The Matrox site confirmed that digital section of these cards could support resolutions up to 1920 x 1200.  The TC4 can drive four monitors at once.  Though a wall full of HDTVs flashed through my mind momentarily, this was clearly overkill and, in any case, the TV4 is a full-size card that will not fit in the t5720.  The TC2 drives two monitors, and that sounded right -- one analog output for a small computer monitor and one DVI output for the HDTV.  There were, however, two problems.  First, HP technical support told me that the t5720 "would not support" the TC2, though Matrox and HP's t5720 specification document said it would  Second, this is an expensive graphics card -- internet prices ranged from $250-350 (don't go with a TC2-lite -- unlike the TC2, it's a full-length card and won't fit in the t5720).  I finally found an OEM version of the TC2 on eBay for $175.  As it turns out, both HP and Matrox were right.  After installing the drivers, I got the same error message as with the ATI.  However, unlike the ATI, I was able to set the resolution and also access the advanced features that let me set up the HDTV as the main desktop.  The point of this rather long narrative is that the Matrox TC2 will work in this application.  There may be other cards that do as well and you might want to experiment with less expensive alternatives.

The graphics card is installed in the t5720 using the t5720 expansion module.  There are extensive instructions on the HP website if you're unsure how to do this.

3. Audio

Like most computers, the HP t5000 series thin clients have analog stereo outputs which, of course, won't do at all for a home theater.  The solution is an S/PDIF USB audio adapter.  S/PDIF comes in two flavors: coaxial and TOSlink.  Either will work just fine -- which one you use depends on the connectors on your home theater AV receiver.  Make sure you get an adapter that comes with its own drivers for XP.  Though Windows XP has built-in USB audio drivers (usbaudio.sys) that, in theory, support S/PDIF output, many people, myself included, have found these unreliable -- sometimes they'll work, sometimes they won't, depending on the USB S/PDIF adapter that you get.  I used a Turtle Beach Audio Advantage SRM.  Installation is simple -- just plug it into an open USB jack on the t5720 and install the drivers from the supplied CD-ROM (you'll have to plug in a USB CD-drive -- if you don't have one, you can download the drivers from the Turtle Beach website, copy them to a USB thumb drive and install from that).  One note: don't bother using the supplied control software -- it won't let you adjust anything when you set the output of the Audio Advantage to S/PDIF.  The Audio Advantage will pass digital audio but it can't generate it, meaning to get surround sound, you have to use a media player that can read and decode the digital audio and format it for S/PDIF

4.  Software

First, as with most expansion projects for thin clients, you'll need to locate the software and a few system folders somewhere other than the C: drive (the flash ATA module).  You'll need to change the user variables for TEMP and TMP and the system variable for TEMP to point to the USB hard drive (which will probably show up as the D: drive).  I created a directory called D:\TEMP for this purose. Detailed instructions for doing this can be found in the Setting up a Thin Client project accessible from the home page.

Next, you need a software video player.  Neither Microsoft Media Player nor Apple Quicktime will support S/PDIF out.  A commercial product like WinDVD might, but there is a perfect free alternative.  Videolan VLC player is a free, Open Source media player that is very powerful and can play just about anything.  Best of it all, it supports S/PDIF and will pass the surround sound digital audio to the Audio Advantage.  Just download it, install it, set the aspect ratio to 16:9, set the audio output to S/PDIF and you're ready to go.  One note (it seems like there's always one note, doesn't it?): on my HDTV, a Toshiba, when the VLC player was set to full-screen 1080 output, there would be a few distracting white lines at the top.  I got rid of them by using the "crop" function, which didn't effect the aspect ratio.  When you install the VLC player, choose the "Custom" option and install to a directory on the USB drive.  I used D:\Thin Client Programs\VLC (pretty clever, right?).  The reason for doing this is so that the VLC player will remember your custom settings without having to commit them to the ATA flash drive each time you change them.

5.  Pulling it all together

Okay, now you have a thin client that will serve as a video jukebox.  Having an attached keyboard and mouse completely ruins the sleek, high-tech functionality.  Here's an easy and elegant solution: a small Bluetooth keyboard with an integrated touch pad like this.  At 6" x 9" it's small and, of course, you're not going to write War and Peace with it.  However, for controlling a video server thin client it's perfect.  Of course, you'll also need a USB Bluetooth adapter for the thin client.  Most any one will do just fine, but select one that uses a Widcomm Bluetooth stack -- don't worry about what this, just look for it in the specs.  It is easier to integrate into an XP environment then other alternatives.

6.  Wait a minute . . . what about high definition video?  What about internet streaming video?

I knew you were going to ask that.  I don't have any easy answer to either question, at least yet.  First of all, there is, at present, no easy way to get true high-definition movies on to a computer.  There are a variety of standard-definition DVD rippers but, so far, nothing for Blu-Ray.  If all you want to do is play Blu-Ray disks on your HDTV, you're better off getting a dedicated Blu-Ray player -- it will be less expensive and easier to use than plugging an external Blu-Ray ROM player into a thin client.  I've done some very quick tests with some HDV footage I shot with a Canon HV-20 and, frankly, the t5720 choked.  I'm not sure why, but HDV, which uses a version of the mpeg2 codec like standard definition DVDs, has a far higher data bandwidth: 25 mbps for HDV versus 10-12 mpbs for standard definition DVD.  Also, before discovering the VLC player, I had dumped a bunch of video codes, including a couple of mpeg2 codecs, onto the t5720.  I don't know which codec the VLC player is using, perhaps one that is unsuitable for the high data throughput of HDV.  In theory, a graphics card like the TC2 in a 1 GHz machine like the t5720 should have no trouble with HDV video, though AVCHD, the other consumer high-definition codec, may be more problematic as it uses an advanced version of mpeg4 that places greater demands on the CPU.  At any rate, I'll keep experimenting.

Internet streaming video poses a different set of problems.  Though the data bandwidth is much, much lower than HDV (usually 1.5 to 3 mbps or less), the various codecs used, e.g. Adobe Flash, place their own demands on the CPU.  I found that my t5720 could play video from YouTube just fine.  It could also handle standard definition video from Hulu.  However, it could not manage anything close to a reasonable framework with HD material from Hulu or Vimeo.  However, and this is a big qualifier, my home theater, including the t5720, sits on a portion of my LAN that uses a wireless link to the rest of the LAN, including the router that is connected to my DSL line.  I don't get a good signal and the problem might be as simple as a poor-quality, slow WiFi link.  I did try a quick test with a t5730, which has a built-in DVI connector, and a direct CAT5 wired connection to my head-end router.  The t5730 failed miserably -- it couldn't run streamed video that ran okay on the t5720 -- but I suspect the problem there is mediocre performance by the built-in graphics card in the t5730.  As I said, I'll keep experimenting.