Scroll to navigation

GET_IPLAYER(1) get_iplayer Manual GET_IPLAYER(1)

NAME

get_iplayer - Stream Recording tool and PVR for BBC iPlayer, BBC Podcasts and more

SYNOPSIS

get_iplayer [<options>] [<regex|index> ...]

get_iplayer --get [<options>] <regex|index> ...
get_iplayer <url> --type=<type> [<options>]

get_iplayer <pid|url> [--type=<type> <options>]

get_iplayer --stream [<options>] <regex|index> | mplayer -cache 3072 -

get_iplayer --stream [<options>] --type=<type> <pid|url> | mplayer -cache 3072 -

get_iplayer --stream [<options>] --type=livetv,liveradio <regex|index> --player="mplayer -cache 128 -"

get_iplayer --refresh

DESCRIPTION

get_iplayer lists, searches and records BBC iPlayer TV/Radio, BBC Podcast programmes. Other 3rd-Party plugins may be available.

get_iplayer has three modes: recording a complete programme for later playback, streaming a programme directly to a playback application, such as mplayer; and as a Personal Video Recorder (PVR), subscribing to search terms and recording programmes automatically. It can also stream or record live BBC iPlayer output

If given no arguments, get_iplayer updates and displays the list of currently available programmes. Each available programme has a numerical identifier, pid. get_iplayer utilises the rtmpdump tool to record BBC iPlayer programmes from RTMP flash streams at various qualities.

In PVR mode, get_iplayer can be called from cron to record programmes to a schedule.

OPTIONS

Search Options:

Limit search to programmes that have become available in the last N hours
Limit search to programmes added to the cache before N hours ago
Narrow search to matched channel(s) (regex or comma separated values)
Narrow search to exclude matched programme names (regex or comma separated values)
Narrow search to exclude matched channel(s) (regex or comma separated values)
Limit search to programmes that will expire in the next N hours
Searches only in the specified comma separated fields
Additionally search future programme schedule if it has been indexed (refresh cache with: --refresh --refresh-future).
Search/show recordings history
Additionally search in programme descriptions and episode names (same as --fields=name,episode,desc )
GetOpt compliant way of specifying search args
Limit search to programmes added to the cache in the last N hours
Only search in these types of programmes: liveradio,livetv,localfiles,podcast,radio,tv,all (tv is default)

Display Options:

Shows GPLv3 conditions
Debug output
Dumps all options with their internal option key names
Intermediate help text
Basic help text
Advanced help text
Hide previously recorded programmes
Show full programme metadata and availability of modes and subtitles (max 40 matches)
Display programme data based on a user-defined format string (such as <pid>, <name> etc)
Show long programme info
Create man page based on current help text
Don't display copyright header
Page number to display for multipage output
Number of matches displayed on a page for multipage output
Reduce logging output
Displays the age of the selected programme caches then exit
Shows options which are set and where they are defined
No logging output except PVR download report. Cannot be saved in preferences or PVR searches.
Field to use to sort displayed matches
Reverse order of sorted matches
Returns all of the media stream urls of the programme(s)
Verbose
Displays warranty section of GPLv3
Show get_iplayer version and exit.

Recording Options:

