---
name: "get-iplayer"
section: "1"
platform: "linux"
package: "get-iplayer"
version: "2.78-2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/get_iplayer"
---

# get-iplayer(1)

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

Part of [get\_iplayer(1)](/get_iplayer/1.md).

## 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** records BBC iPlayer programmes by pretending to be an iPhone, which means that some programmes in the list are unavailable for recording. It can also utilise the **flvstreamer** tool to record 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:

- **--before**

  **Limit search to programmes added to the cache before N hours ago**

- **--category \<string\>**

  **Narrow search to matched categories (regex or comma separated values)**

- **--channel \<string\>**

  **Narrow search to matched channel(s) (regex or comma separated values)**

- **--exclude \<string\>**

  **Narrow search to exclude matched programme names (regex or comma separated values)**

- **--exclude-category \<string\>**

  **Narrow search to exclude matched catogories (regex or comma separated values)**

- **--exclude-channel \<string\>**

  **Narrow search to exclude matched channel(s) (regex or comma separated values)**

- **--fields \<field1\>,\<field2\>,..**

  **Searches only in the specified comma separated fields**

- **--future**

  **Search future programme schedule if it has been indexed (refresh cache with: --refresh --refresh-future).**

- **--history**

  **Search/show recordings history**

- **--long, -l**

  **Additionally search in programme descriptions and episode names (same as --fields=name,episode,desc )**

- **--search \<search term\>**

  **GetOpt compliant way of specifying search args**

- **--since**

  **Limit search to programmes added to the cache in the last N hours**

- **--type \<type\>**

  **Only search in these types of programmes: livetv,tv,liveradio,radio,all (tv is default)**

- **--versions \<versions\>**

  **Version of programme to search or record (e.g. '--versions signed,audiodescribed,default')**

### Display Options:

- **--conditions**

  **Shows GPLv3 conditions**

- **--debug**

  **Debug output**

- **--dump-options**

  **Dumps all options with their internal option key names**

- **--help, -h**

  **Intermediate help text**

- **--helpbasic, --usage**

  **Basic help text**

- **--helplong**

  **Advanced help text**

- **--hide**

  **Hide previously recorded programmes**

- **--info, -i**

  **Show full programme metadata and availability of modes and subtitles (max 50 matches)**

- **--list \<categories\|channel\>**

  **Show a list of available categories/channels for the selected type and exit**

- **--listformat \<format\>**

  **Display programme data based on a user-defined format string (such as \<pid\>, \<name\> etc)**

- **--listplugins**

  **Display a list of currently available plugins or programme types**

- **--long, -l**

  **Show long programme info**

- **--manpage \<file\>**

  **Create man page based on current help text**

- **--nocopyright**

  **Don't display copyright header**

- **--page \<number\>**

  **Page number to display for multipage output**

- **--pagesize \<number\>**

  **Number of matches displayed on a page for multipage output**

- **--quiet, -q**

  **No logging output**

- **--series**

  **Display Programme series names only with number of episodes**

- **--show-cache-age**

  **Displays the age of the selected programme caches then exit**

- **--show-options**

  **Shows options which are set and where they are defined**

- **--sort \<fieldname\>**

  **Field to use to sort displayed matches**

- **--sortreverse**

  **Reverse order of sorted matches**

- **--streaminfo**

  **Returns all of the media stream urls of the programme(s)**

- **--terse**

  **Only show terse programme info (does not affect searching)**

- **--tree**

  **Display Programme listings in a tree view**

- **--verbose, -v**

  **Verbose**

- **--warranty**

  **Displays warranty section of GPLv3**

- **-V**

  **Show get\_iplayer version and exit.**

### Recording Options:

- **--attempts \<number\>**

  **Number of attempts to make or resume a failed connection**

- **--bandwidth**

  **In radio realaudio mode specify the link bandwidth in bps for rtsp streaming (default 512000)**

- **--force**

  **Ignore programme history (unsets --hide option also). Forces a script update if used wth -u**

- **--get, -g**

  **Start recording matching programmes**

- **--hash**

  **Show recording progress as hashes**

- **--liveradiomode \<mode\>,\<mode\>,..**

  **Live Radio Recording modes: flashaac,realaudio,wma**

- **--livetvmode \<mode\>,\<mode\>,...**

  **Live TV Recoding modes: flashhd,flashvhigh,flashhigh,flashstd,flashnormal (default: flashhd,flashvhigh,flashhigh,flashstd,flashnormal)**

- **--metadata-only**

  **Create specified metadata info file without any recording or streaming (can also be used with thumbnail option).**

- **--mmsnothread**

  **Disable parallel threaded recording for mms**

- **--modes \<mode\>,\<mode\>,...**

  **Recoding modes: iphone,flashhd,flashvhigh,flashhigh,flashstd,flashnormal,flashlow,n95\_wifi,flashaac,flashaachigh,flashaacstd,flashaaclow,flashaudio,realaudio,wma**

