A peek inside the Xbox Live Event Player

Like 11.8 million other viewers around the world, I was tuned in and watching, with bated breath, the landing of the NASA flying laboratory on wheels Curiosity. I started watching the stream via what felt like a Rube Goldberg kind of set up. It consisted of my loaner Samsung Series 7 slate, connected to a TV via HDMI out, displaying Internet Explorer 10 with UStream.tv loaded. But a few minutes in, the set up collapsed thanks to Adobe Flash. (The browser experience became unstable; memory usage ballooned until Windows was forced to terminate the process.) So I switched to Xbox.

Interestingly enough, Xbox has what's called the Xbox Live Event Player. It came out sometime in April, according to Wikipedia, but not being an Xbox affectionado this was the first time I heard of it. A quick download and I was off watching the same stream with a beer in hand. Pretty cool stuff.

But I'm a curious kind of guy. It wasn't clear where this stream was coming from or what technology was being used in the player application. And I had to know. So I logged into my wireless router -- running DD-WRT custom firmware -- and dumped out some packets via tcpdump. Poking around, I was surprised to learn the application (likely Silverlight powered) was pulling 720p video from Microsoft via IIS Smooth Streaming tech.

Specifically, the application was pulling live data from:

http://xblevts-p.xboxlive.com/live/ms_nasa.isml/QualityLevels(6000000)/ Fragments(video=253573320000)

And data for the cool 7 Minutes of Terror video I clicked on from:

http://xbox-mbr.xboxlive.com/mgs/liveplayer/production/MarsLander/LongLoop/ MarsLoop_HD.ism/QualityLevels(6000000)/Fragments(video=340000000)

It was the .ism and .isml extensions that tipped me off. A quick modification of the URL to load the IIS SS manifest confirmed it. Itch scratched.

Coder Corner: If you're interested in playing the stream on your PC, you will need an IIS Smooth Streaming capable client. Unfortunately Windows Media Player and VLC both suck in this department. But you can effortlessly whip up a quick Metro-style client using this sweet tutorial from IIS Media Services Program Manager Cenk Dingiloglu.