Number of attempts to make or resume a failed connection. --attempts is applied per-stream, per-mode. TV modes typically have two streams available.
Comma-delimited list of media stream suppliers to skip. Possible values: level3,akamai,limelight,bidi
Ignore programme history (unsets --hide option also). Forces a script update if used with -u
Start recording matching programmes. Search terms required unless --pid specified. Use --search=.* to force download of all available programmes.
Show recording progress as hashes
Comma-delimited list of media stream suppliers to use if not included by default. Possible values: level3,akamai,limelight,bidi
Create specified metadata info file without any recording or streaming (can also be used with thumbnail option).
Recording modes. See --tvmode and --radiomode (with --long-help) for available modes and defaults. Shortcuts: tvworst,tvworse,tvgood,tvvgood,tvbetter,tvbest,radioworst,radioworse,radiogood,radiovgood,radiobetter,radiobest (default=default for programme type).
Ignore --proxy setting in preferences
Overwrite recordings if they already exist
Only uses web proxy where absolutely required (try this extra option if your proxy fails). If specified, value of http_proxy environment variable (if any) in parent process is retained and passed to child processes.
Record an arbitrary PID that does not necessarily appear in the index.
Record all related episodes if value of --pid is a series or brand PID. Requires --pid.
When used with --pid and --pid-recursive, skip all associated programme clips if the value of --pid is a brand PID. Requires --pid and --pid-recursive.
Web proxy URL e.g. 'http://USERNAME:PASSWORD@SERVER:PORT' or 'http://SERVER:PORT'. Sets http_proxy environment variable for child processes (e.g., ffmpeg) unless --partial-proxy is specified.
Radio recording modes (overrides --modes): dashhigh,dashstd,dashmed,dashlow,flashaachigh,flashaacstd,flashaaclow,hafhigh,hafstd,hafmed,haflow,hlsaacstd,hlsaaclow. Shortcuts: worst,worse,good,vgood,better,best,dash,flashaac,haf,hlsaac (default=dashhigh,hafhigh,dashstd,hafstd,hlsaacstd,dashmed,hafmed,dashlow,haflow,hlsaaclow).
Don't transcode or change the recording/stream in any way (i.e. RTMP->FLV, HLS->MPEG-TS)
Recording/streaming start offset (actual start may be several seconds earlier for HLS and DASH streams)
Recording/streaming stop offset (actual stop may be several seconds later for HLS and DASH streams)
Offset the subtitle timestamps by the specified number of milliseconds
Subtitles format. One of: default, compact. Default: 'default'
Additionally save the raw subtitles file
Download subtitles into srt/SubRip format if available and supported
--subtitles-only
Only download the subtitles, not the programme
--subtitles-required
Do not download TV programme if subtitles are not available.
Only update the programme metadata tag and not download the programme (can also be used with --history)
Add metadata tags to specified file (ignored unless used with --tag-only)
Test only - no recording (will show programme type)
Download Thumbnail image if available
Only Download Thumbnail image if available, not the programme
TV recording modes (overrides --modes): flashhd,flashvhigh,flashhigh,flashstd,flashnormal,flashlow,hlshd,hlsvhigh,hlshigh,hlsstd,hlslow,hvfhd,hvfsd,hvfvhigh,hvfhigh,hvfstd,hvflow. Shortcuts: worst,worse,vgood,better,best,flash,hls,hvf (default=hvfhd,hlshd,hvfsd,hvfvhigh,hlsvhigh,hvfhigh,hlshigh,hvfstd,hlsstd,hvflow,hlslow).
Record the embedded media player in the specified URL. Use with --type=<type>.
Version of programme to record. List is processed from left to right and first version found is downloaded. Example: '--versions=audiodescribed,default' will prefer audiodescribed programmes if available.

Output Options:

Run user command after successful recording using args such as <pid>, <name> etc
The filename prefix (excluding dir and extension) using formatting fields. e.g. '<name>-<episode>-<pid>'
Create metadata info file after recording. Valid types are: xbmc (or kodi), xbmc_movie (or kodi_movie), freevo, generic
Recording output directory
Output directory for radio recordings (overrides --output)
Output directory for tv recordings (overrides --output)
Put Recorded files into Programme name subdirectory
The format to be used for the subdirectory naming using formatting fields. e.g. '<nameshort>-<seriesnum>'
Default thumbnail size/index to use for the current recording and metadata. index: 1-11 or width: 86,150,178,512,528,640,832,1024,1280,1600,1920
Default thumbnail size/index to use when building cache. index: 1-11 or width: 86,150,178,512,528,640,832,1024,1280,1600,1920
Keep whitespace in file and directory names. Default behaviour is to replace whitespace with underscores.

PVR Options:

