More on the BBC iPlayer and RTMP

There appears to be some work going on to try and get iPlayer working on the XBox Media Center according to this thread on their forums (thanks for the link, Iain) and although it only seems to make progress up to where I did, it does include this comment from Ian Forrester of backstage.bbc.co.uk (a terribly nice chap who I met at XTech 2007 in Paris, and who as it turns out used to DJ at a club I used to go to in Bristol) We’re happy for people to hack around for non-commercial uses. which is really good to hear.

Additionally, tonight I came across WiidiaPlayer which is built in MTASC, an open-source ActionScript 2.0 compiler written in OCaml and plays back RTMP streams. Wiidiaplayer is open source and that source is on Google Code. My initial tests haven’t been that successful, but they’ve only been ten minutes long 🙂

Downloading from the BBC streaming iPlayer is hard

(this was mostly written on Friday 14th December, although no-one else seems to have stepped up to the plate yet)

The new Flash-based BBC iPlayer streams its content over Adobe’s proprietary RTMP, making it very hard to download the stream and save it for later.

There are some native, commercial, applications to do this on Windows like Replay Media Catcher but as far as I can tell, nothing on Linux. There has been a first-pass MythTV integration but this seems to use an embedded browser window.

snagged iplayer content

Red5 is a Java-based open-source Flash server which also comes bundled with some code for a sample client (download the tarball and then look in src/org/red5/samples/client). It might be possible to use this to download the stream; I haven’t yet tested. There also appear to be some code samples in Ruby and Python lying around, but these look very incomplete.

The URL for the stream is along the lines of this:

rtmp://217.243.192.52:1935/ondemand?_fcs_vhost=cp41752.edgefcs.net&auth=SECRET_KEY&aifp=v001&slist=STREAM_NAME

where both SECRET_KEY and STREAM_NAME come from a file of the name http://www.bbc.co.uk/mediaselector/3/stream/check/iplayer?pid=PID where PID is a BBC Programme ID such as b008h3zq as found on http://www.bbc.co.uk/programmes/ – the base URL for this address is found in the config.xml file linked to from every iPlayer page: http://www.bbc.co.uk/iplayer/emp/xml/config.xml

So this looks hackable, with the most promising chance probably being with Java at the moment.

BBC Podcasts list to OPML

This is a stupid Greasemonkey script which looks at a BBC podcast listings page and generates an OPML file. It’s a 20 minute hack and so is hard-coded for the Radio 4 podcasts – another five minutes should fix this. For the time being, try it out here.

I wanted to be able to import the file into my N95 so that I could browse them and import the ones I wanted. It seems to have done the job.

What’s on telly instead?

What’s on telly instead is a stupid Greasemonkey script that displays what the BBC are broadcasting on TV and radio at the same time as an event marked up with hCal. It’s very basic and only supports events where dtstart and dtend are specified using expanded iso8601 (i.e. of the format yyyy-mm-ddThh:mm:ssZ). It uses the BBC Web API which means that it is “supported by http://backstage.bbc.co.uk“. If and when the script ever works, it looks a bit like this:

screenshot of script in action