Jul 202012
 

Installing Get_iplayer on Raspbian on the Raspberry Pi

Update 23 Jan 2013

Installing Get_iplayer just got a whole lot easier. Now all you have to do is type…

sudo apt-get update
sudo apt-get install get-iplayer ffmpeg atomicparsley libmp3-info-perl

You may still find some of the following information useful. I’ll leave it there anyway. ;)

Original post

Following on from my original two postings on get_iplayer, (for Debian Squeeze & wheezy distros for the Raspberry Pi), this is a set of instructions for the Raspbian release. It’s quite a bit simplified because…

  1. no need to rpi-update
  2. no need to compile FFMPEG as it’s been done for us

That’s a big plus because the FFMPEG compile took 3.5 hours. :)

Starting point assumptions.

I’m assuming that you have an internet connected Raspberry Pi with SD card booted up into a clean install of a Raspbian distribution you got from the Raspberry Pi downloads page. The current version at the time of writing is 2012-07-15-wheezy-raspbian.zip

If you have the Debian Squeeze Raspberry Pi release you need to click here and use these different instructions.

If you have the Debian Wheezy Beta Raspberry Pi release you need to click here and use these different instructions.

If, you’re on Raspbian, carry on with the instructions on this page. Let’s get started…

sudo apt-get update

This will update your packages and may take a few minutes.

Next we need to install git, which is a version control system we will need to access the latest versions of various packages.

sudo apt-get install git-core
y to confirm when prompted.

Install Packages

Now, let’s navigate to a known starting point

cd /home

and install a required perl package.

sudo apt-get install libwww-perl
y to confirm

We’re going to use git to get the files, install the get_iplayer files, then build (compile) and install rtmpdump from the latest source code.

rtmpdump is used for recording the iplayer stream. ffmpeg is used for remuxing (repackaging) the resulting flv file into an mp4 wrapper – which means we can view it on our Pi with Omxplayer or XBMC etc

Now you will need to get hold of the latest version of get_iplayer…

sudo git clone git://git.infradead.org/get_iplayer.git

This will create a new folder called get_iplayer in your /home folder. All the get_iplayer files are in this folder. Let’s go there…

cd get_iplayer

we need to make the get_iplayer file itself writeable or it won’t work properly, so…

sudo chmod 777 get_iplayer

This changes its permissions so it can be read, written to and run by anyone.

Let’s get back to our home folder so we know where we are.

cd /home

Now we’re going to edit a file which contains the sources of debian repositories. We’ll do this with nano – a text editor.

sudo nano /etc/apt/sources.list

Then use the cursor keys to get to line 2 and add…

deb http://www.deb-multimedia.org/ wheezy main non-free

Then
CTRL-X to exit
y to confirm you want to save
enter to confirm the filename (don’t change it)

sudo apt-get update

It will update some package lists and give an error. We’ll deal with that next…

sudo apt-get install deb-multimedia-keyring
y
confirm install without verification

Now the package update should work…
sudo apt-get update

Then edit sources.list again
sudo nano /etc/apt/sources.list

comment out (add a # at start of line) or delete
deb http://www.deb-multimedia.org wheezy main non-free
then add
deb-src http://www.deb-multimedia.org sid main
ctrl o
ctrl x

then
sudo apt-get update

sudo apt-get install libssl-dev librtmp-dev
y
to confirm install of the libraries required to build rtmpdump, which we’re going to do next.

I got an error message that libssl-dev is already the newest version but it installed a bunch of other dependencies. You could happily omit libssl-dev from the above command if you wanted to.

Build and Install rtmpdump

Make sure we are still in the home folder.

cd /home
sudo git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump
sudo make SYS=posix

You will now see a some lines starting “gcc -Wall” and the process will take a few minutes. When it finishes, you’ve just compiled the latest version of rtmpdump. Now we need to install it…

sudo make install SYS=posix

You should then see some lines starting “cp” and “mkdir” as the files are copied over to their new homes. You have now compiled and installed rtmpdump. Congrats ;)

Test with
rtmpdump -v
to check you are running the latest v2.4 (at the time of writing). Ignore the hostname error. We’ve got what we wanted. Onward.

Install FFMPEG

sudo apt-get install ffmpeg

Now we need to comment out the second addition we made in sources.list

sudo nano /etc/apt/sources.list

Add a # a the start of the following line. Change…

deb-src http://www.deb-multimedia.org sid main

…to…

#deb-src http://www.deb-multimedia.org sid main

Or you can delete that line altogether if you prefer, but don’t touch line 1. ;)

sudo ldconfig

So we don’t stumble across permissions issues, if you are going to be logging in as a normal user (pi) rather than root, we need to give ourselves ownership of these directories…

sudo chown -R pi /home/get_iplayer

Now your installation is finished, let’s try it out.

Automated Installation Option