Adds a comment to a PVR search
Runs the PVR using all saved PVR searches (intended to be run every hour from cron etc). The list can be limited by adding a regex to the command. Synonyms: --pvrrun, --pvr-run
Save the named PVR search with the specified search terms. Search terms required. Use --search=.* to force download of all available programmes. Synonyms: --pvradd
Remove the named search from the PVR searches. Synonyms: --pvrdel
Disable (not delete) a named PVR search. Synonyms: --pvrdisable
Enable a previously disabled named PVR search. Synonyms: --pvrenable
Exclude the PVR searches to run by search name (regex or comma separated values). Synonyms: --pvrexclude
Show the PVR search list. Synonyms: --pvrlist
Add currently matched programmes to queue for later one-off recording using the --pvr option. Search terms required unless --pid specified. Synonyms: --pvrqueue
Runs the PVR using all saved PVR searches every <seconds>. Synonyms: --pvrscheduler
Runs a named PVR search. Synonyms: --pvrsingle

Config Options:

Reset cache to retain only latest update and discard previous contents.
Cache expiry in seconds (default 4hrs)
Limits the number of matching results for any search (and for every PVR search)
Don't ask to delete programmes recorded over 30 days ago
Add/Change specified saved user or preset options
Remove *ALL* saved user or preset options
Remove specified saved user or preset options
Show saved user or preset options
Use specified user options preset
Show all valid presets
Override the user profile directory/folder
Refresh cache
Exclude matched channel(s) when refreshing cache (regex or comma separated values). Overrides --refresh-include-groups[-{tv,radio}] status for specified channel(s)
Exclude channel groups when refreshing radio or tv cache (comma-separated values). Valid values: 'national', 'regional', 'local'
Exclude channel groups when refreshing radio cache (comma-separated values). Valid values: 'national', 'regional', 'local'
Exclude channel groups when refreshing tv cache (comma-separated values). Valid values: 'national', 'regional', 'local'
Obtain future programme schedule when refreshing cache
Include matched channel(s) when refreshing cache (regex or comma separated values). Overrides --refresh-exclude-groups[-{tv,radio}] status for specified channel(s)
Include channel groups when refreshing radio or tv cache (comma-separated values). Valid values: 'national', 'regional', 'local'
Include channel groups when refreshing radio cache (comma-separated values). Valid values: 'national', 'regional', 'local'
Include channel groups when refreshing tv cache (comma-separated values). Valid values: 'national', 'regional', 'local'
Skip the download of metadata/thumbs/subs if the media file no longer exists. Use with --history & --metadataonly/subsonly/thumbonly.
Specify all options as a urlencoded string of "name=val&name=val&..."

External Program Options:

Location of AtomicParsley binary
Location of ffmpeg binary.
Indicates you are using an obsolete version of ffmpeg (<0.7) that does not support the -loglevel or -stats options, so --quiet, --verbose and --debug will not be applied to ffmpeg.

Tagging Options:

Do not embed thumbnail image in output file. Also removes existing artwork. All other metadata values will be written.
Do not tag downloaded programmes
Format template for programme name in metadata (use substitution parameters). Default: none
Format template for episode title in metadata (use substitution parameters). Default: none
Use ISO8601 dates (YYYY-MM-DD) in album/show names and track titles
Tag downloaded radio and tv programmes as iTunes podcasts (requires MP3::Tag module for AAC/MP3 files)
Tag only downloaded radio programmes as iTunes podcasts (requires MP3::Tag module for AAC/MP3 files)
Tag only downloaded tv programmes as iTunes podcasts
Use UTF-8 encoding for non-ASCII characters in AtomicParsley parameter values (Linux/Unix/OS X only). Use only if auto-detect fails.

Misc Options:

