Category: iplayer

Jul 23 2009

With the latest experimental release of get_iplayer PVR Manager you can now use to browse and play almost any BBC iPlayer programme directly from VLC‘s playlist. This functionality of get_iplayer PVR Manager should work on Linux/Unix, MacOSX and Windows.

Just download and run get_iplayer PVR manager as described in yesterdays post

Next, using VLC to open a URL such as:

http://127.0.0.1:1935/playlist?PROGTYPES=liveradio

You will get an automatically generated playlist for the programme type you selected.

Valid programme types are:

  • tv
  • radio
  • livetv
  • liveradio

Open the playlist in the vlc GUI and you will see all of the available programmes.

Just click on one and it will start playing after a few seconds.

There are many more examples and detailed usage in the comments at the top of the get_iplayer.cgi script if you are interested.

I haven’t tried opening the playlists in anything other than mplayer and vlc so far. When I get a chance I’ll try them out on the Squeezebox also.

Let me know if you get this working on any other players or if you find any other novel uses for it.

Update: Now works on windows except for realaudio channels. Ensure you use flvstreamer v1.8h or later.

Jul 22 2009


Update: See Part II of this post – all this has been improved and simplified…

I’ve been playing with get_iplayer PVR Manager (get_iplayer.cgi) on Linux (although it works on MacOSX and Windows also). It can now also act as an RTMP proxy to allow simple streaming of any flashaac radio or liveradio BBC iPlayer programme to a Slim Devices / Logitech Squeezebox (SBII or better). WARNING: This is still alpha quality experimental code….

All you need to do is:
Install and start the get_iplayer PVR Manager:

  • download get_iplayer.cgi from SVN (see the get_iplayer PVR Manager page)
  • Ensure you have flvstreamer installed and it’s location saved in your options
  • Ensure ffmpeg is installed and in the system PATH
  • Start it on your Linux server:

    perl get_iplayer.cgi –port=1935 –getiplayer=/path/to/get_iplayer –ffmpeg=/path/to/ffmpeg

Now configure the Squeezebox:

  • Go to the Squeezecenter page for your Squeezebox
  • Add a Favourite with the streaming URL. e.g. http://[server_ip_address]:1935/?ACTION=stream&PROGTYPES=liveradio&PID=bbc_radio_one&MODES=flashaac&OUTTYPE=a.wav
  • Go to your Squeezebox remote control or web page and play the favourite you have added.
  • Sit back and listen to much higher quality Radio at up to 192kbps AAC on your Hi-Fi

Similarly you can stream all sorts of programmes and modes on other http based media players. e.g.:

* Stream flash AAC liveradio as 320k mp3 stream:

vlc "http://localhost:1935/?ACTION=stream&PROGTYPES=liveradio&PID=[PID]&BITRATE=320&MODES=flashaac\
  &OUTTYPE=nnn.mp3"

* Stream flash livetv as an flv stream:

vlc "http://localhost:1935/?ACTION=stream&PROGTYPES=livetv&PID=[PID]&MODES=flashnormal\
  &OUTTYPE=nnn.flv"

* Stream flash AAC liveradio as a raw wav stream:

vlc "http://localhost:1935/?ACTION=stream&PROGTYPES=liveradio&PID=[PID]&MODES=flashaac\
  &OUTTYPE=nnn.wav"

* Stream tv as a quicktime stream:

mplayer "http://localhost:1935/?ACTION=stream&PROGTYPES=tv&PID=[PID]&MODES=iphone\
  &OUTTYPE=nnn.mov" -cache 2048

* Stream iphone radio as http mp3 stream:

vlc "http://localhost:1935/?ACTION=stream&PROGTYPES=radio&PID=[PID]&MODES=iphone\
  &OUTTYPE=nnn.mp3"

* Stream flash mp3 radio as http flac stream:

vlc "http://localhost:1935/?ACTION=stream&PROGTYPES=radio&PID=[PID]&MODES=flashaudio\
  &OUTTYPE=nnn.flac"

***PLEASE REWRITE THE DOUBLE QUOTES – this blog mangles them***

The valid [PID]s for any programme type can be determined by running:

get_iplayer –info [usual search terms]

Update (July 30th 2009): I changed SEARCH= to PID= in the latest version…Also updated to use new cmdline options. Also now works in Windows with the latest Automated Installer.
Update (September 18th 2009): I changed streaming URLs for the latest version.

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 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>’ –stream | mplayer -cache 512 –

OR

get_iplayer –pid ‘tv:<URL>’ –stream | vlc –

Or to record an embedded video (all OSes):

get_iplayer –type=tv –url='<URL>’

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

The ‘modes’ used by the BBC embedded media player streams in ‘flashnormal’ so you may need to add ‘–modes=flashnormal’ if you don’t normally have that in your mode 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 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.

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
Apr 16 2009

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.
Mar 17 2009

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

WordPress Themes