get_iplayer: BBC iPlayer Indexing Tool and PVR
- Downloads MP4 streams from BBC iPlayer site with better quality than Flash player streams
- Downloads Flash AAC/MP3 and WMA streams for radio programmes
- Allow multiple programmes to be downloaded using a single command
- Indexing of all available iPlayer programs
- Caching of Index (default 4h)
- Regex search on programme name
- Regex search on programme description and episode title
- PVR capability (may be used from crontab)
- Full HTTP Proxy support
- Runs on Linux (Debian, Ubuntu, openSUSE and many others), OS X (10.5+) and Windows (XP/Vista/7/8)
- Requires perl 5.8.8+ with LWP module
NOTE: get_iplayer can only search programmes broadcast within the previous 7 days, even if they are available for 30 days on the iPlayer web site. See FAQ #1.
Installation (Linux/Unix/OS X)
Download latest release:
After downloading the script make it executable:
chmod 755 ./get_iplayer
The script may optionally be installed to a location in PATH.
You can set the default download directory by putting the following in your shell environment (e.g. ~/.bashrc):
The first time you run the script it will create a settings directory (~/.get_iplayer) and download plugins. It will then access the BBC website and create an index of all TV programmes currently on iPlayer.
See documentation for Windows installation information.
get_iplayer --help get_iplayer --basic-help get_iplayer --long-help
List all TV programmes (--type=tv set by default):
Search output appears in this format:
... 208: Doctor Who: Series 7 Part 2 - 1. The Bells of Saint John, BBC One, Drama,SciFi & Fantasy,TV, default 209: Doctor Who: Series 7 Part 2 - 2. The Rings Of Akhaten, BBC One, Audio Described,Drama,SciFi & Fantasy,TV, default,audiodescribed 210: Doctor Who: Series 7 Part 2 - 3. Cold War, BBC One, Audio Described,Drama,SciFi & Fantasy,TV, default,audiodescribed ...
Format = index: name - episode, channel, categories, versions
List all TV programmes with long descriptions:
List all radio programmes:
List all TV programmes with "doctor who" in the title/episode:
get_iplayer "doctor who"
List all TV and radio programmes with "doctor who" in the title/episode:
get_iplayer --type tv,radio "doctor who"
List all TV programmes categorised as "comedy":
List all BBC One TV programmes categorised as "sport":
get_iplayer --channel= "BBC One" --category=sport
List all Radio 4 Extra programmes categorised as "drama":
get_iplayer --type=radio --channel "Radio 4 Extra" --category=drama
Record programme number 208 (index from search results) in SD:
get_iplayer --get 208
Record programme number 208 in HD (if available), with SD fallback:
get_iplayer --modes=best --get 208
Record programme number 208 and download subtitles in SubRip (SRT) format:
get_iplayer --get 208 --subtitles
Record all TV programmes with "doctor who' in the title/episode:
get_iplayer --get "doctor who"
Record a programme using its iPlayer URL:
Record a programme using the PID (b01sc0wf) from its iPlayer URL:
Refresh the cached index of available TV programmes:
Refresh the cached index of available TV and radio programmes:
get_iplayer --type=tv,radio --refresh
- Sometimes you may not be able to download a listed programme immediately after broadcast (usually available within 24hrs of airing). Some BBC programmes may not be available from iPlayer.