Downloads of v 3.00:


Last Update:

02 May 2017

Package Maintainer(s):

Software Author(s):

  • Alexey Tourbin
  • Andrew Elwell
  • Andy Bircumshaw
  • Bill Boughton
  • Caius Durling
  • Chris Reed
  • BBR
  • Crispin Flowerday
  • David Woodhouse
  • HenderHobbit
  • James
  • James Laver
  • James Ross
  • James Teh
  • John Henderson
  • Jon Davies
  • Jonathan Harris
  • Jonathan Larmour
  • Jonathan Wiltshire
  • Matthew Boyle
  • Mike Crowe
  • Mike Fleetwood
  • Murray
  • Phil Cole
  • Ralf Baechle
  • Sharon Kimble
  • Shevek
  • Steven Luo
  • Stuart Henderson
  • Vangelis forthnet
  • Vangelis66
  • Will Elwood
  • dinkypumpkin
  • fs ck
  • fsck
  • linuxcentrenet
  • willemw12


iplayer admin bbc tv radio media video audio podcast

getiplayer (Install)

This is not the latest version of getiplayer (Install) available.

3.00 | Updated: 02 May 2017



Downloads of v 3.00:



Software Author(s):

  • Alexey Tourbin
  • Andrew Elwell
  • Andy Bircumshaw
  • Bill Boughton
  • Caius Durling
  • Chris Reed
  • BBR
  • Crispin Flowerday
  • David Woodhouse
  • HenderHobbit
  • James
  • James Laver
  • James Ross
  • James Teh
  • John Henderson
  • Jon Davies
  • Jonathan Harris
  • Jonathan Larmour
  • Jonathan Wiltshire
  • Matthew Boyle
  • Mike Crowe
  • Mike Fleetwood
  • Murray
  • Phil Cole
  • Ralf Baechle
  • Sharon Kimble
  • Shevek
  • Steven Luo
  • Stuart Henderson
  • Vangelis forthnet
  • Vangelis66
  • Will Elwood
  • dinkypumpkin
  • fs ck
  • fsck
  • linuxcentrenet
  • willemw12

getiplayer (Install) 3.00

This is not the latest version of getiplayer (Install) available.

All Checks are Passing

2 Passing Test

Validation Testing Passed

Verification Testing Passed


To install getiplayer (Install), run the following command from the command line or from PowerShell:


To upgrade getiplayer (Install), run the following command from the command line or from PowerShell:


To uninstall getiplayer (Install), run the following command from the command line or from PowerShell:


NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to

4. Choose your deployment method:

choco upgrade getiplayer -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade getiplayer -y --source="'STEP 3 URL'"

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Ensure getiplayer installed
    name: getiplayer
    state: present
    version: 3.00
    source: STEP 3 URL

See docs at

chocolatey_package 'getiplayer' do
  action    :install
  version  '3.00'
  source   'STEP 3 URL'

See docs at

    Name: getiplayer,
    Version: 3.00,
    Source: STEP 3 URL

Requires Otter Chocolatey Extension. See docs at

cChocoPackageInstaller getiplayer
   Name     = 'getiplayer'
   Ensure   = 'Present'
   Version  = '3.00'
   Source   = 'STEP 3 URL'

Requires cChoco DSC Resource. See docs at