- **--multimode**

  **Allow the recording of more than one mode for the same programme - WARNING: will record all specified/default modes!!**

- **--overwrite**

  **Overwrite recordings if they already exist**

- **--partial-proxy**

  **Only uses web proxy where absolutely required (try this extra option if your proxy fails)**

- **--pid \<pid\>**

  **Record an arbitrary pid that does not necessarily appear in the index.**

- **--pid-recursive**

  **When used with --pid record all the embedded pids if the pid is a series or brand pid.**

- **--proxy, -p \<url\>**

  **Web proxy URL e.g. 'http://USERNAME:PASSWORD@SERVER:PORT' or 'http://SERVER:PORT'**

- **--radiomode \<mode\>,\<mode\>,...**

  **Radio Recording mode(s): iphone,flashaac,flashaachigh,flashaacstd,flashaaclow,flashaudio,realaudio,wma (default: iphone,flashaachigh,flashaacstd,flashaudio,realaudio,flashaaclow)**

- **--raw**

  **Don't transcode or change the recording/stream in any way (i.e. radio/realaudio, rtmp/flv)**

- **--rtmp-liveradio-opts \<options\>**

  **Add custom options to flvstreamer for liveradio**

- **--rtmp-livetv-opts \<options\>**

  **Add custom options to flvstreamer for livetv**

- **--rtmp-radio-opts \<options\>**

  **Add custom options to flvstreamer for radio**

- **--rtmp-tv-opts \<options\>**

  **Add custom options to flvstreamer for tv**

- **--rtmpport \<port\>**

  **Override the RTMP port (e.g. 443)**

- **--start \<secs\>**

  **Recording/streaming start offset (rtmp and realaudio only)**

- **--stop \<secs\>**

  **Recording/streaming stop offset (can be used to limit live rtmp recording length) rtmp and realaudio only**

- **--suboffset \<offset\>**

  **Offset the subtitle timestamps by the specified number of milliseconds**

- **--subsraw**

  **Additionally save the raw subtitles file**

- **--subtitles**

  **Download subtitles into srt/SubRip format if available and supported**

- **--subtitles-only**

  **Only download the subtitles, not the programme**

- **--test, -t**

  **Test only - no recording (will show programme type)**

- **--thumb**

  **Download Thumbnail image if available**

- **--thumbnail-only**

  **Only Download Thumbnail image if available, not the programme**

- **--tvmode \<mode\>,\<mode\>,...**

  **TV Recoding modes: iphone,rtmp,flashhd,flashvhigh,flashhigh,flashstd,flashnormal,flashlow,n95\_wifi (default: iphone,flashhigh,flashstd,flashnormal)**

- **--url "\<url\>"**

  **Record the embedded media player in the specified URL. Use with --type=\<type\>.**

- **--wav**

  **In radio realaudio mode output as wav and don't transcode to mp3**

### Output Options:

- **--command, -c \<command\>**

  **Run user command after successful recording using args such as \<pid\>, \<name\> etc**

- **--email \<address\>**

  **Email HTML index of matching programmes to specified address**

- **--email-sender \<address\>**

  **Optional email sender address**

- **--email-smtp \<hostname\>**

  **SMTP server IP address to use to send email (default: localhost)**

- **--fatfilename**

  **Omit characters forbidden by FAT filesystems from filenames but keep whitespace**

- **--file-prefix \<format\>**

  **The filename prefix (excluding dir and extension) using formatting fields. e.g. '\<name\>-\<episode\>-\<pid\>'**

- **--fxd \<file\>**

  **Create Freevo FXD XML of matching programmes in specified file**

- **--html \<file\>**

  **Create basic HTML index of matching programmes in specified file**

- **--isodate**

  **Use ISO8601 dates (YYYY-MM-DD) in filenames**

- **--metadata \<type\>**

  **Create metadata info file after recording. Valid types are: xbmc, xbmc\_movie, freevo, generic**

- **--mythtv \<file\>**

  **Create Mythtv streams XML of matching programmes in specified file**

- **--nowrite, -n**

  **No writing of file to disk (use with -x to prevent a copy being stored on disk)**

- **--output, -o \<dir\>**

  **Recording output directory**

- **--outputliveradio \<dir\>**

  **Output directory for live radio recordings**

- **--outputlivetv \<dir\>**

  **Output directory for live tv recordings**

- **--outputlocalfiles \<dir\>**

  **Output directory for localfiles recordings**

- **--outputpodcast \<dir\>**

  **Output directory for podcast recordings**

- **--outputradio \<dir\>**

  **Output directory for radio recordings**

- **--outputtv \<dir\>**

  **Output directory for tv recordings**

- **--player '\<command\> \<options\>'**

  **Use specified command to directly play the stream**