Character encoding for standard input (currently unused). Encoding name must be known to Perl Encode module. Default (only if auto-detect fails): Linux/Unix/OSX = UTF-8, Windows = cp850
Character encoding used to encode search results and other output. Encoding name must be known to Perl Encode module. Default (only if auto-detect fails): Linux/Unix/OSX = UTF-8, Windows = cp850
Character encoding used to decode command-line arguments. Encoding name must be known to Perl Encode module. Default (only if auto-detect fails): Linux/Unix/OSX = UTF-8, Windows = cp1252
Character encoding used to encode file and directory names. Encoding name must be known to Perl Encode module. Default (only if auto-detect fails): Linux/Unix/OSX = UTF-8, Windows = cp1252
Perform fork()-based concurrent (i.e., faster) indexing when web scraping TV schedules only. Requires --ybbcy and Parallel::ForkManager Perl module. Not supported on Windows.
Maximum number of forks (connections) to use for concurrent indexing. Requires --index-concurrent. Default: 4 Max: 10
Do not scrape episode web pages as extra measure to find audiodescribed/signed versions.
Remove download history entries older than number of days specified in option value. Cannot specify 0 - use 'all' to completely delete download history
Use alternate programme indexing and metadata retrieval if the BBC removes its XML data sources. TV programme indexing will be extremely slow. Some metadata will be missing or incorrect.

Deprecated Options:

