I couldn’t find a really simple guide that explains how to download TV and Radio shows from the iPlayer using get_iplayer so I thought I would write one. get_iplayer can do a lot of things including streaming and PVR style recording and other guides that I have found seem to focus more on that sort of thing. This will be much more basic and concentrate on one simple task.
This guide explains the process in Xubuntu Linux but will work in any other flavour of Ubuntu, for example Kubuntu, Lubuntu or the main Ubuntu version. It will also work in Linux Mint. The process is likely to be very similar in other distros like Debian, Fedora and OpenSUSE but I haven’t tried it.
There is a Windows version of get_iplayer and I would imagine that the commands are the same but again I haven’t tried it.
It is possible to use a proxy with get_iplayer to enable you to download content from the iPlayer from outside the UK. I won’t be covering that.
Open a terminal and type:
sudo apt-get install get-iplayer
Please note the dash (get-iplayer) rather than underscore (get_iplayer). Installation is the only time a dash is used. After this it will always be an underscore.
Enter your password and then say yes.
First you need to decide where you want to save the file that you will be downloading. If you are happy to save it to your home folder then you just need to open a terminal and run the relevant command. Otherwise you will have to cd to the folder where you want to save it first. Some distros and desktop environments have a right click “open terminal here” option which saves a bit of time. This is among the many reasons that I like Xubuntu.
Once you have the terminal open in the correct folder you need to copy the URL of the programme. The easiest way to do that is to go to the page where you would normally watch the show and copy everything in the address bar. It should look something like this:
The only part of it that get_iplayer actually needs is the pid (programme ID). In this case it is b03bvsw2. It makes no difference if you use the whole URL and it is probably easier so I will be doing that in this tutorial.
The command that you need to type into the terminal is the following:
get_iplayer --raw --modes=flashhd --pid=http://www.bbc.co.uk/iplayer/episode/b03bvsw2/David_Attenboroughs_Rise_of_Animals_Triumph_of_the_Vertebrates_Dawn_of_the_Mammals/
(To paste things into the terminal you need to either right click paste or Ctrl+Shift+v)
The –raw part means that it won’t convert the file that it has downloaded. You will get a file that ends .flv and can be played in VLC (and many other media players including MX Player on Android). My rule is that if VLC will happily play it, there is no need to convert it. Should you want to convert the resulting file, I suggest either Handbrake or VLC.
The –modes=flashhd part is where you specify which stream you will be saving. In order of best quality to worst quality you have the following options: flashhd, flashvhigh, ,flashhigh, flashstd, flashnormal, flashlow. I generally go for flashhd or flashvhigh for programmes that are not available in 720p.
After the –pid= you can either paste the full url or just the pid which in this case would be b03bvsw2.
If you get an error about the pid already being in the cache (most likely because you have downloaded the programme before) then you will need to add –force to the end of the command so it looks like this:
get_iplayer --raw --modes=flashhd --pid=www.bbc.co.uk/iplayer/episode/b03bvsw2/David_Attenboroughs_Rise_of_Animals_Triumph_of_the_Vertebrates_Dawn_of_the_Mammals/ --force
Sometimes I find that there are interruptions in the download and usually it will just automatically resume but occasionally the file will become corrupted and the download will fail part way through. You will know that this has happened if the downloaded file still ends .partial.flv (it will look like this while it is downloading). If this happens, the easiest thing to do is delete the file and then rerun the command with –force added.
The process is very similar for radio downloads. Again go to the page where you can play the show in question and copy the URL. Open a terminal and type the following:
get_iplayer --raw --modes=flashaacstd --pid=www.bbc.co.uk/iplayer/episode/b03bfkbg/The_Archers_25_09_2013/
You have a few –modes= options. I’m not that experienced with radio downloads but you can chose from flashaaclow, flashaacstd, rtspaaclow and rtspaacstd.
The resulting .flv file isn’t much use so I suggest using Audacity to convert it to flac, ogg or mp3.
Full featured Linux distros like Linux Mint, Ubuntu, or Fedora are an ideal alternative to Windows or Mac OS X on a modern laptop or desktop computer but not everyone is fortunate enough to have the latest hardware so sometimes a lighter alternative might be more suitable. There are loads of Linux distros out there and a lot of them can be run on extremely old hardware, often with surprising success. This is a summary of some of the lightweight Linux distros and desktop environments that I’ve tried.
The main full featured (or big and bloated) desktop environments are Cinnamon (first developed for use in Linux Mint), Mate (a fork of Gnome 2), Gnome 3 (default in Fedora), Unity (first developed and used in Ubuntu) and KDE. I might go into why I don’t use any of those at some point in the future but for now I will be ignoring them.
One step down in weight is Xfce. This is what I use on even modern machines that are well capable of running heavier environments. Although it started as a lighter alternative to Gnome, it has steadily increased its footprint and feature set to the point where it is entirely usable as part of an everyday operating system. It’s extremely customisable and can be made to look enough like good old Windows XP to keep me happy. It’s also possible to make it look completely different with docks or by positioning the panel(s) where ever you want them.
To install it on Ubuntu you have two options. Pure Xfce or Xfce with a few tweaks in the form of Xubuntu. Personally I prefer Xubuntu.
For pure Xfce open a terminal and type
sudo apt-get install xfce4
For Xubuntu type
sudo apt-get install xubuntu-desktop
Once it’s installed just log out and then choose Xfce from the session menu.
The same goes for other desktops.
LXDE (Lightweight X11 Desktop Environment) is another step down in weight. In my opinion it is just as usable as Xfce but runs that little bit faster using fewer resources. The only reason that I don’t use it is that I settled on Xfce before I had heard of LXDE and I fear change. I am the type of person who finds something they like and sticks with it. Again it is very customisable and by default looks somewhat like Windows XP in terms of layout. Admittedly it does look a bit old school in its default state but you can change the look and feel very easily to suit your taste.
LXDE was chosen as the default desktop for Rasbian which is the main officially supported distro for the Raspberry Pi.
Again to install LXDE on Ubuntu you have two options, pure LXDE and Lubuntu.
sudo apt-get install lxde
sudo apt-get install lubuntu-desktop
Fluxbox is a window manager that is very minimal and very lightweight. It does have a taskbar by default but the only way to access programs is to right click on the desktop which brings up a menu. Although it is possible to customise it quite a lot, doing so involves editing configuration text files rather than using a GUI. I wouldn’t really recommend it.
To install it on Ubuntu:
sudo apt-get install fluxbox
Very similar to Fluxbox, indeed originally sharing the same roots, Openbox is even more minimal. After installing it on Ubuntu and logging into it, you are met with a plain grey screen. Again right clicking brings up the menu. It’s possible to install panels and docks but again it involves editing config files. Thankfully there are graphical configuration tools to make it easier. LXDE uses Openbox as a base and this shows that it doesn’t have to just be a blank screen. In a choice between Openbox and Fluxbox, Openbox wins hands down.
To install it in Ubuntu:
sudo apt-get install openbox
If you have LXDE installed, Openbox will already be installed.
Tiling window managers
There are lots of tiling window managers but the whole concept doesn’t appeal to me at all. Some of them are extremely lightweight so I am giving them a brief mention.
There are a myriad of other desktop environments and window managers but I don’t have time to investigate them all.
There are a number of Ubuntu variants that each come with a different desktop environment that has been customised. There are also derivatives of those variants.
For Xfce there is Xubuntu.
For Openbox there is CrunchBang which was originally based on Ubuntu but has since moved to Debian (which is what Ubuntu and all of its derivatives use as a base). Although I haven’t used it for a while, my memory is that it is a really usable distro if you want something really light that can run on old hardware.
Then there are some other lightweight distros. From here on we are entering hobbyist territory. I wouldn’t recommend any of the following for day to day use for various reasons.
Puppy Linux is a distro that runs from RAM. It is possible to install it to a hard disk but it is not recommended. The .iso file isn’t much more than 100MB which is pretty small compared to Ubuntu and Mint which are around 1GB. I used it quite a lot 4 or 5 years ago and used to really like it. It was really fast and allowed me to resurrect an ancient IBM Thinkpad A20m (originally running Windows 98) into a machine that was capable of browsing the web and even watching the odd video.
When I decided to write this piece I thought I would have good things to say about Puppy but alas not. It seems that since my last dealings with it, there has been major fragmentation within the project. There are now two websites (puppylinux.org and puppylinux.com), one being called the official site (.com) and the other being called the community site. Both sites have various versions that are compatible with Ubuntu packages and Slackware packages but there seem to be different version numbers of each on each site. Obviously I could investigate this properly and try the various versions but I don’t want to. The nature of free/open source software means that there will always be fragmentation but I think that they should clarify their version system.
I tried two Ubuntu compatible versions and although they had different colours and desktop backgrounds and had slightly different menus, they struck me as broadly similar. I very briefly tried to connect to my wireless network but the wizard failed. Again I could have tried harder like I did back in the day with my Thinkpad but instead I just plugged in my ethernet cable. This time the wizard worked.
One program that I always try to install when I try a new distro is VLC. I do that for two reasons. Firstly it is a great media player that will play almost any video file, regardless of codecs. The second is that it has a lot of dependencies and so it is a good test of distro’s packaging system. Debian (and thus Ubuntu/Mint etc.) uses APT which is a very clever solution to the problem of dependencies. I am used to typing in one command to refresh the list of available packages (apt-get update) and then one command to install a program (apt-get install vlc). I sometimes use the excellent GUI Synaptic, in which case I just click a button to refresh the package list and then search for, select and install the program. APT makes this process trivial.
With Puppy it is a different story. I admit that I don’t know enough about Puppy to install programs using the command line so I had to rely on GUI tools. I managed to find the package installer from with the menu (each version had it in a different place) and after searching for VLC I clicked on it. It attempted to install it but gave me an error, suggesting that I refresh the package list. The button to do that was two screens deep but I found it. Clicking it in one version caused it to start refreshing and then just freeze. At that point I gave up and tried the other version. I went through the same process only this time the package refresh worked. Slowly. Very slowly in fact. It must have taken about 15 minutes to complete the job. This wasn’t because of slow download speeds, it was because it processed each available package individually and there were an awful lot of individual packages. When it finally finished I installed VLC and it worked very well. I was able to stream a 720p video from my desktop machine and it played perfectly on full screen.
Overall I wouldn’t recommend Puppy for use beyond a bit of tinkering. One of the main reasons for that is that it doesn’t have users and instead always runs as root. Running programs like web browsers and email clients as root is a recipe for disaster so it strikes me as odd that the developers have taken this decision and stuck with it for the ten years of the project’s history.
Damn Small Linux
Once upon a time, DSL was the daddy of lightweight desktop Linux. At 50MB, it seemed like it wasn’t possible to make a functional operating system any smaller. A lot has happened since 2008 when it last had a stable release and quite frankly it has become irrelevant. I didn’t try the latest release candidate but version 4.4 that I tried seemed pretty terrible. That might sound harsh considering it is such a small .iso and there was a time when it seemed really impressive but now that Tinycore exists I just don’t have much time for it.
I couldn’t get wifi or ethernet working (admittedly I didn’t try very hard at all) and it wouldn’t even boot properly on my old test laptop. Without a network connection there wasn’t much I could do with it. It’s worth checking out briefly, maybe the newer release candidate is much better. Maybe I will revisit it if that ever becomes a stable release. I didn’t use it long enough to work out how to take a screenshot but there are a couple on the project’s website (1 and 2)
Originally derived from Damn Small Linux, Tinycore takes it to the next level. There are 3 versions which are clearly explained on the website. As this is about desktop Linux I will ignore the smallest one which at 8MB only has a command line interface. The 12MB version (called Tinycore) contains just enough to boot to a desktop and install programs. There is also a 64MB version which comes with various programs and utilities.
I tried the 12MB version. It is remarkable that they have managed to develop a usable distro that is so small. By usable I mean I was able to install Firefox and VLC really easily and at least browse to my Desktop and stream a video. There was no sound and the screen resolution wasn’t right, despite my brief attempt to correct it. I’m really impressed with Tinycore and think that if I spent enough time with it I could customise it enough to do almost everything I can do with a fuller featured distro like Xubuntu. Unfortunately I don’t have the time so I won’t be doing that.
I highly recommend checking it out. It is after all a very small download that can be put onto a USB stick using Unetbootin. It definitely wins the prize for size vs usability.
If you have a modern machine and want it to work perfectly and absolutely fly then I recommend Xubuntu.
If you have a slightly older but still reasonable machine then I recommend Lubuntu.
If you have a machine that has seen better days then I recommend Crunchbang.
If you have an ancient machine or just like tinkering then I recommend Tinycore.
Obviously this is not an exhaustive list and there are hundreds of lightweight distros out there. This is just my round up of a few of them.
Also this round up is very Debian/Ubuntu centric. That’s because having tried most of the major distros, I believe Debian to be by far the best base and Ubuntu (minus Unity) to be the best overall distro.
First some disclaimers:
This is just the way I do this. It’s probably a lot easier with something like Samba.
I am assuming that you have some basic Linux knowledge and at least know how to open a terminal.
Although I use Xubuntu, this should work for Ubuntu and Kubuntu and probably for Linux Mint.
Please see the WARNINGS section at the bottom.
So what’s this about?
Apache is a web server that can do some very complicated things in conjunction with lots of other software but it can also be used on almost any computer to share files with other computers. This tutorial will show you how to set it up on your computer so that any files you want to make available can be viewed and downloaded to any computer (or tablet/smartphone) that is connected to your network (via ethernet or wifi). Those files will be read only, though. That means that other machines on the network will not be able to change anything on the computer running Apache. It’s a one-way process.
Keep in mind that Apache uses port 80. If that port is open, Apache (and therefore the files that you are sharing) will be accessible to the whole Internet. Port 80 should be blocked by default on most routers so unless you want to be able to access your files from outside your local network you should leave it that way. You can check that it’s closed using the Open Port Checker Tool.
Possibly the simplest step in the process is installing Apache. Open up a terminal and type
sudo apt-get install apache2
Enter your password, say yes and wait for it to download and install.
Then we need to see if it is working. To do that, open up a web browser (Firefox, Chrome etc.) and type localhost into the address bar. You should see a message saying “It works!”
So now you have to decide which folder you will be sharing on your network. I suggest creating a folder inside your home folder called www but it is entirely up to you where you put it and what you call it. I will give instructions for /home/joe/www
Again open up a terminal and type
Obviously replace joe with your user name.
Then you need to point Apache at the folder you have just created. This will involve editing a text file. There are loads of text editors but I like gedit. To make this tutorial easier I will be using gedit so you may as well install it (it’s pretty small):
Again in the terminal type
sudo apt-get install gedit
Once that is finished, type
sudo gedit /etc/apache2/sites-available/default
This should open up a text document with several lines of text. You need to edit two of those lines. Look for the following:
and change it to
Obviously change joe to your name.
Also look for
and change it to
Again, change joe to your name.
Save the text file and close it.
Now you need to restart Apache. Go back to the terminal and type
sudo /etc/init.d/apache2 restart
That should be Apache installed and configured. To check that everything has worked, copy some files into the www folder that you created (/home/joe/www). Then go back to your web browser and type localhost and you should see a list of the files that you have just copied into www.
Connecting to Apache from other machines:
In order to view and download the files that you have copied into www from other machines, you need to find out the IP address of the machine where you have installed Apache. A simple way to do this is to click on network manager and then connection information. Network manager is the small icon in the notification area (near the clock) that will either look like wifi waves or two arrows going up and down if you are connected via ethernet.
When you click Connection information you should see something like this:
Circled in red is the IP address of my machine. Yours will probably be similar but might be something like 192.168.1.4
Make a note of it because it is how you are going to connect to Apache from another machine. Doing that is very easy and you can check that it works by typing it (or copying and pasting it) into the address bar of your web browser. If you see the list of files that you copied into www (like you did when you typed localhost) then it is working. Now try typing the IP address into the address bar of the browser on another machine or phone and you should see the same list of files. You can then download them as if you are downloading them from the Internet. It should be much faster, though.
This IP address might well change when you reboot your computer or router so you might want to look into assigning your computer a static IP address in your router settings. If you are lucky it won’t change very often.
Following these instructions will make everything in your www folder accessible to any machine (and therefore person) on your network. If you are not the only person using your Internet connection (think about who connects via wifi for example) then assume that they can see and download everything in the folder that you are sharing (www). This is especially important to remember if you use public wifi or don’t have a decent WPA password on your own wifi access point.
Keep your software up to date. You should be doing this anyway but if you don’t do the security updates that are available, your system is potentially vulnerable. Having Apache running represents a large security risk if you don’t keep it up to date.
Open port 80 at your own risk. If you really want to access your files from outside your house there are far better ways to do it than running Apache. Google Drive and Dropbox are two examples.