How to download BBC iPlayer videos and radio programmes

Abstract (Italiano): Scrivo questo articolo in inglese perché (ovviamente) la registrazione dei video della BBC interessa maggiormente le persone che parlano inglese. Se lasciate un commento, gentilmente fatelo in inglese.

Abstract (English): I’m writing this post in English because (obviously) recording BBC videos is mostly of interest for those who speak English. Also, a small note for native speakers, especially British people: I’m Italian and I’m mostly used to write using American spelling. For this reason, the post may contain mistakes or American words which may seem unusual. I’m sorry for that. If you find errors (apart from AE spelling) let me know in the comments.

Update (30 April 2017): Version 4.0 of the script is out, which is mostly rewritten from scratch and leverages youtube-dl instead of ffmpeg. I’ve updated this post accordingly.

Introduction

I already wrote about downloading videos from the BBC and Hulu websites (in Italian), however it was about two years ago. Websites change and so does software, hence the suggested method of using get_flash_videos does not work anymore.

I also wrote a generic article about downloading videos from websites (in Italian, too) that contains many different use cases and examples. One of my readers asked for clarification about recording iPlayer videos, so I tried again myself. I was able to apply some of the techniques of my post, together with a couple of clever tricks to find the maximum quality.

Since the process is a bit involved, I wrote a small software which automates all the steps and tells you how to start the recording immediately. This program is actually a so called user script, i.e. a piece of software that runs directly into your browser.

This article explains how to download and install the script. Then it shows you how to use it and what you need to do to record BBC iPlayer videos. Before we start, you need to be able to trick the BBC website into thinking you are living in the UK. If you are actually living there, skip the next section.

Pretending to be in the UK

The BBC iPlayer service is officially available only in the United Kingdom. The website will check your IP address and refuse access if you are trying to watch content from another country. To fix this problem, you need to use a technique to access the site through a server in the UK.

Usually the best tool for the job is a VPN service. VPNs are used to establish secure connections to private networks over the Internet, but may also be used to avoid geographical restrictions of websites.

There are many different VPN services. Most of them are paid (although cheap), while some are free. Among the best options, you can:

Please keep in mind that recently the BBC has started being more aggressive at blocking VPN providers. Always verify if your VPN provider works with the BBC (most of them have free trials available).

Luckily, I also wrote a Python script for easily using VPNGate by specifying only the desired country which works perfectly on any Linux distribution, including Ubuntu, Mint, Fedora, OpenSuse and Mageia. You can check it out here.

You may also try VPN OneClick, which lists UK among the servers. Regardless of what VPN service you choose, once it is activated, you are ready to go on and start recording videos from iPlayer.

Script installation

To run the user script in your browser, you need to install an extension that is compatible with Greasemonkey (version 3) scripts. The following are recommended:

Currently the script does not work with Greasemonkey 4 on Firefox 57 or later. Please do not use Greasemonkey 4.

After this step, you can click the following link to open the script page on Greasyfork. On the page that shows up, click on the Install this script button to complete the procedure.

You are now ready to start downloading.

Recording videos

The next time you open a video page on iPlayer, you’ll see that the script adds a box under it with some instructions and a command line. The following pictures shows an example with this video.

bbc_download_youtube-dl
Example of the output of the script

The command line displayed in the gray box is a one-liner you can use together with youtube-dl. This is a software used to convert and record video files, which can be installed on any of the common Linux distributions such as Ubuntu. More informations are available on the official website.

Despite its name, it does not work only for YouTube, it works for many other websites as well. My script uses it because it can download DASH streams served through a MPD file easily. The program can download some BBC videos without the need of my script, however the latter:

  • works on many pages where youtube-dl doesn’t recognize the stream URL
  • provides you with converted SRT subtitles on the fly, thanks to its internal converter

Remember that you will still need ffmpeg installed on your system. Check out its official website here.

To start the download:

  • carefully copy the entire content of the gray box (and nothing else)
  • paste it into a terminal window
  • press Enter and wait until the process is over

Keep in mind that this will create a lot of temporary files, but they will get removed automatically at the end.

It is also possible to download the videos on Windows or macOS. On Windows you just need to create a new file called download.bat (with Notepad, or any other editor) in the same directory of youtube-dl.exe and copy-paste the command line into it. After that, you click the bat file and it should start downloading.