Mark Williams has kindly provided a bash script which goes through this installation process. He has tested it, but I haven’t had time (although I have looked through it). You may choose to have a go with it at your own risk. You can download it here (You will need to unzip it and make it executable before it will run) chmod +x raspbian_get_iplayer_inst.sh.

Starting using get_iplayer

Go to your get_iplayer directory

cd /home/get_iplayer
then
./get_iplayer
If it tries to update and gives an error message, make sure you have full permissions on the get_iplayer script file
sudo chmod 777 get_iplayer

Run get_iplayer and once it’s finished updating plugins etc. It will update the program list. You’ll know when that happens you will see about 1000 programmes displayed.

part of get_iplayer program list

part of program list

Then you use it like this.
./get_iplayer keyword (substitute keyword for a keyword in a programme title)

This will result in a list of programmes (or none) with that keyword in. Make a note of your chosen programme’s ID number e.g. 460

Then, to download programme 460, type this

./get_iplayer --get 460 --modes=best

This will download the program at the best available resolution to your get_iplayer folder on your SD card, which you probably don’t want. I generally put my downloads on a USB memory stick. You can redirect the download wherever you like using…

-o /path/to/file-destination

so for me, with a USB stick mounted at /media/usbstick, the full command would be…

./get_iplayer --get 460 --modes=best -o /media/usbstick

To mount a USB flash drive/memory stick or other device click here for the procedure

Optional – Adding the browser-based PVR to your startup

There is a browser based Personal Video Recorder (PVR) function that should only be used if you are not running a web server on your Pi. If you want to run this PVR, just type…

perl /home/get_iplayer/get_iplayer.cgi --port=1935 --getiplayer=/home/get_iplayer/get_iplayer

Then you can access the PVR using a browser on another computer on your network with the following url…
http://<IP address of your raspberry pi>:1935

So if your IP address is 192.168.0.107, the URL would be http://192.168.0.107:1935

If you want this to happen automatically at startup, you can add the line…

perl /home/get_iplayer/get_iplayer.cgi --port=1935 --getiplayer=/home/get_iplayer/get_iplayer

…to the file /etc/rc.local, just before the exit 0

sudo nano /etc/rc.local
just above exit 0, add the line
perl /home/get_iplayer/get_iplayer.cgi --port=1935 --getiplayer=/home/get_iplayer/get_iplayer
CTRL+o
<ENTER>
CTRL+x
sudo reboot

Then when the Pi has rebooted, in your browser on another computer connected to the local network, go to…
http://<IP address of your raspberry pi>:1935

Well done and happy recording