Transcode AAC audio to MP3 with ffmpeg (CBR appropriate for mode unless --mp3vbr is specified). Applied only to radio programmes. (Synonyms: --mp3)
Output video in AVI container instead of MP4. There is no metadata tagging support for AVI output.
Narrow search to matched categories (regex or comma separated values). Supported only for podcasts (not tv or radio programmes).
Print message showing recorded duration, expected duration and difference between them. Ignored when recording live streams.
Email HTML index of matching programmes to specified address
Email password
Email port number (default: appropriate port for --email-security)
Email security TLS, SSL (default: none)
Optional email sender address
SMTP server IP address to use to send email (default: localhost)
Email username
Narrow search to exclude matched categories (regex or comma separated values). Supported only for podcasts (not tv or radio programmes).
Remove FAT forbidden characters in file and directory names. Always applied on Windows. Overrides --punctuation.
Add custom options to ffmpeg re-muxing for liveradio
Add custom options to ffmpeg re-muxing for livetv
Add custom options to ffmpeg re-muxing for radio
Add custom options to ffmpeg re-muxing for tv
Create Freevo FXD XML of matching programmes in specified file
Remove colons in file and directory names. Prevents OS X Finder displaying colon as forward slash. Always applied on OS X. Overrides --punctuation.
Use ffmpeg instead of built-in HLS downloader. Ignored for downloading on-demand radio programmes, which use DASH downloader. 320k on-demand radio programmes cannot be streamed with --hls-ffmpeg.
Make ffmpeg HLS downloader re-encode streams. For old versions of ffmpeg (<2.5). May record slower than real time and may not be able to stream higher-quality media.
Add custom options to ffmpeg HLS download re-muxing for liveradio
Add custom options to ffmpeg HLS download encoding for livetv
Add custom options to ffmpeg HLS download re-muxing for radio
Add custom options to ffmpeg HLS download re-muxing for tv
Create basic HTML index of matching programmes in specified file
Location of id3v2 or id3tag binary
Use ISO8601 dates (YYYY-MM-DD) in filenames and subdirectory paths. Default: true
Keep whitespace, all possible punctuation and non-ASCII characters in file and directory names. Shortcut for: --whitespace --non-ascii --punctuation.
Show a list of available categories/channels for the selected type and exit
Display a list of currently available plugins or programme types
Force use of hard-coded international streams for HLS live radio. Ignored for World Service
Force use of hard-coded UK streams for HLS live radio (overrides --liveradio-intl). Ignored for World Service
Live Radio recording modes (overrides --modes): hafhigh,hafstd,hafmed,haflow,shoutcastmp3std,shoutcastaachigh (R3 only, UK only). Shortcuts: worst,worse,good,vgood,better,best,haf,shoutcast. (default=hafhigh,hafstd,hafmed,haflow)
Live TV recording modes (overrides --modes): hvfhd,hvfsd,hvfvhigh,hvfhigh,hvfstd,hvflow. Shortcuts: worst,worse,good,vgood,better,best,hvf. (default=hvfhd,hvfsd,hvfvhigh,hvfhigh,hvfstd,hvflow)
Directories/Folders to scan for new files
Identifier of mediaselector API to use when searching for media streams. One of: 4,5 Default: 5
Output video in MKV container instead of MP4. There is no metadata tagging support for MKV output.
Set LAME VBR mode to N (0 to 9) for AAC transcoding. 0 = target bitrate 245 Kbit/s, 9 = target bitrate 65 Kbit/s (requires --aactomp3). Applied only to radio programmes.
Allow the recording of more than one mode for the same programme - WARNING: will record all specified/default modes!!
Create Mythtv streams XML of matching programmes in specified file
Keep non-ASCII characters in file and directory names. Default behaviour is to remove all non-ASCII characters.
No writing of file to disk (use with -x to prevent a copy being stored on disk)
Output directory for live radio recordings (overrides --output)
Output directory for live tv recordings (overrides --output)
Output directory for localfiles recordings (overrides --output)
Output directory for podcast recordings (overrides --output)
Use specified command to directly play the stream
Keep punctuation characters and symbols in file and directory names, with ellipsis always replaced by underscore. Default behaviour is to remove all punctuation and symbols except underscore, hyphen and full stop. Overridden by --fatfilename and --hfsfilename.
Abort cache refresh for programme type if data for any channel fails to download. Use --refresh-exclude to temporarily skip failing channels.
Minimum number of days of programmes to cache (max: 30)
Number of days of radio programmes to cache. Makes cache updates VERY slow. Default: 7 Min: 1 Max: 30
Number of days of TV programmes to cache. Makes cache updates VERY slow. Default: 7 Min: 1 Max: 30
Add custom options to rtmpdump for radio
Add custom options to rtmpdump for tv
Location of rtmpdump binary. Synonyms: --flvstreamer
Override the RTMP port (e.g. 443)
Display programme series names only with number of episodes
Add custom options to ffmpeg Shoutcast download re-muxing for liveradio
Additionally stream to STDOUT (so you can pipe output to a player)
Stream to STDOUT (so you can pipe output to a player)
URL of Flash player used by rtmpdump for verification. Only use if default Flash player URL is not working.
Create symlink to <file> once we have the header of the recording
Use AtomicParsley --cnID argument (if supported) to add catalog ID used for combining HD and SD versions in iTunes
Prepend album/show title to track title
AtomicParsley accepts --hdvideo argument for HD video flag
Save ID3 tags for MP3 files in synchronised form. Provides workaround for corruption of thumbnail images in Windows. Has no effect unless using MP3::Tag Perl module.
AtomicParsley accepts --longdesc argument for long description text
AtomicParsley accepts --longDescription argument for long description text
Use <episode> (incl. episode number) instead of <episodeshort> for track title
Prepend <series> (if available) to track title. Ignored with --tag-fulltitle.
Use <nameshort> instead of <name> for album/show title
Only show terse programme info (does not affect searching)
--thumb-ext <ext>
Thumbnail filename extension to use
Display Programme listings in a tree view
Create freevo/Mythtv menu sorted alphabetically by programme name
Create freevo/Mythtv menu of channels -> programme names -> episodes
Create freevo/Mythtv menu of programme names -> episodes

AUTHOR

get_iplayer was written by Phil Lewis <iplayer2 (at sign) linuxcentre.net> and is now maintained by the contributors at http://www.infradead.org/get_iplayer/html/get_iplayer.html

This manual page was originally written by Jonathan Wiltshire <jmw@debian.org> for the Debian project (but may be used by others).

COPYRIGHT NOTICE

get_iplayer v2.97, Copyright (C) 2008-2010 Phil Lewis
This program comes with ABSOLUTELY NO WARRANTY; for details use --warranty.
This is free software, and you are welcome to redistribute it under certain
conditions; use --conditions for details.

September 2016 Phil Lewis