However, please note that I do not offer any assistance for Windows or macOS here on the blog. If in doubt, please use Linux, or find an expert to help you with your OS. You can find the installation instructions of youtube-dl by clicking here.

Recording radio programmes

Starting from version 3.2, the script supports radio programmes such as those provided by BBC School Radio. The process is exactly the same as recording a video, including the command line. The files are in M4A format as provided by the BBC (no conversion is performed).

Conclusion

The script I developed allows to automate all the necessary steps required to ensure the highest possible quality during the downloading. In particular, the script does the following:

  • find the configuration of the player for mobile phones
  • get the list of DASH manifests for different bitrates
  • look for the best available bitrate for desktop computers
  • show the command line to the user

Performing the process manually is time consuming, error-prone and tedious if done multiple times. In this way it should be much easier for those who just want to record a couple of videos to watch them with a modern TV, on the train or keep them in a personal library.

Moreover, starting from version 3.0 the script shows you a download link to the original subtitles in TTML format (which is not very widespread). In addition, it performs an automatic conversion to the commonly used SRT format for your convenience.

Happy downloading! 🙂

Did you like the article?

Writing software and tutorials like this takes time. If you found the provided information useful, and you liked the post, you may buy me a coffee by clicking on the button. 🙂 If you do so, please leave a message on the donation page telling me it’s for this script.

190 pensieri riguardo “How to download BBC iPlayer videos and radio programmes

  1. Hello Lazza, Thank you so much for your script. It’s the only way I’ve been able to download BBC iPlayer Radio programmes. Recently, they have started using a differently formatted player page, on which the script does not seem to work. If you can find the time could you take a look and see if it’s possible to fix? I would be incredilby grateful. Many thanks! Example URL for new format:

    https://www.bbc.co.uk/programmes/b00d8yxw

    1. It should be working now. Please keep in mind that the script is becoming less relevant as youtube-dl supports more and more BBC sections, so you could also use it directly. 🙂

  2. Hello, Lazza,

    Thank you again for your script!

    However I find that sometimes it doesn’t require a UK’s IP to download a video. For example: https://www.bbc.co.uk/programmes/p02kcmss
    That’s video plays fine with my russian IP, however your script didn’t show me download link. So I had to write it myself, like:

    youtube-dl -f bestvideo+bestaudio "https://vod-dash-ww-live.akamaized.net/usp/auth/vod/piff_abr_full_sd/a07d48-p02kcmt3/vf_p02kcmt3_7067436e-392d-435d-8515-3ce677be6179.ism/pc_hd_abr_v2_dash_master.mpd?__gda__=1537930154_134c09dbc5d4a80322ded7e8f0aaf7a9" -o Interview
    

    It’s downloaded the audio and video separately, but this is not a big problem.

    So, maybe you can change your script to sometimes it show links from any country when it is available?

    Cheers,
    Fage.

    1. It would’ve been easier to just feed youtube-dl with the page URL rather than the M3U8 stream itself. Currently the program supports almost all BBC videos so the purpose of my script is greatly reduced.

      At the moment I do not plan to perform additional modifications.

      Regarding the separation of video and audio, it’s probably something to do with your installation of ffmpeg. You should check that everything is correct.

  3. Hello Lazza!

    Maybe I’m wrong but seems that BBC has replaced iPlayer service with BBC Sounds!!
    I cannot see the downlading code anymore. Can you should check by yourself?

    Thank you!


    Here’s the announce:

    http://www.bbc.co.uk/blogs/aboutthebbc/entries/03e55526-e7b4-45de-b6f1-122697e129d9


    Ok here’s an example. I want to download this:

    https://www.bbc.co.uk/programmes/m00016rn

    The iPlayer icon has been replaced by “Listen Now” button. Clicking on it you’ll be redirected to the new BBC Sounds page for the audio streaming. No downloading code appear!!
    Pasted the direct link into yt-dl windows gui it returned me Error 🙁

    By the way your script works well with the old iPlayer, like the video example:
    http://www.bbc.co.uk/iplayer/episode/b01n83tj/get-well-soon-1-take-a-break

    Thanks for looking into this.

    1. This is a script for downloading from iPlayer, moreover it was made in times when trying to save those programmes was quite hard and there was no easy way. Considering the fact that nowadays almost everything (including that new BBC Sounds section) is downloadable using youtube-dl, I do not plan to add new features or to support new sections.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *