quality - get-iplayer/get_iplayer GitHub Wiki

Recording quality

Click here for all recording options (Return to ToC)

Configuring recording quality

It is recommended that you use default settings unless you want to restrict recording to lower-quality streams. You may wish to do so if, for example:

  • HD TV requires 2GB+ storage per hour of video, which may be too much for your needs
  • You may feel that 320kbps is unnecessary if you only record speech radio programmes

Use the information below as a guide to configure get_iplayer recording quality.

Video storage

Rough estimates of the storage requirements for HLS TV recordings at each video resolution and frame rate:

Resolution FPS Storage (MB/hr) Notes
1920x1080 50 3600 varies widely
1280x720 50 2200
960x540 50 1200
960x540 50 800 lower-bitrate 50fps
704x396 50 800
704x396 25 500
512x288 25 300

TV

Select the desired quality of TV programmes with --tv-quality. The available settings are:

--tv-quality Alias Resolution FPS Mb/s Notes
fhd 1080p 1920x1080 50 3.5-10 not included by default and not available for audiodescribed programmes (and some others)
hd 720p 1280x720 50 5 not available for audiodescribed programmes (and some others)
sd 540p 960x540 50 3/1.7 Use --tv-lower-bitrate for lower bit rate
web 396p 704x396 50/25 1.7/0.9 Use --tv-lower-bitrate for lower bit rate
mobile 288p 512x288 25 0.5
default - - - - hd,sd,web,mobile

NOTE: 25fps and lower-bitrate 50fps streams generally come with 96k HE-AAC audio.

NOTE: UHD/4k streams are not available to get_iplayer.

NOTE: FHD/1080p video is not downloaded by default. By default, get_iplayer downloads the highest video resolution available, up to 720p. You must request 1080p quality specifically with --tv-quality="fhd" or --tv-quality="1080p".

You can configure multiple quality settings in the form of a comma-delimited list, which is processed from left to right. List processing stops upon a successful recording. Do not put spaces between list items.

get_iplayer --tv-quality="fhd,hd" [...]

Aliases can be used interchangeably:

get_iplayer --tv-quality="1080p,720p" [...]

TV recording quality settings can be saved in your preferences:

get_iplayer --prefs-add --tv-quality="fhd,hd"

or saved in a PVR search:

get_iplayer --pvr-add test --tv-quality="fhd,hd" [...]

or a preset:

get_iplayer --prefs-add --preset=test --tv-quality="fhd,hd" [...]

If you have saved a non-default value for --tv-quality, you can temporarily override it and reset to the default settihg by using the special value 'default':

get_iplayer --tv-quality="default" [...]

If you wish to record lower-bitrate streams (for 'sd' and 'web' quality only), use --tv-lower-bitrate:

get_iplayer --tv-lower-bitrate [...]

This option can also be saved in your preferences:

get_iplayer --prefs-add --tv-lower-bitrate

or saved in a PVR search:

get_iplayer --pvr-add=test --tv-lower-bitrate [...]

or a preset:

get_iplayer --prefs-add --preset=test --tv-lower-bitrate [...]

Radio

Select the desired quality of TV programmes with --radio-quality. The available settings are:

--radio-quality Alias kb/s Notes
high 320k 320 may not be available to non-UK users
std 128k 128 may not be available to non-UK users
med 96k 96
low 48k 48
default - - high,std,med,low

NOTE: By default, get_iplayer downloads the highest audio bit rate available for radio programmes. 96k is nominally the highest bit rate available to non-UK users.

NOTE: 96k and 48k streams generally contain HE-AAC audio.

You can configure multiple quality settings in the form of a comma-delimited list, which is processed from left to right. List processing stops upon a successful recording. Do not put spaces between list items.

get_iplayer --radio-quality="med,low" [...]

Aliases can be used interchangeably:

get_iplayer --radio-quality="96k,48k" [...]

Radio recording quality settings can be saved in your preferences:

get_iplayer --prefs-add --radio-quality="med,low"

or saved in a PVR search:

get_iplayer --pvr-add=test --radio-quality="med,low" [...]

or a preset:

get_iplayer --prefs-add --preset=test --radio-quality="med,low" [...]

If you have saved a non-default value for --radio-quality, you can temporarily override it and reset to the default settihg by using the special value 'default':

get_iplayer --radio-quality="default" [...]

Combined TV and Radio

Use --quality to configure a combination of TV and radio quality settings. You can configure multiple quality settings in the form of a comma-delimited list, which is processed from left to right. List processing stops upon a successful recording. Do not put spaces between list items.

get_iplayer --quality="web,mobile,med,low" [...]

Aliases can be used interchangeably:

get_iplayer --quality="396p,288p,96k,48k" [...]

Combined recording quality settings can be saved in your preferences:

get_iplayer --prefs-add --quality="web,mobile,med,low"

or saved in a PVR search:

get_iplayer --pvr-add=test --quality="web,mobile,med,low" [...]