- **--stdout, -x**

  **Additionally stream to STDOUT (so you can pipe output to a player)**

- **--stream**

  **Stream to STDOUT (so you can pipe output to a player)**

- **--subdir, -s**

  **Put Recorded files into Programme name subdirectory**

- **--subdir-format \<format\>**

  **The format to be used for the subdirectory naming using formatting fields. e.g. '\<nameshort\>-\<seriesnum\>'**

- **--symlink \<file\>**

  **Create symlink to \<file\> once we have the header of the recording**

- **--thumb-ext \<ext\>**

  **Thumbnail filename extension to use**

- **--thumbsize \<index\|width\>**

  **Default thumbnail size/index to use for the current recording and metadata (see --info for thumbnailN: to get size/index)**

- **--thumbsizecache \<index\|width\>**

  **Default thumbnail size/index to use when building cache and index (see --info for thumbnailN: to get size/index)**

- **--whitespace, -w**

  **Keep whitespace (and escape chars) in filenames**

- **--xml-alpha**

  **Create freevo/Mythtv menu sorted alphabetically by programme name**

- **--xml-channels**

  **Create freevo/Mythtv menu of channels -\> programme names -\> episodes**

- **--xml-names**

  **Create freevo/Mythtv menu of programme names -\> episodes**

### PVR Options:

- **--comment \<string\>**

  **Adds a comment to a PVR search**

- **--pvr \[pvr search name\]**

  **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.**

- **--pvr-disable \<search name\>**

  **Disable (not delete) a named PVR search**

- **--pvr-enable \<search name\>**

  **Enable a previously disabled named PVR search**

- **--pvr-exclude \<string\>**

  **Exclude the PVR searches to run by seacrh name (regex or comma separated values)**

- **--pvr-single \<search name\>**

  **Runs a named PVR search**

- **--pvradd \<search name\>**

  **Save the named PVR search with the specified search terms**

- **--pvrdel \<search name\>**

  **Remove the named search from the PVR searches**

- **--pvrlist**

  **Show the PVR search list**

- **--pvrqueue**

  **Add currently matched programmes to queue for later one-off recording using the --pvr option**

- **--pvrscheduler \<seconds\>**

  **Runs the PVR using all saved PVR searches every \<seconds\>**

### Config Options:

- **--expiry, -e \<secs\>**

  **Cache expiry in seconds (default 4hrs)**

- **--limit-matches \<number\>**

  **Limits the number of matching results for any search (and for every PVR search)**

- **--localfilesdirs \<dir\>\[,dir,\]**

  **Directories/Folders to scan for new files**

- **--nopurge**

  **Don't ask to delete programmes recorded over 30 days ago**

- **--packagemanager \<string\>**

  **Tell the updater that we were installed using a package manager and don't update (use either: apt,rpm,deb,yum,disable)**

- **--plugins-update**

  **Update get\_iplayer plugins to the latest**

- **--prefs-add**

  **Add/Change specified saved user or preset options**

- **--prefs-clear**

  **Remove \*ALL\* saved user or preset options**

- **--prefs-del**

  **Remove specified saved user or preset options**

- **--prefs-show**

  **Show saved user or preset options**

- **--preset, -z \<name\>**

  **Use specified user options preset**

- **--preset-list**

  **Show all valid presets**

- **--profile-dir \<dir\>**

  **Override the user profile directory/folder**

- **--refresh, --flush, -f**

  **Refresh cache**

- **--refresh-exclude \<string\>**

  **Exclude matched channel(s) when refreshing cache (regex or comma separated values)**

- **--refresh-future**

  **Obtain future programme schedule when refreshing cache (between 7-14 days)**

- **--refresh-include \<string\>**

  **Include matched channel(s) when refreshing cache (regex or comma separated values)**

- **--skipdeleted**

  **Skip the download of metadata/thumbs/subs if the media file no longer exists. Use with --history & --metadataonly/subsonly/thumbonly.**

- **--update, -u**

  **Update get\_iplayer if a newer one exists**

- **--webrequest \<urlencoded string\>**

  **Specify all options as a urlencoded string of "name=val&name=val&..."**

### External Program Options:

- **--atomicparsley \<path\>**

  **Location of AtomicParsley tagger binary**

- **--ffmpeg \<path\>**

  **Location of ffmpeg binary**

- **--flvstreamer \<path\>**

  **Location of flvstreamer binary**

- **--id3v2 \<path\>**

  **Location of id3v2 or id3tag binary**

- **--lame \<path\>**

  **Location of lame binary**

- **--mplayer \<path\>**

  **Location of mplayer binary**

- **--vlc \<path\>**

  **Location of vlc or cvlc binary**

## AUTHOR

**get\_iplayer is written and maintained by Phil Lewis \<iplayer2 (at sign) linuxcentre.net\>.**

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

## COPYRIGHT NOTICE

**get\_iplayer v2.78, 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.**
