Thursday, March 09, 2006

Orb

Over the past six months, or so, there has been a lot of talk about a device called SlingBox, which essentially allows you to stream television (live or recorded) from your home to wherever you may be over the Internet. But, it wasn't until I was reading Jamie's blog that I learned about a similar service called Orb that will allow you to do the same thing with nothing to buy.

It was priced right ($0.00), but I was skeptical (as you should be for free services where there's no obvious revenue stream). Regardless, I created a user account, and installed the client-side software. Because my machine was already running Media Center, I found that the client essentially configured itself! As a disclaimer, though, I have not used Orb with a non-Media Center PC.

The magic of Orb occurs through the piece of client software that runs on your PC at home. This is what has access to both your hardware/media and the Orb servers. So, as long as the client software is running (i.e., icon appears in the task tray) and your home PC is always connected to the Internet via broadband and you have port forwarding properly configured on your firewall, then you can stream any media from that PC to wherever you are by means of the Orb web site.

For example, here I sit at Panera Bread. I know that I recorded Mike Birbiglia on Comedy Central the other day, but that video is on my Media Center PC, not this laptop. Through the magic that is Orb, I'm able to play that video and watch it here through WMP:



In this case, I'm not simply watching the 2 GB MPEG2 stream that Media Center recorded--that's too high of a bitrate to be streamed over my cable modem's uplink. Instead, the Orb client is actually transcoding it: it takes the original video file and transforms it so that it can be streamed across the internet (i.e., changes the audio/visual resolution, changes the compression codec, etc, all the while taking in account the available upload bandwidth of my home connection and the download bandwidth of my current location).

And, I guess this is cool too (for the Europeans and other WMP-haters): it doesn't just transcode to Windows Media format, but will also generate Real Media, 3GP Media, and Winamp streams.

What's more is that you are not just limited to watching video on a PC. I have successfully watched video on a PocketPC, and Jamie reported that he was able to do the same from his EVDO cell phone!

So, the first thing that I see when I login to http://my.orb.com is a dashboard, of sorts. This shows me some of the media that is available, including my most recent recordings:



Because my Media Center has a TV Tuner card in it, I could start to stream live television. Orb helps me decide what to watch by displaying TV Guide data for what's currently playing on the various channels:



When the live television is playing, you can change the channel using WMP's previous/next track buttons. In my tests, there was a lag of about 10 seconds while the transcoding took place.

Orb also provides you with the ability to remotely schedule a television show to be recorded, just in case you forgot to do so when you left the house. This is a common feature of many of the other HTPC software titles, but it is oddly not available out-of-the-box for Media Center (seems like such an obvious feature).

In this case, it is the Orb client that is actually doing the recording, not the Media Center recording service. The resulting file is in DVR-MS format (MPEG2 with metadata saved in the file), which is also the native format of Media Center. However, in my test, no metadata (episode description, TV rating, etc) was saved in the file.

All of the same media that is available to my Media Center is also exposed through Orb, from the Television capabilities, to Audio and Video libraries, and even pictures (for when you want to show off your latest photos that are trapped on your PC at home):



Now for some of the tricky stuff. The Orb client is supposed to have UPnP functionality, which if it worked, would automatically open up the ports on your firewall that needed forwarding (assuming that your firewall/router supports UPnP). In my case, it didn't work, but I didn't really spend a lot of time troubleshooting.

Whatever the issue was, I had to change the Orb client to use port 81 for streaming (instead of Port 80, since my Media Center was also running IIS). Then, I had to manually configure port forwarding in my router:

81 TCP
554 TCP
13398 - 13401 UDP

I'm assuming that the original port 80 was in place to promote access to the streams from behind corporate firewalls and through proxy servers. If I didn't want or need my web server to be exposed as port 80, then I can actually set up my Linksys firewall for PAT (Port Address Translation), which would take any incoming port 80 traffic from the Internet and send it to the Orb client listening on port 81.

I could go on and on, but that would take the fun away from you! Give it a try.

If Carl asked me today "What's the coolest thing that you've downloaded lately?", then this would definitely be my response.

UPDATE 03/13/2006: Uh, oh. The honeymoon is over and now I'm starting to see a few issues. I scheduled my Media Center (i.e., not Orb) to record Saturday Night Live, and when I went to watch the show, it wasn't there. Turns out that Media Center had shown a dialog saying that it couldn't activate the recording service when SNL started. I'm thinking that Orb's own recording service has something to do with this (i.e., if it still had a handle to the DirectShow graph that it was using to access my tuner card, then MCE wouldn't be able to create its own graph).