Posts tagged: live radio

Jul 22 2009

Stream High Quality AAC BBC iPlayer Radio and Live Radio to your Squeezebox


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 09 2009

get_iplayer gets Live BBC iPlayer Stream Support

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

WordPress Themes