DerekSchaefer.NET I do stuff, you read about it!

5Sep/101

Effective LAN Streaming/Backup on the Cheap

I wanted to be able to stream my music and videos to my TV over my local network. I had these requirements:

  • Video (HD) and music streaming
  • Must stream over a wireless connection
  • Netflix and Amazon On-Demand access
  • Ideally, some extras, like Pandora, Youtube, etc.

This left me with a few options:

  • A full-blown desktop or mini-desktop with enough storage to hold all my media (expensive)
  • Some kind of thin-client set-top box that can stream from my computer (would have to have my computer on)
  • A networked attached storage device and a set-top box (possibly more expensive, but convenient)

After doing some research I decided on the latter option, using the D-Link DNS-323 NAS server. I chose it because of its impressive feature set: RAID 1, BitTorrent downloading, Gigabit LAN connection, FTP and UPnP servers, and rather fast read/write speeds for devices in its class (30MB/s read, 20MB/s write). Perhaps best of all, after rebate, it only costs $100! I put two Western Digital 1TB Caviar Black drives in there in RAID 1 configuration, and it's been going great!

Then I had to decide on some sort of set-top box to connect to my TV. This was much more difficult. There don't seem to be many devices that support all these features, and if they do, they are almost as expensive as an entire mini-desktop. Then I discovered that the awesome Boxee software is going to come bundled on the so called Boxee Box also made by D-Link. The problem is its not coming out until November (after being pushed back a couple times, without any confirmed guarantee that it won't get pushed back again) and its predicted to cost $250. Not all that bad, but its also not that mush less than the mini-desktop options.

I had looked at the Roku player earlier in my hunt, but dismissed it because it only supported streaming from Netlflix and Amazon, but not from a local source. After some digging around I found the Roksbox Roku player addon:

Roksbox gives you the ability to play your own videos and movies, listen to your own music, and show your own photographs on the Roku Digital Video player (from now on referred to as the Roku player). Your media can reside on your computer's hard drive, on an external drive, on a network attached storage (NAS) device located on your home or local area network, or on a USB attached device (XR model only). Although Roksbox requires some initial setup work, once you get your network and media files properly configured, you will be able to enjoy all of your media files on the convenience of the Roku player.

And the Roku player only costs $70! With a few modifications, it will do everything I want it to! But wait, the Roksbox addon requires a local web server to stream from...  uh ohs!

Turns out that the DNS-323 is even more awesome than I originally thought. With some Linux knowledge and a little hackery, you can enable SSH access to the DNS-323 and setup a LightTPD web server! Amongst many other great things. The work-around is called fun_plug, described here, and available for download here.

My Roku player should be arriving in a few days, and I will give the full run down and any sort of guidance that I think might be necessary.

UPDATE (9/18/2010):

So, I received my Roku player about a week ago. I ended up springing for the HD-XR version that costs a bit more ($99), but has support for a faster wireless connection and better video quality. The Amazon reviews that say you can have the player streaming from Netflix in 10 minutes are absolutely true, and I even performed the web setup on my phone!

In short, setup is trivial, Netflix streaming is great, and the number of "channels" available is enormous. I definitely recommend the Roku player.

Now, on to LAN streaming. As I mentioned above, the Roksbox channel requires a web server to stream from, and the DNS-323 NAS server is capable of doing so with a little hackery. So I set that up; quite painless, really. Then all you have to do is go into the Roksbox settings and point it to the IP and port that the server is running on. By default, it will sort things be your directory structure, and seems to be able to read basic metadata values, but the values displayed will be rather basic.

In order to have a fancier display (box-art, synopsis/overview, year, director, etc.) and sorting by genre and the like, you have to enter all of your movies and TV episodes into some software called Personal Video Database (as described here) from which you export an XML file and place it in the root video folder on your server. This process can be tedious, especially if you have a large collection, as the box-art and info need to be downloaded for each title individually. Although, once you do, everything is displayed very nicely in Roksbox. The same sort of thing can be done with music via MediaMonkey (as described here).

Also, it seems as of this month, Roksbox is no longer free. You can try it out for 30 days with no hassle, but after that you must pay a one time fee to keep using it (on as many Roku players and for as long as you like). I haven't hit the 30 day limit yet, so I'm not sure how much it is, but they claim it is reasonable (and it probably is), but I am definitely going to pay for it. The folks behind Roksbox definitely deserve some beer money for their hard work!