or a preset:

get_iplayer --prefs-add --preset=test --quality="web,mobile,med,low" [...]

If you have saved a non-default value for --quality. you can temporarily override it and reset to the default settihg by using the special value 'default':

get_iplayer --quality="default" [...]

NOTE: The default value for --quality is a combination of the default values for --tv-quality and --radio-quality (see above).

NOTE: Configuring combined quality settings from the command line is discouraged. This option is provided primarily to support the Web PVR Manager. Use --tv-quality and --radio-quality instead.

Web PVR Manager

The Recording Quality field in the Recording tab is the equivalent of --quality, as described above. Enter combined TV and radio quality settings in the form of a comma-delimited list. List processing stops upon a successful recording. Do not put spaces between list items. Referring to the instructions above, insert only the value of --quality in the Recording Quality field in the Recording tab. As an example, instead of --quality="hd,sd", insert hd,sd.

The Prefer lower-bitrate TV streams option in the Recording tab, if set to On, is the equivalent of --tv-lower-bitrate, as described above.

After entering the desired values in the Recording tab, click Save As Default if you wish to apply the new settings to all recordings.

Examples

Some examples of recording quality settings are shown below. Note that any recording quality settings on the command line will override the defaults and those configured in your preferences, presets, and PVR searches.

TV

Record FHD/1080p TV programme without fallback to lower-quality streams:

get_iplayer --tv-quality="fhd" [...]

Record FHD/1080p TV programme with fallback only to HD/720p if 1080p unavailable:

get_iplayer --tv-quality="fhd,hd" [...]

Previous example using aliases:

get_iplayer --tv-quality="1080p,720p" [...]

Record SD/540p TV programme with preference for lower-bitrate stream (if available):

get_iplayer --tv-quality="sd" --tv-lower-bitrate [...]

Record TV programme with best available quality <HD/720p:

get_iplayer --tv-quality="sd,web,mobile" [...]

Record TV programme with lowest available quality <HD/1080p:

get_iplayer --tv-quality="mobile,web,sd" [...]

Radio

Record a 128k audio stream for a radio programme without fallback to lower-quality streams (may not be available to international users):

get_iplayer --radio-quality="std" [...]

Record a 128k radio programme with fallback only to 48k:

get_iplayer --radio-quality="std,low" [...]

Previous example using aliases:

get_iplayer --radio-quality=128k,48k [...]

Record a 320k radio programme, podcast version only, without fallback to lower-quality streams (may not be available to international users):

get_iplayer --versions=podcast --radio-quality="high" [...]

Record radio programme with lowest available quality:

get_iplayer --tv-quality="low,med,std,high" [...]

Record radio programme with best available quality (default setting):

get_iplayer --tv-quality="high,std,med,low" [...]

Combined/Web PVR Manager

For the Web PVR Manager, insert only the value of --quality in the Recording Quality field in the Recording tab. As an example, instead of --quality="hd,sd", insert hd,sd.

Combined settings to record TV programme at 720p with fallback only to 540p, or radio progrmmme at 320k with fallback only to 128k:

get_iplayer --quality="hd,sd,high,std" [...]

Record TV or radio programme with lowest available quality:

get_iplayer --quality="mobile,web,sd,hd,fhd,low,med,std,high" [...]

Previous example using aliases:

get_iplayer --quality="288p,396p,540p,720p,1080p,48k,96k,128k,320k" [...]

Record TV or radio programme with best available quality:

get_iplayer --quality="fhd,hd,sd,web,mobile,high,std,med,low" [...]

Stream formats

You should never need to select the stream format get_iplayer uses for recording. If for some reason the need arises, you can exclude formats using --exclude-format. The value of this option can be a comma-delimited list of formats to exclude, but that is not useful currently since there are only two available stream formats (HLS and MPEG-DASH). Exclude only one at a time.

Exclude all HLS streams:

get_iplayer --exclude-format=hls [...]

Exclude all MPEG-DASH streams:

get_iplayer --exclude-format=dash [...]

This option can be added to your preferences:

get_iplayer --prefs-add --exclude-format=dash [...]

or saved in a PVR search:

get_iplayer --pvr-add=test --exclude-format=dash [...]

or a preset:

get_iplayer --prefs-add --preset=test --exclude-format=dash [...]

Audiodescribed programmes

For an audiodescribed version of a TV programme (selected with --versions=audiodescribed), if none of sd,web,mobile is included in your recording quality settings, they will be added to ensure that the programme is recorded. HD quality is not available for audiodescribed programmes.

Recording "modes"

BBC iPlayer and BBC Sounds make programmes available in different streaming formats (HLS and MPEG-DASH) at multiple levels of video and audio quality. Internally, get_iplayer represents each stream's combination of format and quality with an alphanumeric code, referred to as a "mode". This terminology is used widely in older get_iplayer documentation. You only need to select your desired recording quality, as detailed above. get_iplayer will convert your settings into the necessary "modes".