Notices: This section not yet converted to new layout. Download stats are rolling back out.

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

getiplayer (Install)


Package test results are passing.

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

This package was approved as a trusted package on 5/9/2018.

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 from previous 30 days (not BBC Three, Red Button or iPlayer Exclusive)
  • Caching of programme 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, LWP::Protocol::https, XML::LibXML 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 scheduled for broadcast on BBC linear services within the previous 30 days, even if some are available for more than 30 days on the iPlayer site. It may be possible to download other content directly via PID or URL, but such use is not supported.
  • 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.

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

C:\> choco install getiplayer --version 3.14

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

C:\> choco upgrade getiplayer --version 3.14


  • tools\chocolateyinstall.ps1 Show
    $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      = '11fd223cbf497819379ca82030a5339758e5e197'
      checksumType  = 'sha1'
      checksum64    = ''
      checksumType64= 'sha256'
    Install-ChocolateyPackage @packageArgs
  • tools\chocolateyuninstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    $packageName = 'getiplayer'
    $softwareName = 'get_iplayer*'
    $installerType = 'EXE' 
    $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"}

Virus Scan Results

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.


This package has no dependencies.

Package Maintainer(s)

Software Author(s)

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


2008-2010 Phil Lewis


Release Notes

Changes in 3.14

Recording mode changes

In April 2018 the BBC removed some media streams, including the [email protected] streams referred to by the recording mode "hlshd" in getiplayer. The "hlshd" streams still exist for some repeats and box sets, but in general they are not available for new programmes. Consequently, some changes have been made to getiplayer recording modes:

  • 50fps streams will now be tried first for 1280x720, 960x540, and 704x396 video, with 25fps streams as fallback for 960x540 and 704x396. This means that those TV downloads will roughly double in size and take twice as long compared to previous releases (when using default settings). 50fps HD video requires 2GB+ storage per hour of video.
  • Removed --fps50 option as it is now the default
  • Added --fps25 option to force use of 25fps streams only (HD video not available). An equivalent "Use only 25fps streams" option was added to the "Recording" tab of the Web PVR.
  • Removed all "hls"-prefixed TV and radio modes, except for "hlshd" ([email protected]). Old values are automatically mapped to alternative modes, with warning emitted.
  • Although "hlshd" appears to be on the way out, some older programmes, repeats and box sets may still be available with those streams. However, "hlshd" is no longer included in any mode shortcuts or defaults. It must be specified separately. See Recording quality for examples. Check for the presence of "hlshd" streams with --info.
  • Removed "vgood" mode shortcuts. Now mapped to "better".
  • Removed "worse" mode shortcuts. Now mapped to "good".
  • Removed "vhigh" TV quality level ([email protected]). Now mapped to "xsd" ([email protected]).
  • Removed "std" TV quality level ([email protected]). Now mapped to "xhigh" ([email protected]).
  • Added hd,sd,high,low shortcuts for --tvmode and high,std,med,low shortcuts for --radiomode. Prefix with "tv" or "radio", respectively, for use with --modes or Web PVR. These shortcuts provide a means to download only streams of the corresponding resolution or bit rate, without fallback to lower resolution or bit rate as is the case for shortcuts such as "best" or "better". These single-quality shortcuts may be combined. Notes:

    • Don't use --tvmode=hd with --fps25 since HD streams are not available.

    • Don't use --tvmode=hd with audiodescribed programmes since HD streams generally are not available.

    • Don't use --tvmode=med or --radiomode=hd,sd since such streams are not available.

    • Be careful if using --radiomode=high,std for World Service programmes since such streams may only be available for podcast versions.

  • HLS ("haf" modes) is now default stream format for radio downloads, with DASH ("daf" modes) as fallback

If you plan to re-encode 50fps HD downloads to smaller 25fps files, you may wish to consider adding the --raw option to get_iplayer downloads and using the resulting .ts or .m4a/.m4v files as re-encoding inputs. That would save a bit of time by not copying the file twice more during remuxing to MP4 and metadata tagging.

Other changes

  • get_iplayer now tops up its cache to 30 days no matter how long it has been since the last update. If you update weekly, you shouldn't notice any difference. If you update after a long gap, the first update will take noticeably longer. The initial update after a new installation will also take noticeably longer since you are building an entire 30-day cache. You can use the --refresh-limit option to restrict the time period covered by a cache update.
  • get_iplayer now uses HTTPS everywhere. All internally-generated URLs are HTTPS, and only HTTPS media URLs are used by default. There may be rare cases where streams for a programme are missing because no HTTPS media URLs are available. In that event, use --stream-http to see if any non-HTTPS URLs are available. Removed --include-https option as it is now the default.
  • DASH downloads are now put through an extra remux to ensure that output files are compatible with Windows Media Player, iTunes, and other similarly finicky media players. This should affect few users since HLS is the default stream format. If you don't need or don't want the extra post-processing, disable it with --no-dash-remux.
  • Use the new --credits and --credits-only options to download programme credits. Credits are available for many TV programmes, and a few radio programmes such as Radio 4 dramas. The credits are downloaded to a plain text .credits.txt file in your output directory. Not configurable in Web PVR.
  • Use the new --tag-credits option to append the programme credits decribed above to the output file's "lyrics" metadata tag. You do not need to specify --credits unless you wish to retain the .credits.txt file as well. Not configurable in Web PVR.
  • The file extension for track lists has changed from .trk to .tracks.txt.
  • Added --available-before option to bracket searches with --available-since. Not configurable in Web PVR.
  • Added --thumbnail-square option to retrieve square version of thumbnail image. Not configurable in Web PVR.
  • Removed unused --no-hq-audio option
  • All non-core Perl modules used by getiplayer (except those from Mojolicious) are now loaded when the getiplayer script is compiled before execution. If you are missing some dependencies, you will see error messages similar to:

    Can't locate XML/ in @INC (you may need to install the XML::LibXML module)


See: get_iplayer wiki

More Information

See: get_iplayer wiki

Version History

Version Downloads Last updated Status
getiplayer (Install) 3.21 132 Monday, July 15, 2019 approved
getiplayer (Install) 3.20 197 Tuesday, February 26, 2019 approved
getiplayer (Install) 3.18 146 Thursday, January 3, 2019 approved
getiplayer (Install) 3.16 315 Friday, July 6, 2018 approved
getiplayer (Install) 3.15 103 Thursday, July 5, 2018 approved
getiplayer (Install) 3.14 216 Wednesday, May 9, 2018 approved
getiplayer (Install) 3.13 232 Tuesday, March 27, 2018 approved
getiplayer (Install) 3.12 279 Monday, January 15, 2018 approved
getiplayer (Install) 3.10 189 Friday, January 12, 2018 approved
Show More

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 uses cookies to enhance the user experience of the site.