prefs - get-iplayer/get_iplayer GitHub Wiki

Setting preferences

Click here for all config options (Return to ToC)

User preferences

All user-level preferences and application data (download history, cache files, PVR searches, presets) are stored in your profile directory ($HOME/.get_iplayer or %USERPROFILE%\.get_iplayer in Windows). Default user preferences are saved in a file named "options" ($HOME/.get_iplayer/options or %USERPROFILE%\.get_iplayer\options in Windows). You can specify an alternate profile directory at runtime with the --profile-dir option. However, the --profile-dir option itself cannot be saved in your preferences. In order to permanently configure an alternate profile directory, use the GETIPLAYER_PROFILE environment variable to specify its full path.

System defaults

System-wide defaults for all users can be added to /etc/get_iplayer/options on Unix/macOS and %ALLUSERSPROFILE%\get_iplayer\options in Windows. You may also use the GETIPLAYER_DEFAULTS environment variable to specify the full path to a custom system options file. You are extremely unlikely to need this facility unless you are packaging get_iplayer for an unusual Linux/BSD configuration.

Options file format

You are strongly discouraged from editing options files directly. Use the commands for working with options described below.

The options file format is as follows:

<option key> <option value>

The key and value are separated by a space. The option key is the option name with hyphens removed (except for --tag-xxx options, where hyphens are replaced by underscores). For example, --file-prefix becomes fileprefix and --tag-utf8 becomes tag_utf8. Boolean options (those that do not take an argument) have a value in the options file of 0 (off) or 1 (on). Example entries:

output /path/for/output
fileprefix <name>-<episode>
raw 1

For option values that contain white space, do not wrap the values with quotes. This is particularly true for option values that represent full or partial file paths (e.g., output or fileprefix). You almost certainly don't want wrapping quotes to appear in the final file path.

In options files, lines with a leading hash character (#) are ignored.

Working with options

Default user preferences can be added, removed or changed as shown in the following examples. Note that preferences will be applied when running get_iplayer from the command line AND when running it from the Web PVR Manager, unless overridden at run time.

Save or update proxy settings and verbose output as user defaults in get_iplayer profile directory :

get_iplayer --prefs-add --verbose --proxy=http://proxy.domain.com:3128

Additionally save programme type settings (this will only update the specified options - existing options will be retained):

get_iplayer --prefs-add --type=radio,tv

Change your default file prefix:

get_iplayer --prefs-add --file-prefix="<name> - <dldate> <pid> <version>"

Change your default output directory:

get_iplayer --prefs-add --output="/home/user/get_iplayer"

Always create subdirectories in output directory and retain whitespace in file names:

get_iplayer --prefs-add --subdir --whitespace

Set default recording qualities:

get_iplayer --prefs-add --tv-quality=fhd,hd --radio-quality=high,std

Remove a boolean option from those saved (e.g. --subdir):

get_iplayer --prefs-del --subdir

Remove a string-valued option from those saved (e.g. --tv-quality):

get_iplayer --prefs-del --tv-quality=fhd,hd

You don't necessarily need to know the existing string value. A placeholder string will do:

get_iplayer --prefs-del --tv-quality=X

Show all saved default options:

get_iplayer --prefs-show

Completely clear all saved default options:

get_iplayer --prefs-clear

See Options list for a full list of available options.

Option presets

User-defined groups of options can be specified as presets, which are stored in separate files (1 per preset), in the "presets" subdirectory of your profile directory. Preset files have the same format as the user options file (see above). Options defined in presets override corresponding options in the user options file. Options specified on the command line override corresponding options in both.

Save or update several options in the preset named 'my_preset' (saved in $HOME/.get_iplayer/presets/my_preset or C:\Users\%USERNAME%\.get_iplayer\presets\my_preset in Windows):

get_iplayer --preset=my_preset --prefs-add --hide --since=24

Additionally save programme type for preset named 'my_preset' (this will only update the specified preset - existing preset options will be retained):

get_iplayer --preset=my_preset --prefs-add --type=radio,tv

To use a preset to override default settings, use the --preset option:

get_iplayer --preset=my_preset "Doctor Who"

The --preset option value can be saved as part of a PVR search:

get_iplayer --pvr-add=the_doctor --preset=my_preset "Doctor Who"

User commands can be saved in presets:

Unix/macOS

get_iplayer --preset=mp3_320k --prefs-add --command-radio='ffmpeg -i "<filename>" -c:v copy -c:a libmp3lame -ab 320k -y "<dir>/<fileprefix>.mp3"'

Windows

get_iplayer --preset=mp3_320k --prefs-add --command-radio="ffmpeg -i \""<filename>"\" -c:v copy -c:a libmp3lame -ab 320k -id3v2_version 3 -write_id3v1 1 -y \""<dir>/<fileprefix>.mp3"\""

Remove a specific option from those saved in the preset named 'my_preset' (e.g. --since=24):

get_iplayer --preset=my_preset --prefs-del --since=24

Show all saved options in preset named 'my_preset':

get_iplayer --preset=my_preset --prefs-show

Completely clear all saved options in preset named 'my_preset':

get_iplayer --preset=my_preset --prefs-clear

Use the preset named 'my_preset' to search for programmes with names containing 'news':

get_iplayer --preset=my_preset news

Here is a more useful example: a preset that shows the BBC iPlayer TV programmes that have become available in the last 24hrs, hides ones you've already downloaded, and exclude some channels.

get_iplayer --prefs-add --preset=last24 --type=tv --available-since=24 --hide --exclude-channel=alba,cbbc,cbeebies,parliament

To run the preset at any time simply type:

get_iplayer --preset=last24
⚠️ **GitHub.com Fallback** ⚠️