Installing Get_iplayer on Raspbian on the Raspberry Pi
Update 15 November 2016
Installing latest Get_iplayer instructions here…
https://raspi.tv/2016/get_iplayer-on-raspberry-pi-update-november-2016
Update 5 November 2014
Installing latest Get_iplayer instructions here…
https://raspi.tv/2014/get_iplayer-raspberry-pi-update
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…
- no need to rpi-update
- 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
confirm install without verification
y
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
to confirm install of the libraries required to build rtmpdump, which we’re going to do next.
y
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.
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.
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.
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.
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
Can report that this works beautifully now on Raspbian. Thanks Alex.
Excellent – thanks for the feedback :-D
[…] 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. […]
[…] If you have the Raspbian Wheezy Raspberry Pi release you need to click here and use these different instructions. […]
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.
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.)
Thanks Chris, I’ve corrected that. Must have chopped it off when copy/pasting.
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. :-)
Your tutorial was absolutely spot on, worked without any glitches. Thanks!
Great stuff – enjoy using it. :)
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
andsudo 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. :-)
Yes it works, and if I could work out why my USB stick isn’t being mounted then I’d be finished!
[…] https://raspi.tv/2012/get_iplayer-installation-on-raspberry-pi-with-raspbian […]
[…] (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 […]
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.
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
FANTASTIC. The first thing I have done with my RPi….the first thing like this Ihave ever done…..and it works! Excellent instructions. Thanks.
You’re welcome. I’m delighted to hear it works for you :)
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 :(
I decided that something had gone awry with the rtmpdump component, deleted it and reloaded it. That did the trick. Thanks for the tutorial, an interesting introduction to the pi.
Excellent! :)
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.
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?
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.
That looks more like an internet connection error. Does it happen repeatedly over a period of hours?
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 ;)
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
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 :(
oooops my bad …. using ect instead of etc in the line before. anyone else make that mistake? :struggle:
I’m sure LOTS of people have. If only the computer knew what we meant :)
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.
Thanks to Alex for the great instructions and to Russell for getting me over the final hurdle. Everything working fine now.
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. :)
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 :(
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.
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)
Hey thank you so much for taking the time and effort to put this post together.
. very appreciated
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
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). :)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
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!
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!
I got an error(
make: *** No targets specified and no makefile found. Stop.
) using the original instructions in the article, but then I triedsudo 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.
Worked first time! Found this really useful – thank you.
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
I’ve sent you a email Johan.
In RaspBian è possibile inserire alla fine del bootloader, prima di entrare nella finestra grafica, una richiesta del tipo:
“Vuoi fare l’aggiornamento del sistema? (Y/N)”
dove rispondendo con Y SI dovrebbero eseguire i seguenti comandi
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot
se invece si risponde N il bootloader dovrebbe entrare nella finestra grafica.
Come si fà?
———————————————————————————————————
In RaspBian can be inserted at the end of the bootloader, before entering the graphics window, a request like:
“Do you want to upgrade the system? (Y / N)”
where responding with Y SI should run the following commands
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot
but if you answer N bootloader should enter in the graphics window.
How you doing?