I hope this has helped you learn how to install get_iplayer on the Raspberry Pi. Enjoy using it.

  100 Responses to “Get_iplayer installation on Raspberry Pi with Raspbian”

  1. Thanks for the update, but I am having problems with ffmpeg.

    Download complete
    INFO: Command exit code 2 (raw code = 4)
    WARNING: flv conversion failed – retaining flv file

    I installed from a clean install of Raspbian using the script below, which seems to build OK, but I can’t see why ffmpeg crashes,

    #!/bin/bash
    cd ~
    #
    sudo rm -rv /home/get_iplayer/* > /dev/null
    sudo rm -rv /home/get_iplayer/.git/* > /dev/null
    sudo rmdir /home/get_iplayer/.git > /dev/null
    sudo rmdir /home/get_iplayer > /dev/null
    #
    sudo rm -rv /home/rtmpdump/* > /dev/null
    sudo rm -rv /home/rtmpdump/.git/* > /dev/null
    sudo rmdir /home/rtmpdump/.git > /dev/null
    sudo rmdir /home/rtmpdump > /dev/null
    #
    MYSRCS=”/home/pi/sources.list”
    SRCDIR=”/etc/apt/”
    SRCSFILE=”/etc/apt/sources.list”
    NEWSRC1=”deb http://www.deb-multimedia.org/ wheezy main non-free”
    NEWSRC2=”deb-src http://www.deb-multimedia.org sid main”
    #
    cd /home
    #
    # install a required perl package.
    #
    sudo apt-get install libwww-perl -y –force-yes
    #
    # install git, a version control system we need to access the latest versions of various packages.
    #
    sudo apt-get install git-core -y –force-yes
    sudo apt-get update -y –force-yes
    #
    cd /home
    #
    # get the get_iplayer code and put it in /home/get_iplayer
    #
    sudo git clone git://git.infradead.org/get_iplayer.git
    #
    # get the rtmpdump code and put it in /home/rtmpdump.
    #
    sudo git clone git://git.ffmpeg.org/rtmpdump
    #
    # ‘install’ the get_iplayer code – we need to give ourselves ownership and make the get_iplayer file writeable
    #
    sudo chown -R pi /home/get_iplayer
    sudo chmod 777 /home/get_iplayer/get_iplayer
    #
    # rtmpdump is used to record the iplayer stream
    #
    sed ‘s\'”$NEWSRC1″‘\\g’ $SRCSFILE | sed ‘s\'”$NEWSRC2″‘\\g’ | sed ‘/^[ ]*$/d’ | sed ‘$a\'”$NEWSRC1″ | sed ‘$a\'”$NEWSRC2″ > $MYSRCS && sudo mv $MYSRCS $SRCDIR
    #
    cat $SRCSFILE
    #
    sudo apt-get update
    sudo apt-get install deb-multimedia-keyring -y –force-yes
    sudo apt-get update
    #
    sudo apt-get install libssl-dev librtmp-dev -y –force-yes
    sudo apt-get update -y –force-yes
    #
    cd /home/rtmpdump
    sudo make SYS=posix
    sudo make install SYS=posix
    sudo chown -R pi /home/rtmpdump
    #
    # check rtmpdump is installed but ignore the hostname error.
    #
    rtmpdump -v

    #
    # install ffmpeg
    #
    sudo apt-get install ffmpeg -y –force-yes

    #
    # Configure Dynamic Linker Run Time Bindings.
    #
    sudo ldconfig -p -v

    #
    # remove the changes we made to sources.list
    #
    sed ‘s\'”$NEWSRC1″‘\\g’ $SRCSFILE | sed ‘s\'”$NEWSRC2″‘\\g’ | sed ‘/^[ ]*$/d’ > $MYSRCS && sudo mv $MYSRCS $SRCDIR
    #
    cat $SRCSFILE
    #
    # Remove packages we don’t need any more
    #
    sudo apt-get autoremove -y –force-yes
    cd ~
    #/home/get_iplayer/get_iplayer

    • Where did your ffmpeg install come from. Can you remember? Mine came from the raspbian repository. Is it possible yours came from deb-multimedia? If so, it might have installed the wrong version. That’s all I can think of, unless somehow your script changed things in some way I can’t understand?

      I’ve already used it on 3 programmes. One was HD and ffmpeg worked fine for me.

  2. A few people on the forums have noticed issues with FFMPEG. Racking my brains to figure out what this could be, the only thing I could come up with was that I had written in the blog a slightly different procedure for the changes in sources.list to simplify it. I thought it wouldn’t make a difference because FFMPEG seemed to be installed from the Raspbian repo anyway. But perhaps it did? The above now represents exactly what I did and the exact order in which I did it. (Good job I kept precise notes). Hope it works for everybody now. :) drgeoff has confirmed that the new procedure works with the above instructions.

  3. My error. I got the wrong entries in sources.list
    If you want a script that installs everything unattended into a clean wheezy/raspbian install I can post it here.

    • No. I think you had what I originally put (which I’ve now changed because it broke the install). I’d tried to simplify things from what I actually did and it messed up the FFMPEG install. My bad. Now it works ok. If your script now works, I’d be delighted to host it here. You can send me an email at alex(AT)raspi.tv if you like and we can figure out the best way to do this. :) :-D

  4. Can report that this works beautifully now on Raspbian. Thanks Alex.

  5. [...] If you have the Raspbian Wheezy Beta released on 15 July 2012, the instructions are different, click here to go to the Get_iplayer Raspbian Wheezy installation instructions. [...]

  6. [...] If you have the Raspbian Wheezy Raspberry Pi release you need to click here and use these different instructions. [...]

  7. A little tweak. I’m leaving it here as much for a reminder to myself as anything ;)
    If you find the file naming convention a bit annoying, you can change it.

    ./get_iplayer –prefs-add –file-prefix “<name> – <episode>”

    this will get rid of the “8hfdkjgh_default” at the end of each filename. I’ve left episode in just in case I ever want to record a series. If you only ever download one-offs, you could omit that. But then if you do record a series, episode 2 will overwrite episode 1 etc.

  8. Works brilliantly – thank you. For the PVR function, you just need to amend the “perl” lines to:

    perl /home/get_iplayer/get_iplayer.cgi –port=1935 –getiplayer=/home/get_iplayer/get_iplayer

    (Otherwise you will get an error message that get_iplayer cannot be found.)

  9. Thanks for doing this Alex!

    I had it up and running on my squeeze image until today when doing an ‘rpi-update’ made it unbootable… I’ve just spent the afternoon reinstalling everything on raspbian… so glad to discover you documented how to do it on raspbian :yes:

    • Glad it still works after all the updates. 8-)
      I bought the MPEG2 codec the other day and updated/upgraded and rpi-updated everything. Was delighted that everything still worked after that. The only thing i had to mess about with was the wifi dongle. :-)

  10. Your tutorial was absolutely spot on, worked without any glitches. Thanks!

  11. I followed these instructions on a fresh install of Raspbmc this morning, but before I could build rtmpdump I needed to:

    sudo apt-get install make and sudo apt-get install gcc

    (I did also try the .sh script since it looked like a 1-1 match for your instructions but it broke my sources.list)

    Thanks for the effort of doing this and writing it up!

    • I guess Raspbmc isn’t set up for compiling stuff right out of the (X)box :p

      Have you got get_iplayer working on your RaspBMC install though? It sounds as if you have. :-)

  12. [...] (the default username is ‘pi’ and the password ‘raspberry’), and set about installing get_iplayer using these instructions. I had to also install make and gcc before rtmpdump would build but other than that it all worked [...]

  13. Having tried this it failed. I tried again on a fresh install and when I added deb http://www.deb-multimedia.org/ wheezy main non-free to my sources I get:
    pi@raspberrypi /home $ sudo apt-get update
    Hit http://archive.raspberrypi.org wheezy InRelease
    Hit http://mirrordirector.raspbian.org wheezy InRelease
    Get:1 http://www.deb-multimedia.org wheezy InRelease [32.8 kB]
    Hit http://archive.raspberrypi.org wheezy/main armhf Packages
    Ign http://www.deb-multimedia.org wheezy InRelease
    Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages
    Get:2 http://www.deb-multimedia.org wheezy/main armhf Packages [89.8 kB]
    Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages
    Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages
    Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages
    Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
    Ign http://archive.raspberrypi.org wheezy/main Translation-en
    Get:3 http://www.deb-multimedia.org wheezy/non-free armhf Packages [1,298 B]
    Ign http://www.deb-multimedia.org wheezy/main Translation-en_GB
    Ign http://www.deb-multimedia.org wheezy/main Translation-en
    Ign http://www.deb-multimedia.org wheezy/non-free Translation-en_GB
    Ign http://www.deb-multimedia.org wheezy/non-free Translation-en
    Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
    Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
    Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
    Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
    Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
    Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
    Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
    Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
    Fetched 124 kB in 1s (85.8 kB/s)
    Reading package lists… Error!
    W: GPG error: http://www.deb-multimedia.org wheezy InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907
    E: Problem parsing dependency Depends
    E: Error occurred while processing google-gadgets-common (NewVersion2)
    E: Problem with MergeList /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
    E: The package lists or status file could not be parsed or opened.

    Then I tried:
    pi@raspberrypi /home $ sudo apt-get install deb-multimedia-keyring
    Reading package lists… Error!
    E: Problem parsing dependency Depends
    E: Error occurred while processing google-gadgets-common (NewVersion2)
    E: Problem with MergeList /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
    E: The package lists or status file could not be parsed or opened.

    Can anyone offer any help?

    • Maybe something’s broken? I haven’t tried on a new fresh install since they first brough out Raspbian at the end of July. You might not need that part if RTMPdump and FFMPEG are in the official Raspbian repos now. Try going ahead without and see if it helps. You only need to post that part of the error message which is an error or you’ll soon clog up the comments section. :laugh:

      • Sorry for the delay, but I’ve been away without time to fiddle with my RasPi.
        I think I broke something else somewhere, as everything seemed to go wrong after this point. I’ll try again shortly.

  14. Its such a pleasure to have a complete set of instructions that actually work as documented – pretty essential for us newbies stumbling about in the darkness.

    Did the instal, scanned and downloaded and then played in omxplayer a one episode of eastenders. Im using the “debian wheezy raspbian 18 09 2012″ release. Had a few problems with a poor wifi connection, you know the old spinning wheel when there isnt enough bandwidth watching the iplayer but it restarted and resumed where it left off. Very impressive.

    Great job, worked perfectly and very good video quality too!

    Now to sus out the pvr functionality to effectively replicate recording a whole series.

    Cheers and thanks Cogarooni!

    • You’re very welcome. :) Glad it worked well for you.

      • Now im running into trouble with PVR from the command line/crontab and despite hunting about cant make head nor tale of a variety of helpful stuff or from reading the documentation for get_i*.

        Running ./get_iplayer –pvr directly from the command line works a treat, my Pi works its socks off (I was trying to think how a pi would work hard sorry) to run the searchs set up in the PVR find out what I have already downloaded and then download the new files.

        However when trying to set up the crontab with what appears to be exactly the same command ie path to geti*/get_iplayer –pvr absolutely nothing seems to happen.

        Any help or hints in the right direction would be much appreciated :-))

        This is the PVR searches, one is for the main strictly show and the second is for the it takes two – ok not exactly exciting but the wife likes it.

        All PVR Searches generated from get-iplayer –pvr-list:

        pvrsearch = Strictly
        search0 = Strictly Come

        pvrsearch = Take_two
        search0 = Strictly – it

        The relevant section of the crontab is as follows. The time is a bit odd as I was experimenting with it. I believe this would fire up the pvr 10 mins past 1am, 4pm, 5pm and 8pm every day.

        10 1,16, 17,20 * * * /home/get_iplayer/get_iplayer –pvr

        Much appreciate any help anyone can give me.

        Cheers M

        • That’s out of my area of expertise as I don’t use the PVR functions. Have you tried the get_iplayer mailing list? Or perhaps someone else will come along and help you out?

          • Ive searched the mailing list and not found anything useful unfortunately. Ill post same message there and hopefully some one will be able to help me out.

            Cheers Cogs

          • I have exactly the same issue, even creating a script and getting cron to run the script does not help :(

        • The following crontab line works for me:

          34 * * * * cd ~/get_iplayer; ./get_iplayer –pvr

          (I downloaded get_iplayer into /home/pi/get_iplayer)

          Also, there’s no real need to build rtmpdump at all, you can use flvstreamer instead:

          sudo apt-get install flvstreamer

  15. FANTASTIC. The first thing I have done with my RPi….the first thing like this Ihave ever done…..and it works! Excellent instructions. Thanks.

  16. Thanks for that. Even worked for a Linux virgin.

    However everything went fine until the actual program download. At which point trying the various flsh/head/high/low each attempt failed with ‘required program flvstreamer does not exit, see . . ‘

    Any ideas?

    • Is that after the download? Or does it fail to download altogether?

      • It’s right at the end, on attempting to download the selected BBC programme. The download tries a number of approaches (I assume looking for the best fit) and each such attempt fails due to not being able to find flvstreamer.

        • I seem to remember from the dim and distant past that this issue came up when I didn’t have read/write access to the media I was trying to save on or something like that. You might need to consult the guys on the get_iplayer mailing list as I think we’ve reached the extent of my knowledge here :(

  17. When setting up the PCR in rc.local I think you want to add:

    “su -u pi perl ……”

    otherwise the PVR runs as root and you get differing PVR files compared to the command line.

  18. tried this out and was going swimmingly along following your step then got stuck at

    deb http://www.deb-multimedia.org wheezy main non-free
    then add
    deb-src http://www.deb-multimedia.org sid main
    ctrl o
    ctrl x

    Now im stuck, please help

    • Put yourself in my place. Think carefully how anyone could possibly help you with just the information you have given.
      “I’m stuck” doesn’t give me any information about how to help you.

      In what way are you stuck?

  19. Hi Alex,
    I’ve followed your fine instructions and everything worked as expected with no errors. However, whilst ./get_iplayer successfully lists the available programmes, when I try and download any of them, the download fails. There don’t appear to be any helpful error messages, it just tries numerous times at different quality levels (e.g. flashhigh1, flashhigh2 etc.) each one with a corresponding WARNING: Failed to stream file and ‘WARNING: Your version of flvstreamer/rtmp dump does not support SWF Verification’ and the final line is ‘ERROR: Failed to record ‘.
    The only oddity I can find is if I type rtmpduump -v I get the expected file version output but also a ‘Segmentation fault’ statement.
    Any help or guidance you can give would be greatly appreciated!

    • Where are you trying to save the downloaded file? You can sometimes get errors and seemingly random failures right at the start of the download if the pi doesn’t have permission to write in the directory it’s trying to write to.

      Can you give me the full exact command you typed please?

      • Thanks, you were quite correct about the permissions, I ran chmod on the get_iplayer folder again and that helped, unfortunately, I now get a different error:

        ERROR: Failed to get version pid metadata from iplayer site

        I’ve tried the following commands:

        ./get_iplayer –get 376 –modes=best

        ./get_iplayer –get 376 –modes=best -o /media/usbstick

        Both return the same error.

      • Hi, Alex,

        I was wondering if this problem was ever resolved as I have just started experiencing this same problem after upgrading to raspbian 2012-10-28 wheezy. I have had no problems with permissions as referred to in later posts and no occurrence of the error relating to version pid metadata. Followed the instructions to the letter.

        Help! …. :struggle:

        • Can you write files to your usb media ok?
          If you do ls -l of the directory above where your stick is mounted, who is the owner?
          Does it work if you try to save on the sd card?

          • I can read/write to the usb stick with no problems.
            All work is done under owner ‘pi’.
            It will NOT save to the SD card. No error other than the one about SWF verification …..

          • Alastair, I’m sorry but I think we’ve reached the extent of my knowledge and ability to help you on this. What I suggest is that you ask on the get_iplayer mailing list. They have some very clever people there (who helped me to get going with get_iplayer on the Pi). I haven’t played with get_iplayer on a distro more recent than July – as you can see from all my other posts on here, I’ve been quite busy with other things.

          • I’ve just attempted to build get_iplayer from scratch (again).
            After the 1st edit of /etc/aps/sources.list I run apt-get update and the following happens:

            pi@raspberrypi /home $ sudo apt-get update
            ————SNIP—————–
            Fetched 32.8 kB in 1s (26.0 kB/s)
            Reading package lists… Done
            W: GPG error: http://www.deb-multimedia.org wheezy InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907

            Any help?

          • I think that must be something to do with the deb multimedia keyring thing, but the guys on the get_iplayer list will sort you out better than I can. I haven’t stayed current with get_iplayer on the Pi since August. Sorry I can’t be of more help. :(

          • Hi Alex/Alastair,

            Ive built get_iplayer successfully twice now on my third attempt it fails at the same stage but I get a slightly different message.

            W: GPG error: http://www.deb.multimedia.org wheezy InRelease: File var/lib/apt/lists/partial/www.deb.multimedia.org_dists_wheezy_InRelease doesn’t start with a clearsigned message

            I checked the archive mailing list and couldnt see any post about this, just wondered if either of you had got anywhere with this problem?

            (Alex I tried posting earlier but couldnt for some reason post a message hence the testing message :-) so feel free to delete it )

            Cogs

            Cogs

          • I don’t know why you couldn’t post Cogs. But it seems to be OK now :)

            I haven’t played with get_iplayer on the pi since August. It’s possible that something’s changed since then that breaks the instructions. I’ve been too busy writing Gertboard software, making silly demos and fending off criticism about electrical safety to look at it since then ;)

  20. I’ve tried a couple of options:

    ./get_iplayer –get 376 –modes=best

    Which fails as described but I’ve now mounted a memory stick and typed:

    ./get_iplayer –get 376 –modes=best -o /media/usbstick

    which comes up with a different error:

    ERROR: Failed to get version pid metadata from iplayer site

  21. Help … complete newbie at this.

    seem to get stuck at the

    deb http://www.deb-multimedia.org/ wheezy main non-free

    Then
    CTRL-X to exit
    y to confirm you want to save
    enter to confirm the filename (don’t change it)

    when I follow these instructions I get this error

    Error writing /ect/apt/sources.list: No such file or directory

    I have little to no idea what is up :(

  22. Hi, excellent blog. However when I run
    ./get_iplayer –get 256 –modes=best (Eastenders 11/12/2012 also 252 and 253)
    I get the following response

    Matches:
    252: EastEnders Omnibus – 08/12/2012, BBC One, Drama,Soaps,TV, default

    —-SNIP—-
    WARNING: Your version of flvstreamer/rtmpdump does not support SWF Verification
    RTMPDump v2.4
    ERROR: Failed to record ‘EastEnders Omnibus – 08/12/2012 (b01p8szl)’

    • I won’t make any comments about get_iplayer having good taste in TV programmes. ;)

      A couple of people have recently reported this error.

      I don’t know what it is, so I suggest asking on the get_iplayer list.

      • The SWF Verification error is produced by get_iplayer when it cannot correctly parse the rtmpdump help file (it sends the command rtmpdump –help to the shell). This is caused in these cases as rtmpdump is returning a “segmentation fault” instead. You can see this where you type rtmpdump -v in the shell, or even rtmpdump -h which is what get_iplayer is trying to do.

        rtmpdump is having issues as it cannot correctly locate librtmp which (if my memory serves me correctly) should have been installed with rtmpdump. What you need to do is run the following command:

        export LD_PRELOAD=/usr/local/lib/librtmp.so.0

        which you would have to do everytime you log in or even better put this line into the file /etc/profile which will mean that it will be run at startup.

        If librtmp.so.0 is not in the folder above already it may be because it needs to be compiled and installed separately from rtmpdump. I happened to have done that already as one of my troubleshooting steps. If you need to, go to the librtmp subfolder in the rtmpdump source (should be /home/rtmpdump/librtmp if you followed the instructions above) then
        make
        then
        make install

    • Hi, I ran into the same problem, and after some digging worked out why, and have a somewhat hacky solution which at least has got me up and running.

      The problem is caused by the library librtmp.so. The rtmpdump distribution creates this library, and copies it into /usr/local/lib. BUT – the Raspbian distribution I have has its own librtmp.so, living in /usr/lib/arm-linux-gnueabihf (maybe this is only true with recent distributions?). And the system looks there first – so the one which we have just made is ignored. Clearly there’s an incompatibility, which causes the segmentation fault seen when you try a rtmpdump -v (It’s dumping as soon as it makes a call into the library).

      I’m sure there’s an elegant solution to this. My inelegant sledgehammer has been to delete the version in /usr/lib/arm-linux-gnueabihf

      sudo rm /usr/lib/arm-linux-gnueabihf/librtmp.so*

      (making a back-up of course!), then running

      sudo ldconfig -v

      to let the system know what libraries are where.

      And hey presto it works. If anyone has a better solution I’d love to hear it.

      Thanks Alex for the excellent instructions.

  23. Thanks to Alex for the great instructions and to Russell for getting me over the final hurdle. Everything working fine now.

  24. Really appreciate this site, struggled to get Get_iplayer to download till i reached the end of the posts – bingo – removed the library,reinstalled and all working!!
    Learn’t a few things alng the way….

    THANKS

    • It’s probably about time I went through the whole process again incorporating the latest tweaks into the main instructions. :)

  25. had getiplayer working but seem to have broken something.
    get following errorafter download

    INFO: Command exit code 2 (raw code = 4)
    WARNING: flv conversion failed – retaining flv file

    have tried deleting the get_iplayerand the rtmpdump folders and reinstalling from scratch
    still getsame error
    Any ideas please?

    • Oh no, I thought you’d fixed it :(

      I think the FLV to MP4 remuxing is done by FFMPEG, so removing get_iplayer and rtmpdump might not help, the trouble is, I don’t know what would :(

  26. A small tip…

    I schedule the following command to run every day (via crontab):

    find /mnt/get_iplayer \( -name *partial* -o -name *.flv \) -print

    so that I get an automatic alert if there are any shows which aborted/failed to fully download/convert on the last PVR run. Of course this requires your raspbian be able to send mail from crontab. You will need to modify the /mnt/get_iplayer path to your own specification.

  27. For all those of you with installation issues, I have just received some very good news from Jon Davies.
    All you need to do to install Get_iplayer on the Pi now is…

    sudo apt-get update
    sudo apt-get install get-iplayer ffmpeg atomicparsley libmp3-info-perl

    I’ve just tried it and my Pi is part way through its first download now. :)

    (yep – that works fine)

  28. Hey thank you so much for taking the time and effort to put this post together.
    . very appreciated

  29. Hi
    Have installed get_iplayer following your instructions and all seems well so far – thanks for the instructions

    I have been trying to add an enhancement which is launching the program from a desktop icon from the LXDE desktop.
    Have tried runing a number of options which I would have expected to do this in a desktop file with no success as follows:

    Key lines:-

    Exec= /home/get_iplayer/get_iplayer
    Terminal=true

    Also tried
    path=/home/get_iplayer/
    Exec= ./get_iplayer or get_iplayer (without the ./)
    Terminal=true

    No success in any of the instances above. Does anyone know if this can be done and if so how?

    • I don’t know much about LXDE. Anyone else?

    • You can launch the web interface from a desktop icon as follows:

      Create a desktop file:

      sudo nano /usr/share/applications/get_iplayer.desktop

      For it’s contents paste:

      [Desktop Entry]
      Name=GET_iPlayer
      Categories=Network
      Exec=sh -c “perl /usr/share/get_iplayer/get_iplayer.cgi –port=1935 –getiplayer=/usr/bin/get_iplayer & sleep 10 && midori localhost:1935″
      Icon=get_iplayer
      Terminal=true
      Type=Application

      Save and close the file (Ctrl + x, Y, Enter for nano)

      You should see the GET_iPlayer icon in your LXDE desktop menu, under “Internet”.
      I have used Midori as the browser – close any running instance of Midori before you click on the GET_iPlayer icon. Other tabs can be opened after get_iplayer page is running.
      Don’t forget to “Refresh Cache”!

    • Sorry, forgot to mention that the desktop icon I described above applies if you have installed get_iplayer by:

      sudo apt-get update
      sudo apt-get install get-iplayer ffmpeg atomicparsley libmp3-info-perl

      If you installed it as per blog Original Post, then make this line change in the desktop file:

      Exec=sh -c “perl /home/get_iplayer/get_iplayer.cgi –port=1935 –getiplayer=/home/get_iplayer/get_iplayer & sleep 10 && midori localhost:1935″

      Note: the new easier method of installing get_iplayer solved the “SWF Verification” problem that arose recently with my original installation – so I’m hoping it stays good.

    • Also forgot – create desktop file location different for original version:

      nano /home/pi/.local/share/applications/get_iplayer.desktop

  30. Me again

    Tried downloading a program this morning for the first time and got the error message a few others have seen:

    WARNING: Your version of flvstreamer/rtmpdump does not support SWF Verification
    RTMPDump v2.4
    ERROR: Failed to record ‘xyz -15/02/2013 adass’

    However can report that Russells solution (8th January – see above) removed the error message and the program duly started to
    download. Will report back later how I got on (did it fully download and play OK)

    Have a quick question. I note that we can now just run the following to install get_iplayer:

    sudo apt-get update
    sudo apt-get install get-iplayer ffmpeg atomicparsley libmp3-info-perl

    I tried this step before all others and although a lot of downloading appeared to take place I could not find the get_iplayer
    folder to run the program from. Any clues as to what I should have expected?
    PS: I am running Raspian (the latest Wheezy version) on a model B RaspPi

    • When you install it that way, you don’t need to be in a specific folder. You can then just run it using
      get-iplayer (note the hyphen rather than underscore). :)

  31. Not sure if something has changed in the install procedure under raspbian but the way I was able to get the perl script to run was by editing the line in question to be

    perl /usr/share/get_iplayer/get_iplayer.cgi --port=1935 --getiplayer=/usr/bin/get_iplayer

    Mark

  32. I’ve been running get_iplayer for a while now on a raspbmc install and it works great as a combined media player/pvr and even media server over nfs.

    However, I can’t for the life of me work out how to set the pvr to record only the future episodes of a particular series (either using the web interface or the command line).

    Anyone got a clue?

    Thanks!

  33. The install seems to go okay, but then Bash says it can’t find atomicparsley:

    atomicparsley libmp3-info-perl
    -bash: atomicparsley: command not found

    If I try to install atomicparsley, it says I already have the latest version. :-(

    Have I missed something?

    • Does it actually work? That’s the important point. :)

      • Thanks for replying, Alex.

        The short answer is I don’t know – I haven’t found any way to get it going. There’s no /home/get_iplayer directory, ./get_iplayer just gets another “command not found” error, and I don’t know what to try next.

        I don’t know whether it doesn’t work because of something I haven’t done, or did wrongly, or whether perhaps it might work if I knew how to run it. I should perhaps confess that I have this sort of experience with Linux quite often, which is why I hate it so much …

        • What happens if you use a hyphen instead of an underscore?

          • I tried both. The result is the same in either case:

            pi@neville ~ $ ./get-iplayer
            -bash: ./get-iplayer: No such file or directory
            pi@neville ~ $ ./get_iplayer
            -bash: ./get_iplayer: No such file or directory
            pi@neville ~ $

            I tried it initially on my NAS server then, when that didn’t work, on a virgin card written with the current Raspbian downloaded today and immediately upgraded.

            I must have misunderstood your post. I took it to mean that only the two steps under your January 2013 Update were necessary, but that is clearly not so. Perhaps I will have more joy if I ignore that and work through all the steps in the original post. I may try that tomorrow.

          • The trouble is they keep changing the OS, so what worked in Jan may not work now. :(

            The Get_iplayer mailing list is helpful. John now has a Pi himself so has done some Pi specific versions too of the bleeding edge versions. At Easter time he asked that we not make them public, but the details are there in the list archive if you need them. They might be ready for public viewing by now :)

          • Hi Alex

            For the record, I tried again this morning and followed the full procedure from your page. That worked, except that rtmpdump -v, reported a segmentation error. Get_iplayer runs and I have downloaded a radio programme, but tv downloads fail with:

            Your version of flvstreamer/rtmpdump does not support SWF Verification.

            Others are having the same problem: there is a thread here.

          • Sorry – forgot to say thanks for your help. Thank you!

  34. I got an error(make: *** No targets specified and no makefile found. Stop.) using the original instructions in the article, but then I tried sudo apt-get install get-iplayer ffmpeg atomicparsley libmp3-info-perl in the comments and it worked.
    Up until I tried to download a program, that is. I keep getting INFO: No specified modes (flashhd, flashvhigh,flashhigh,flashstd,flashnormal,flashlow) available for this programme with version 'default' (try using --modes=).
    I’m in the States, could this have anything to do with it?

    • Yes. You’ll need to use a UK based proxy server to get anything except radio.

      • Any guidance on how I could do that?

        • It’s usually something you have to pay for :(

          • I was looking at your article on using ffmpeg to convert video from the RPi’s camera, and in it you say that get_iplayer has made ffmpeg unsuitable for such a task. Did I understand that correctly? If so, how can one reverse that process?

          • That was just an unverified suspicion as to why it didn’t work. You could reinstall ffmpeg or uninstall get-iplayer.

          • Would the elaborate way of installing get_iplayer have any impact on how it would be uninstalled? Or is it just sudo apt-get remove get_iplayer?

          • I expect it would be different if you compiled it manually. I’m not entirely sure how to remove it in that case. I think there is a purge option for apt-get. That might be useful in this case. Sorry I can’t be of more help.

  35. Worked first time! Found this really useful – thank you.

  36. Dear Alex,

    You have made a piece of work that I`ve been looking for -for years.

    Now I spent 3 attempts (new fresh weezy SD 2 times). Failing on the same point every time.
    Warning: Your version of rtmdump/flvstreamer does not support SWF…

    RTMPDUMP is v2.4. My RPi`s VPN connection works fine. Everything updates as expected. I made every step in accordance to your instructions (RPi-wheezy way). But there is one little thing that I can not be sure of doing right, is the sudo ldconfig command. Is it supposed to be in the /etc/apt/sources.list? I don`t think so. But on the other hand -I could not see any feedback that something happened when I wrote this at the prompt.

    What can possibly go wrong. Many respond to you that everything works. I`d love to be one of them!

    Best regards
    JF

    • Didn’t you try doing it the easy way?

      sudo apt-get update
      sudo apt-get install get-iplayer ffmpeg atomicparsley libmp3-info-perl

      • Dear Alex,

        Yes. I did use “the easy way” –every time. (Reformatting the SD and dd’d the wheezy last two attempts). I only installed PPTP before “the easy way”.
        The error messages I get during installation are all the expected ones. (And as you write -they are being taken care of later on during installation).
        And the installation process you describe is straight forward and well written. Every step during installation feels right to me.

        Installing again does not feel like a solution. (my Raspbian is set to US translation – I doubt this is causing the problems).
        My experiences in computing: User and admin of several Unix OS’s since the late 80’s. But I’m as lost as a child on this one.

        Best regards
        JF

Leave a Reply