get_iplayer 1.87 now supports the new flvstreamer tool. This tool is a drop-in replacement for rtmpdump except that it has no support for RTMPE. This will not affect the operation of get_iplayer as it does not use that functionality to stream or record rtmp programmes.
flvstreamer is a fork of rtmpdump v1.6 which was censored by adobe who issued a DMCA removal request to the rtmpdump author and got the project taken down in the USA.
Search for flvstreamer on the download page.
I’ve just found out today that the author of rtmpdump has received a DMCA removal request via Sourceforge for rtmpdump which is was hosted by them. This is rather curious since Adobe publicly and officially announced earlier this year that they will be releasing the specification of the RTMP protocol on its public developers site.
Get your copy now from the very many downloads available on the internet. Looks like Adobe will have their work cut out for them given the sheer number of sites that host this software globally. There is no doubt that this highly dangerous piece of code will also turn up on many bittorrent trackers and file download sites.
Maybe Adobe should try to understand that if you publicly hand out the decryption keys for the streamed media that you have encrypted then trying to prevent the decryption of such data is somewhat futile. This is really just an elaborate obfuscation technique that the big media bosses clearly believe works.
Adobe, as you probably know, has a history of restricting open interoperability and free speech. Remember the Dimitri Sklyarov case?.
Update see this post for more info…
The coding challenge is over. I’ve proven that It is possible to record the streams of Hulu and 4oD if you are determined enough and use the right open source tools.
I am now officially dropping support and removing the following Programme Type plug-ins:
- Channel4’s 4oD Catch-up
- Channel Five’s Demand Five
- Hulu.com
I like a challenge but at this point I’d rather concentrate on the BBC iPlayer TV/Radio and BBC Podcasts. I’d like to reduce the workload and headache that these other sites cause me! Channel4 – you can stop feeding us that ‘Countdown’ episode now (very good!), and Hulu.com – if it weren’t for Boxee I guess you could stop encrypting the HTML that you serve to stop people scraping your web pages and the massive spaggetti of actionscript decryption functions! I guess many users who want to watch Hulu.com and 4oD programmes will now end up using Bittorrent instead. This is really not quite as ideal for these channels as before, at least with get_iplayer, they could control the geography of where their users were streaming from.
I’m still going to keep the ITV Player plug-in supported as most non-windows users will not have the ability to run Silverlight.
If you’ve downloaded a recent version of get_iplayer you’ll notice that I’ve moved it to a plug-in based architecture. This allows users to write 3rd-party plug-ins. Hopefully this will prove useful if you don’t want to rely on me to add your local channels to get_iplayer. I will attempt to write some documentation on writing your own plug-in. I’ve supplied a plug-in example template with lots of comments to get you started here. You can see the remaining plug-ins in get_iplayer SVN (see the download page) to get some idea of how they work.
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:
- BBC iPlayer TV – up to 3200 kbps HD 720p H.264 / Quicktime / MP4
- ITV player Catch-up / Classic TV – 384 kbps+ WMV / ASF
- Channel4 4oD Catch-up TV – up to 500 kbps H.264 / MP4
- Channel5 Demand Five TV – up to 720 kbps H.264 / MP4
- BBC iPlayer Radio – 128 – 192 kbps MP3 / AAC and Realaudio
- BBC Podcasts – 96 – 192 kbps MP3 / AAC
- BBC iPlayer TV subtitles – SubRip / srt
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….
Tags: 4oD, bbc iplayer, channel4, channel5, demand five, get_iplayer, h.264, hd, iplayer, itv, itv player, Linux, mac, macosx, osx, podcast, radio, record, SD, windows
Filed at 4:29pm in General, iplayer, Linux | linuxcentre | Comments (54)
Update 6th May 2009: You might want to read this first…
You are now able to search, index, record and watch Channel4’s 4oD without Adobe flash on most platforms using the latest release of the open source get_iplayer. And, best of all – it is DRM free…
This is possible thanks to today’s release of rtmpdump v1.5 by Andrej Stepanchuk which now supports adobe’s obfuscated RTMPE protocol.
To get this working do the following:
- Use the download page to get a new version of rtmpdump and update get_iplayer to the latest version (1.73). (use get_iplayer –update)
- Re-install the new Windows Automated Installer from here – it will then update to a working ffmpeg and rtmpdump v1.5.
- Search for a programme:
get_iplayer –type=ch4 Shameless
- Record the programme that is number 40123 in the resulting index:
get_iplayer –type=ch4 –get 40123
You can also record a programme if you suplly a 4oD url:
- Find the programme on the Channel4 4oD web site and copy the link location of the programme.
- Run get_iplayer as follows:
get_iplayer –pid=ch4:http://www.channel4.com/programmes/shameless/catch-up#2872545
- Or just: get_iplayer –pid=ch4:2872545
The BBC now provide HD 1280×720 resolution (720p) flash streams!!! And, OMG, the quality is awesome. get_iplayer also supports this as of now.
The even better news is that if the flash version determines that your broadband link is too slow for this HD content, get_iplayer will still record it for you to watch at your leisure on the player of your choice.
I’ve managed to get this working with get_iplayer on ‘Dr Who – Planet of the Dead’. (Thanks to Andrew who pointed this out)
- Resolution: 1280 x 720 pixels
- Video Codec: H.264
- Audio Codec: AAC
- Bitrate: 3200 kbps
For BBC HD content please use get_iplayer –vmode=flashhd … with get_iplayer v1.61 and rtmpdump v1.4. The fedora, ubuntu, MacOSX and Windows binaries on this site are already at v1.4.
Do be warned that a one hour programme will consume approximately 1.4GB.
Interestingly enough, my desktop PC suffers badly when trying to playback even the 640×360 programmes in flash player but using get_iplayer and mplayer to playback works perfectly even with 1280×720!
Update 20th April: It seems that the BBC were a little premature in their earlier announcement. They launched the HD iPlayer today properly.
It would appear that the BBC have started to serve the new High(er) Definition iPlayer streams with the following stream quality:
- Resolution: 720 x 404 pixels
- Video Codec: H.264
- Audio Codec: AAC
- Bitrate: 1500 kbps
I’ve managed to watch some of the content and the quality looks excellent and a marked improvement over the existing 640 x 360 / 800kbps content.
So, to stop all the speculation, yes, it does seem that this new BBC iPlayer HD (well not quite 720p) will be served via the web based flash player.
Also, please update to the newest get_iplayer because flashhigh support has now been fixed after the BBC changed it today.
Update: For BBC HD content please use get_iplayer –vmode=flashvhigh … with get_iplayer v1.47 and rtmpdump v1.4. The fedora, ubuntu, MacOSX and Windows binaries on this site are already at v1.4.
For the programmes that have this new mode available this seems to work mostly reliably now.
Another Update (16/04/2009): You probably already noticed my newer post and that the BBC have released 1280×720 3.2Mbps HD streams now – and that the SD stream is now 832×468 (no longer 720×404) but still 1.5Mbps
Tags: bbc, download, flash, get_iplayer, hd, high definition, iplayer, rtmp, tv
Filed at 10:13pm in General, iplayer, Linux | linuxcentre | Comments (52)
Today I managed to get access to a Windows XP desktop and thought I’d try out the latest get_iplayer Windows Automated Installer. I have to say I am really quite impressed. The Installer is maintained and put together by Simon Dible. I just downloaded it, ran it and it automatically downloaded and installed all of the get_iplayer support packages such as rtmpdump, mplayer, lame, ffmpeg and Strawberry Perl (an open source perl for Windows that is not broken like ActivePerl!).
This really takes all the pain out of using get_iplayer on Windows. I just had to fire up get_iplayer from the Start menu and I had a shell with get_iplayer primed and ready.
The even better part about the new installer is that it now supports get_iplayer updates from the menu, which is good news because the release frequency is higher than the average. The update only usually takes a second or two because you are no longer forced to re-download the whole installer again – only the perl script. I suppose it might be worth looking for installer updates now and then in case you want updated support packages.
Tags: bbc, download, ffmpeg, get_iplayer, iplayer, itv, lame, mplayer, rtmpdump, strawberry perl, windows
Filed at 9:26pm in iplayer | linuxcentre | Comments (17)
After some head scratching today I have managed to determine that the new PID which is used to get the rtmp stream URLs is generated by the new, long PID in the format of ‘[64chars]~[64 chars]’ (as shown when get_iplayer runs in –verbose mode). The correct PID is generated by using some keys (in a var called ‘copyrighted_strings’) and AES crypto functions from this flash file: http://www.hulu.com/sec.swf (specifically function ‘dec’). If anyone feels like writing/porting this in perl please let me know.
Today Hulu.com kicked Boxee off their system by, from what I can tell, changing the algorithm/method that is used to determine the playlist PID from the Hulu content-id. This means that get_iplayer will not be able to download Hulu until this is worked out again. I’ve looked at all of the latest Hulu javascript and the algorithm doesn’t appear to be in there. I’m supposing its now done in ActionScript inside the some swf. If anyone has better tools for getting at the algorithms inside of the flash player then please have a go and let me know!