Jun 25 2009

get_iplayer v2.04 now has very much simplified Live TV and Radio support.

Two new programme types have been added: ‘livetv’ and ‘liveradio’. These types, if selected, will list the available programmes in the familiar listing format:

get_iplayer --type=livetv
Matches:
80000:  BBC Four - live
80001:  BBC News 24 - live
80002:  BBC One - live
80003:  BBC Parliament - live
80004:  BBC Three - live
80005:  BBC Two - live
80006:  CBBC - live
80007:  CBeebies - live

INFO: 8 Matching Programmes

Or you can just search, stream or playback by channel/programme name:

get_iplayer --type=liveradio 'Radio 1'
Matches:
80132:  BBC Radio 1 - live

INFO: 1 Matching Programmes

To directly stream a selected live programme in all OSes (except Win32) you can use:

get_iplayer --stream 80001 --player='mplayer -cache 256 -'

Where --player can refer to any player command than can play programmes from STDIN. Or simply use:

get_iplayer --stream 80001 | mplayer -cache 256 -

The advantage of the --player option is that it can be saved in your default options as follows:

get_iplayer --prefs-add --player='mplayer -cache 256 -'

Then you can just stream via mplayer using:

get_iplayer --stream 80001

( --stream is just a synonym for --stdout --nowrite )

To record a live stream use:

get_iplayer --get 80001

Specifying modes has changed a little. --amode has become --radiomode and --vmode is now --tvmode. Additionally, --modes=<modelist> can be used to set a general default set of modes for all programme types.

Likewise, embedded media web pages can be played more easily. e.g.:

get_iplayer --stream --type=radio
  --url="http://www.bbc.co.uk/robertburns/works/a_bards_epitaph/"

Or recorded using:

get_iplayer --get --type=radio
  --url="http://www.bbc.co.uk/robertburns/works/a_bards_epitaph/"

The only major thing I’ve not been able to get working is direct streamed playback under native Windows. If anyone knows why it won’t work or has a fix or workaround please let me know! I’ve tried with ‘vlc -’, ‘ffplay -’ and ‘mplayer -’ and all seem to just fail.

Jun 23 2009


Despite being the subject of a DMCA takedown notice at SourceForge.net, rtmpdump has been short-listed for ‘Best Project for Multimedia’ in the SourceForge.net Community Choice Awards 2009.

Please show your support now by voting for this project if you value the contribution it has made to free software and if you want to see the continuance of the project. Voting ends on 20th July 2009 so get clicking!

Jun 10 2009

As of today, not only can you watch/record live BBC TV and Radio as described in my earlier post, you can now also record/watch BBC embedded videos and Live streams. Yes, you can now watch the tennis Live!

Remember to update to flvstreamer v1.8 or later.

To do this just use the following examples (not in Win32):

get_iplayer --pid ‘tv:<URL>’ --stdout --nowrite | mplayer -cache 512 -

OR

get_iplayer --pid ‘tv:<URL>’ --stdout --nowrite | vlc -

Or to record an embedded video (all OSes):

get_iplayer --pid ‘tv:<URL>’

Where <URL> is a URL with an embedded video player like: http://news.bbc.co.uk/sport1/hi/tennis/8091015.stm

The ‘vmode’ used by the BBC embedded media player streams in ‘flashnormal’ so you may need to add ‘--vmode=flashnormal’ if you don’t normally have that in your vmode list.

Jun 09 2009

After many requests I have eventually given in and added Live stream support for BBC iPlayer TV and Radio. So now you don’t need to playback TV in a browser - you can use the video player of your choice. The Radio streams are of fantastic quality especially when not played back in adobe flash player - well done BBC! The Flash AAC radio quality is between 128-192 kbps and the TV is either 512×288 or 640×360 resolution at between 512-800 kbps.

Remember that you do need a TV License to legally record or watch any Live TV streams in the UK. The Live support does require flvstreamer v1.8 or later(rtmpdump v1.6 is not as reliable with these streams). The below examples assume that the tool is in your path already. If not then add it using ‘--flvstreamer=/path/to/flvstreamer’. As a side note, rtmpdump 1.5/1.5a, albeit somewhat unreliable, will work only if you want to record the live streams or listen to Live Radio - direct TV playback does not want to work on those older versions.

Live BBC iPlayer TV

To watch BBC iPlayer TV channels via mplayer, for example, use:

get_iplayer --pid tv:bbc_one --stdout --nowrite | mplayer -cache 512 -

Or

get_iplayer --pid tv:<iPlayer Channel URL> --stdout --nowrite | mplayer -cache 512 -

Or to record a Live programme:
Where <iPlayer Channel URL> is a URL like: http://www.bbc.co.uk/iplayer/radio/bbc_radio_one or http://www.bbc.co.uk/iplayer/playlive/bbc_radio_one/

get_iplayer --pid tv:bbc_one

The ‘vmode’ used by the BBC iPlayer TV Live streams in ‘flashnormal’ so you may need to add ‘--vmode=flashnormal’ if you don’t normally have that in your vmode list.

Live BBC iPlayer Radio

To listen to BBC iPlayer Radio channels via mplayer, for example, use:

get_iplayer --pid radio:bbc_radio_one --amode=flashaac --stdout --nowrite | mplayer -cache 128 -

Or

get_iplayer --pid radio:<iPlayer Channel URL> --amode=flashaac --stdout --nowrite | mplayer -cache 128 -

Or to record a Live programme:

get_iplayer --pid radio:bbc_one --amode=flashaac

Please not that the recording and streaming will not stop after the end of a programme - it is perpetual.

Other Media Players

The recorded live streams will playback on any media player that can decode flv streams. So far I’ve successfully managed to get them playing back on xine, vlc and mplayer on Linux. I’ve not tried the various players on Windows or MacOSX.
I tried to playback th live TV streams directly with those players and found that both mplayer and xine were successful. I had trouble getting vlc to work without stuttering because I couldn’t figure out how to set the buffer/cache size. For xine use: ‘| xine stdin:/’.
The direct audio playback seems to work on mplayer and vlc only although vlc does result in slightly glitchy playback compared with mplayer.
Let me know below if you manage to get other media players to work.

Converting flv Streams

Convert Audio losslessly:

ffmpeg -i infile.flv -vn -acodec copy -y outfile.m4a

Convert video flv to avi losslessly:

ffmpeg -i infile.flv -vcodec copy -acodec copy -y outfile.avi

May 24 2009

This is the reason adobe have issued the DMCA removal request for rtmpdump - the tool which allows saving of downloaded rtmp streams from sites that use the rtmp streaming protocol. I’ve had some more clarification. The DMCA removal request by adobe does not claim that rtmpdump infringes any copyright of adobe, but it claims rtmpdump can be used to infringe copyrights of others. It says in the letter:

The rtmpdump utility hosted on SourceForge.net (see URL below) can be used to download copyrighted works, such as those on www.channel4.com.

Well isn’t this kind of like saying that web browsers can be used to download copyrighted works - and almost all web site content is copyrighted; Maybe adobe should issue a DMCA removal request on mozilla.org? Does the fact that rtmp is used necessarily mean that the user cannot save the stream for time-shifting, fair-use or legitimate archiving purposes? The content could even quite possibly come under a creative commons license which can allow indefinite storage, copying and distribution with the right attribution.

As ever, I wonder what adobe’s motivations are here. Maybe adobe just don’t want their highly obfuscated protocols to become widely implemented in open source projects? Or maybe their protocol is sold on the basis of rtmp streams being secure and non-downloadable and now they must face the fact that it was not the case? Who knows? Is this just another example of the Emperor’s New clothes?

It would appear that the rtmp and rtmpe protocols have now been documented in detail according a story that just broke on slashdot.

I’d like to encourage readers who value such tools to nominate rtmpdump for Best Multimedia Project on Sourceforge. Just click the icon.

Update 24th May 2009: The entire letter can be now be viewed at chillingeffects.org

May 22 2009

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.

May 21 2009

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…

May 06 2009

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.

Apr 29 2009

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….

Apr 27 2009

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

WordPress Themes