package { 'getiplayer':
  provider => 'chocolatey',
  ensure   => '3.00',
  source   => 'STEP 3 URL',

Requires Puppet Chocolatey Provider module. See docs at

salt '*' chocolatey.install getiplayer version="3.00" source="STEP 3 URL"

See docs at

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved by moderator flcdrg on 06 May 2017.


get_iplayer: BBC iPlayer Indexing Tool and PVR


  • Downloads TV and radio programmes from BBC iPlayer
  • Allows multiple programmes to be downloaded using a single command
  • Indexing of most available iPlayer catch-up programmes (not BBC Three, Red Button or iPlayer Exclusive)
  • Caching of index with automatic updating
  • Regex search on programme name
  • Regex search on programme description and episode title
  • Filter search results by channel
  • Direct download via programme ID or URL
  • PVR capability (may be used with cron or Task Scheduler)
  • HTTP proxy support
  • Perl 5.10.1+ required, plus LWP, LWPProtocolhttps, XMLSimple, XMLLibXML and Mojolicious modules
  • Requires ffmpeg for conversion to MP4 and AtomicParsley for metadata tagging
  • Runs on Linux/BSD (Ubuntu, Fedora, OpenBSD and others), macOS (10.10+), Windows (7/8/10 - XP/Vista not supported)


  • get_iplayer can only search for programmes that were broadcast on BBC linear services within the previous 30 days, even if some are available for more than 30 days on the iPlayer site. Any programmes that are still available after 30 days must be located on the iPlayer site and downloaded directly via PID or URL.
  • get_iplayer does not support downloading news/sport videos, other embedded media, archive sites, special collections, educational material, programme clips or any content other than whole episodes of programmes broadcast on BBC linear services within the previous 30 days, plus episodes of BBC Three programmes posted within the same period. It may be possible to download other content directly via PID or URL, but such use is not supported.


$ErrorActionPreference = 'Stop';

$packageName= 'getiplayer'
$toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$url        = ''

$packageArgs = @{
  packageName   = $packageName
  unzipLocation = $toolsDir
  fileType      = 'exe'
  url           = $url
  url64bit      = $url64

  softwareName  = 'getiplayer*'

  checksum      = '38e0e78d4f409d6a6c1fbf2ef414ad8973437321'
  checksumType  = 'sha1'
  checksum64    = ''
  checksumType64= 'sha256'

  silentArgs   = '/S'

Install-ChocolateyPackage @packageArgs

$ErrorActionPreference = 'Stop';

$packageName = 'getiplayer'
$softwareName = 'get_iplayer*'
$installerType = 'EXE' 

$silentArgs = '/S /qn /norestart'
$validExitCodes = @(0, 3010, 1605, 1614, 1641)
if ($installerType -ne 'MSI') {
  $silentArgs = '/S'
  $validExitCodes = @(0)

$uninstalled = $false
[array]$key = Get-UninstallRegistryKey -SoftwareName $softwareName

if ($key.Count -eq 1) {
  $key | % { 
    $file = "$($_.UninstallString)"

    if ($installerType -eq 'MSI') {
      $silentArgs = "$($_.PSChildName) $silentArgs"

      $file = ''

    Uninstall-ChocolateyPackage -PackageName $packageName `
                                -FileType $installerType `
                                -SilentArgs "$silentArgs" `
                                -ValidExitCodes $validExitCodes `
                                -File "$file"
} elseif ($key.Count -eq 0) {
  Write-Warning "$packageName has already been uninstalled by other means."
} elseif ($key.Count -gt 1) {
  Write-Warning "$key.Count matches found!"
  Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
  Write-Warning "Please alert package maintainer the following keys were matched:"
  $key | % {Write-Warning "- $_.DisplayName"}

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Version Downloads Last Updated Status
getiplayer (Install) 3.27 37 Monday, February 15, 2021 Approved
getiplayer (Install) 3.26 341 Tuesday, June 30, 2020 Approved
getiplayer (Install) 3.25 402 Monday, February 3, 2020 Approved
getiplayer (Install) 3.24 148 Friday, January 10, 2020 Approved
getiplayer (Install) 3.23 170 Wednesday, December 4, 2019 Approved
getiplayer (Install) 3.22 286 Tuesday, August 20, 2019 Approved
getiplayer (Install) 3.21 208 Monday, July 15, 2019 Approved
getiplayer (Install) 3.20 301 Tuesday, February 26, 2019 Approved
getiplayer (Install) 3.18 220 Thursday, January 3, 2019 Approved

get_iplayer 3.00 Release Notes

Read First

  • Deprecated features have been removed in this release. See the "Removed" section below. There are also new deprecations.

  • Packagers:

    • get_iplayer no longer uses rtmpdump (or flvstreamer). You can remove those as dependencies for your package.
    • get_iplayer 3.00 introduces a new dependency on the Mojolicious Perl module. It has been tested against the ancient Mojolicious 4.63 in Ubuntu 14.04, but a higher required version may be necessary in subsequent releases.
    • get_iplayer 3.00 also introduces a dependency on the JSONPP Perl module. That is a core module in Perl 5.14+, and would normally be pulled in by Mojolicious if installing on 5.10.1 or 5.12. It is unlikely any of you are targeting Perl <5.14, but if you are, make sure that JSONPP is installed along with any packaged version of Mojolicious.

    get_iplayer 3.00 dependencies are:

    • External programs:
      • atomicparsley
      • ffmpeg
    • Perl modules:
      • JSON::PP
      • LWP
      • LWPProtocolhttps
      • Mojolicious
      • XML::LibXML
      • XML::Simple
  • If you haven't read the release notes for get_iplayer 2.99, read them now.

  • If you haven't read the release notes for get_iplayer 2.98, read them now.

  • If you haven't read the release notes for get_iplayer 2.97, read them now.

  • If you haven't read the release notes for get_iplayer 2.96, read them now.

  • If you haven't read the release notes for get_iplayer 2.95, read them now.


1. Restored functionality broken by the BBC

The BBC removed all the XML-based data sources used by get_iplayer on 2017-04-26, breaking a lot of get_iplayer functionality. That functionality has been restored, but there are changes to be aware of - get_iplayer has not survived unscathed. Some of the changes are similar to those associated with the --ybbcy option introduced in get_iplayer 2.95. However, the underlying implementation has changed and that option can no longer be specified by users.

Do this first

Immediately after installing get_iplayer 3.00, run:

get_iplayer --cache-init --type="tv,radio"

Exclude the --type option if you only want TV programmes. The --cache-init option will update your cache with programmes from both the previous and current calendar weeks. It is a temporary means to avoid any holes in your cache when updating from 2.99. This initial update will take a a little while (2-5 minutes), but you only have to do it once. If you're using Perl <5.10.1 or didn't install Mojolicious, it may take 5-10 minutes because you won't be able to take advantage of concurrent indexing (see "Programme indexing" below). The time it takes on your system may vary quite a bit from this estimate. Note that you cannot do this cache initialisation from the web pvr. It must run from the command line.

EDIT: Along with some other site changes, it appears that the BBC has improved the performance of their schedule pages. The estimates of cache refresh time in the original version of this document have been reduced.

Cache updates

  • Cache updates are now a bit slower. See "Programme indexing" below.
  • The slower updates are compensated for by the fact that the cache is now updated only once per calendar week (Mon-Sun). The cache will be updated the first time get_iplayer runs during the week.
  • There is virtually no reason you should need to force a cache update once it has been updated during the current calendar week. Rare last-minute additions to the BBC schedule would not be indexed, but you can always download such programmes directly via PID or URL.
  • If you run PVR searches via cron, Task Scheduler or similar, you may wish to schedule a weekly cache update before your first PVR run of each week. Just run get_iplayer --refresh --type="tv,radio" (omit --type for TV only) to update the cache from the current week's programme schedule.
  • All programmes will be retained in the cache for 30 days even if they should expire sooner (expiry information is not available from schedule pages). This means that unavailable programmes will appear in search results. Many of these are ephemeral programmes such as newscasts and weather forecasts, but some unavailable entertainment programmes and films will also be returned in search results.
  • Thumbnail image URLs are no longer generated in the cache. You will only notice this if you use the Web PVR, where thumbnails are no longer displayed. Thumbnails used for metadata tagging are still available.

EDIT: A bug has been reported that leads to search and download failures for programmes with repeats scheduled later in the current calendar week. See: Known Issues

Programme indexing

  • Programme indexing for cache updates is now a bit slower. It may take 2-5 mins (with concurrent indexing - see below) for a weekly update with all tv and radio channels, but the indexing time on your system can vary quite a bit from that estimate.

  • The slower indexing derives from that fact that get_iplayer now depends on BBC schedule pages for programme information. A high-speed connection won't help a lot because most of any delay lies in page rendering at the BBC end.

  • Reliance on web scraping makes programme indexing much more fragile than in previous releases. Expect it to break more often, which will require new releases to fix.

  • get_iplayer now uses concurrent indexing (implemented with Mojolicious) to speed up cache updates. If Mojolicious isn't installed, you will fall back to sequential indexing. If you encounter problems with concurrent indexing, you can temporarily revert to sequential indexing by using --no-index-concurrent. Sequential indexing will take at least twice as long, or even longer. Also, sequential indexing is deprecated and will disappear in a future release.

  • The most effective way to reduce indexing time is to eliminate channels you don't need from your cache updates. For example: Except for short-lived local news bulletins, there are very few unique programmes on local BBC One variants. Exclude them with:

    get_iplayer --prefs-add --refresh-exclude-groups-tv="local"

    Excluding unwanted channels will make a noticeable difference to indexing time. See the relevant documentation for other examples.

  • If you have sufficient resources, you may be able to reduce indexing time a bit by using a few more concurrent connections. Use the --index-maxconn option for this.

  • Users of Perl <5.10.1 will not have access to concurrent indexing because it depends on Mojolicious, which requires Perl 5.10.1+. Without Mojolicious, get_iplayer will will temporarily fall back to sequential indexing. Note that support for Perl <5.10.1 is now deprecated.

  • The option for Linux/BSD/macOS users to employ the Parallel::ForkManager Perl module for concurrent indexing, introduced in get_iplayer 2.95 with --ybbcy, has been removed.

Programme metadata

Programme metadata (used for tagging) has been restored nearly to its former state. The only difference is that the &lt;lastbcast&gt;, &lt;lastbcastdate&gt;, and &lt;lastbcastrel&gt; substitution parameters are no longer available. This is only a temporary reprieve since metadata retrieval will need to adopt web scraping at some point within the next year because the BBC will be removing the last sources of structured programme data.

Recursive downloads

The recursive download functionality (via --pid-recursive) has been re-implemented. It also now relies on web scraping, so it should be considered fragile and subject to breakage at any time.

2. Subtitles now in colour

The SRT subtitles produced by get_iplayer now include &lt;font&gt; tags to preserve the colour information from the TTML originals. Subtitles from get_iplayer should now appear as a reasonable approximation of the subtitles on the iPlayer site. If your media player is unable to cope with &lt;font&gt; tags in SRT subtitles, or you don't like colour subtitles, you can revert back to the old monochrome format with --subs-mono.

The subtitles conversion in get_iplayer has been re-implemented using XML::LibXML. If you encounter problems with the new implementation, you can configure get_iplayer revert back to the old conversion code with:

get_iplayer --prefs-add --subsfmt=default

However, that option is deprecated and will be removed in a future release, so if you find programmes whose subtitles can't be processed with the new implementation, report them in the forums.

EDIT: A bug has been reported in the new subtitles implementation. See: Known Issues.

3. Other changes

  • get_iplayer now supports the BBC "bidi" CDN, so additional streams are available for TV programmes.
  • Additional subtitle streams are now picked up from the BBC stream data, so you will see more "subtitle" modes for TV programmes. The subtitle streams for a programme all provide the same subtitles, but there is now some backup if the initial subtitles stream fails to download.
  • Series thumbnails are now preferred to brand thumbnails where possible. This should provide more appropriate thumbnails for strands within radio anthology series.
  • hvf modes for TV programmes will now produce files with 320k audio, if available. 320k audio is not available for hls or dvf modes.
  • When --no-tag is used, get_iplayer now adds -movflags faststart to the ffmpeg command it uses to remux files to MP4. This optimises files for streaming by placing the "moov" atom before the media data in the file. This optimisation is normally performed by AtomicParsley when files are tagged. If your version of ffmpeg is too ancient to understand -movflags faststart, suppress this behaviour with --ffmpeg-obsolete.


The features below were deprecated in get_iplayer 2.95 and have now been removed.

  • Support for RTMP (Flash) media streams. Any flash recording modes specified in your preferences will automatically be converted to equivalent daf or hls modes and a warning emitted. You should remove any flash modes in your preferences.

Options removed

With the removal of deprecated features, the following options have been removed. An error will be generated if you attempt to use these on the command line. A warning will be printed if any of these are found in saved preferences.



  • Fixed a bug where &lt;dir&gt; would break custom commands if output directory was a UNC path.
  • Restored hls modes for local news bulletins that were lost due to BBC changes.

Support Notes

Bandwidth throttling(?) by CDNs

You may have noticed substantial differences in download speed between the iPlayer CDNs. This differential can vary with time of day. It is only speculation, but one or more CDNs may be throttling connection bandwidth at times, which would be no surprise given that the iPlayer media delivery infrastructure is geared towards streaming. This is just a reminder that you can use --exclude-supplier to temporarily exclude a slow CDN.

Things can only get worse

For whatever life it has left, get_iplayer will rely more heavily on web scraping. This is fragile and easily broken by BBC changes. This is just a warning that it may be necessary to make smaller, more frequent releases of get_iplayer for a while. Hopefully, downloading of individual episodes via PID or URL will still work in some fashion during those outages, but there is no way to know.

EDIT: get_iplayer now requires macOS 10.10 Yosemite or higher

If you are one of the hardy few who install get_iplayer via Homebrew, be aware that macOS 10.10 (Yosemite) is now required to install or upgrade to v3.00.0. Also, only macOS 10.10 or higher is supported for manual installation. Users of earlier releases can attempt to perform a manual installation, but it is unsupported and get_iplayer may fail. If you are upgrading on macOS, be sure to read Upgrading before proceeding.

EDIT: Reminder: Windows XP/Vista not supported

Support for XP/Vista was dropped nearly a year ago. The version of ffmpeg supplied with the get_installer is not compatible with XP (Vista status unknown), and there may be other problems. You will have to find a compatible version of ffmpeg if you want to keep using XP/Vista.


The features below have been deprecated and will be removed in a future release of get_iplayer.

Sequential programme indexing

The sequential programme indexing code introduced with the --ybbcy option in get_iplayer 2.95 is still available in get_iplayer 3.00 as a backup method should any problems arise in the Mojolicious-based concurrent indexing. Once the shakedown phase for concurrent indexing is done, sequential programme indexing will be removed.

Support for Perl <5.10.1

The Perl version required for get_iplayer is now listed as 5.10.1, though you can still use 5.8.8-5.10.0 subject to the limitation that only sequential programme indexing is available. When sequential programme indexing is eventually removed and other functionality re-implemented with Mojolicious, Perl 5.10.1 will become a hard requirement.

Obsolete options

Some options are, or soon will be, obsolete due to changes in get_iplayer 3.00+.



Installation information can be found here:


More Information

See: get_iplayer wiki

This package has no dependencies.

Discussion for the getiplayer (Install) Package

Ground Rules:

  • This discussion is only about getiplayer (Install) and the getiplayer (Install) package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or getiplayer (Install), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus