Idea: mbed as iPlayer provider for new Apple TV

02 Sep 2010

I've had an idea and as I'm pretty short on time these days I thought someone else might like to run with it (as it may take me a long time to get anything done!)

(First a bit of background)

The new Apple TV looks like pretty it could be very handy, I was considering getting one for my Dad and telling him that anything he wants is there with a Dad-friendly interface but there are a few problems… Apple hasn't garnered the rights to very many films here in the UK and there's no TV renting whatsoever! Kinda curbs my enthusiasm.

I did get to thinking though, the BBC iPlayer stuff would be pretty neat on there, but there's almost no way Jobs will provide that for such a tiny island as this!

However I've done some work with the protocol apple uses to share iTunes libraries (in Ruby, not C) and it's not very difficult to make an app which provides music and video to iTunes through it (the DAAP protocol - its just a web server which talks in binary encoded objects). I think it wouldn't be an improssible job to write code which would allow the mbed to grab a list of current BBC iPlayer videos, broadcast them to the network as an iTunes share and point the Apple TV to the iPod/iPhone versions of the streams if someone wants to watch them.

You could feasibly just pop an mbed with the required code onto any internet enabled network and all iTunes/Apple TVs would see a shared library filled with BBC shows!

You'd need to implement Apple's Bonjour zeroconf protocol, the DMAP encoding (I've written a ruby library to interpret this, so I'm part way there!) and make sure the Apple TV likes accepting streams directly from the BBC.

If anyone out there is interested in this idea please reply here! I'm going to test out the idea in Ruby (as I have almost all the background work done) and see if it could work, then I'll start trying to port it across to C.

Cheers!

02 Sep 2010

My feeling (just a guess, mind) is that while there would be enough CPU power and network bandwidth to do this sort of mediation of streams, I don't think there would be enough RAM. As an off-topic aside, have you looked at the BoxeeBox (shipping in November; has built in support for iPlayer and Channel 4 on demand, fully programmable and open source, similar form factor, US$199)? You can try the Boxee software on your PC/Mac/Linux/old-Apple-TV to see if you like it.

03 Sep 2010

Thanks for the info :) The boxee box is shiny and I'll likely get one for myself, but it's *too* fully featured for my dad, who expects there to be one button saying 'play'.

Interesting what you say about RAM though, will 64K not be enough ram to run a multicast dns server? I think the real issue will come from the fact that the BBC tests the User Agent of the program streaming the data from it's servers, so the mbed would have to proxy all the data - I can't imagine it could cope! (mighty tho the mbed is :P)

Was a fun idea though! Here's to hoping apple decide to give us brits a break :P