Update 6th May 2009: You might want to read this first…
A milestone has been reached today with the addition of Channel 5′s Demand Five service to the list of DRM-free services that get_iplayer can index, search and record. The following are now supported:
Supported platforms are: Linux, MacOSX, Windows and pretty much any modern OS that can run perl. See the download and installation pages.
To download and search programmes use:
get_iplayer –type=TYPE <other options>
Where TYPE is either ‘tv’ (BBC TV), ‘itv’, ‘ch4′, ‘five’, ‘radio’ (BBC Radio), or ‘podcast’ (BBC).
For full instructions see the documentation page
Now I’m off for a beer….
My hack was to get the Python based PVR, Freevo, to play iplayer programmes without having to download them in advance. (Yep, kids keep bugging me to download the latest episode of Blue Peter on the Linux xbox!).
The hack allows the Freevo user to browse all of the iplayer programme listings which get_iplayer has obtained from the BBC iplayer web site. It sorts it by programme name to make this task quicker.
The H.264 (mp4/quicktime) files from the iplayer site (intended for the Apple iPhone) are of higher quality than the flash and Wii alternatives. Watching them on a full-sized TV can actually look very good quality.
The user can then simply select the programme and watch it. In the background the programme is also saved to disk for watching at a later date should you not watch it all at once.
Downloading of the programme resumes as soon as you start watching the programme again (the resumed download goes faster than the streaming rate).
The streaming from the iplayer site is made possible by first downloading the Quicktime moov atom which contains the video stream indexing info and is unfortunately located at the end of the file, munging it and moving it to the beginning of the file so that mplayer, xine, etc can play it back before it is totally downloaded.
I’ve now posted the new version of my get_iplayer perl BBC iplayer downloader script here. Also there are the iplayer Freevo plugin and get_iplayer Freevo wrapper script which includes installation instructions.
See the beebhack wiki for may more details of the H.264 download workrounds.