Category: General

Jul 24 2009

This is a follow-up to the post a few days ago. It is now much easier to get those AAC streams on your SqueezeBox.
It is now possible to navigate and play the High quality (up to 192kbps) AAC BBC iPlayer Radio and Live Radio streams on your Squeezebox by mean of an OPML playlist.

Just add the following URL to your favourites in SqueezeCenter and then navigate to the Favourites on the SqueezeBox remote an you will see a three-level menu of Channel -> Programme Name -> Programme for iPlayer Radio. You need to be running get_iplayer PVR Manager v0.24 or later. This has only been tested on Linux and may work on OSX and Windows.

http://[SERVER IP]:1935/opml?PROGTYPES=radio&MODES=flash,iphone&LIST=channel

To list all the Live iPlayer Radio channels add this to your SqueezeBox favourites:

http://[SERVER IP]:1935/opml?PROGTYPES=liveradio&OUTTYPE=wav

Finally, to only show those numbered BBC Radio stations:

http://[SERVER IP]:1935/opml?PROGTYPES=liveradio&MODES=flash&SEARCH=%20\d&OUTTYPE=wav

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

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 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>’ –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.

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

WordPress Themes