LinuxCommandLibrary

get_iplayer

Download BBC iPlayer programmes

TLDR

Search programmes by name

$ get_iplayer "[program_name]"
copy

Record programme by results of search
$ get_iplayer "[program_name]" [[-g|--get]]
copy

Record programme by URL from the BBC iPlayer website
$ get_iplayer "https://www.bbc.co.uk/iplayer/episode/[program_PID]/[name-of-show-episode-number-episode-title]"
copy

Download subtitles for a programme by results of search
$ get_iplayer "[program_name]" --subtitles-only
copy

Search for a programme, record it and download subtitles
$ get_iplayer "[program_name]" [[-g|--get]] --subtitles
copy

Display help
$ get_iplayer [[-h|--help]]
copy

SYNOPSIS

get_iplayer [OPTIONS] [SEARCH_TERMS]
get_iplayer --refresh
get_iplayer --list [TYPE]
get_iplayer --get <PID|INDEX|TITLE> [OPTIONS]
get_iplayer --search <TERMS> [OPTIONS]

PARAMETERS

--refresh
    Updates the local programme index from broadcasters, fetching the latest available content information.

--list
    Displays a list of all programmes currently in the index, optionally filtered by type (e.g., 'tv', 'radio').

--get <PID|INDEX|TITLE>
    Downloads a specific programme. Can be identified by its unique Programme ID (PID), its numeric index from a --list output, or a partial title.

--search <TERMS>
    Searches the programme index for programmes matching the provided keywords or regular expressions.

--type <TYPE>
    Filters searches and listings by programme type, such as 'tv' for television or 'radio' for radio programmes.

--pid <PID>
    Specifies one or more Programme IDs (PIDs) for direct download without needing to perform a search or list operation.

--output <DIR>
    Sets the directory where downloaded files will be saved instead of the default location.

--quality <QUALITY>
    Selects the desired video or audio quality for download (e.g., 'hd', 'sd', 'best', 'worst').

--subtitles
    Downloads available subtitles along with the programme, typically in SRT or VTT format.

--force
    Forces the download of a programme, even if it has been previously downloaded or is marked as unavailable in the index.

--pvr
    Runs the Personal Video Recorder (PVR) daemon, which automatically checks for and downloads new episodes based on saved search criteria.

--help
    Displays a comprehensive help message with all available options and their usage.

DESCRIPTION

get_iplayer is a powerful, open-source command-line utility for downloading programmes from BBC iPlayer, BBC Sounds, ITV Hub, and other UK TV and radio services. It provides a convenient way to access and archive content that might otherwise be unavailable or difficult to obtain. The tool supports various download formats, resolutions, and quality levels, offering users significant flexibility. It can search for programmes, list available content, record live streams, and manage downloads. Beyond simple downloads, get_iplayer also handles metadata extraction, provides options for post-processing, and integrates with scheduling tools to automate content acquisition. It's an essential tool for users wishing to curate their own collection of UK broadcast media.

CAVEATS

get_iplayer is primarily designed for use within the UK due to geo-restrictions imposed by broadcasters; accessing content from outside the UK often requires a VPN or proxy. The tool relies on parsing broadcaster websites and APIs, so changes made by broadcasters can sometimes temporarily break functionality until the tool is updated. Users should also be aware of local laws regarding the downloading of copyrighted material.

CONFIGURATION FILE

get_iplayer can be extensively configured via a global (e.g., /etc/get_iplayer/options) or user-specific (~/.get_iplayer/options) options file. This allows users to set default behaviours for quality, output paths, PVR settings, and other preferences without needing to specify them on the command line every time.

PVR (PERSONAL VIDEO RECORDER) MODE

The PVR feature transforms get_iplayer into an automated recording system. Users can save search criteria as 'PVR Series'. When get_iplayer is run in PVR mode (--pvr), it periodically checks for new episodes matching these criteria and automatically downloads them, making it ideal for keeping up with favourite TV shows or radio series.

HISTORY

Initially developed as a Perl script, get_iplayer emerged as a crucial tool for Linux users seeking to download BBC iPlayer content when official options were scarce. Its popularity grew as it adapted to BBC's evolving streaming technologies, moving from RTMP to HLS/DASH. Over time, its capabilities expanded to include other UK broadcasters like ITV Hub. Maintained by a dedicated community, it continuously evolves to counteract broadcaster changes and offer robust functionality for archiving UK broadcast media.

SEE ALSO

ffmpeg(1), yt-dlp(1), curl(1), wget(1)

Copied to clipboard