Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

13,087

Downloads of v 3.29:

464

Last Update:

08 Feb 2022

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 Llewellyn-Jones
  • 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
  • hintswen
  • linuxcentrenet
  • notnac
  • wiehe
  • willemw12

Tags:

iplayer admin bbc tv radio media video audio podcast

getiplayer (Install)

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

  • 1
  • 2
  • 3

3.29 | Updated: 08 Feb 2022

Downloads:

13,087

Downloads of v 3.29:

464

Maintainer(s):

Software Author(s):

  • A. S. Budden
  • Alexey Tourbin
  • Andrew Elwell
  • Andy Bircumshaw
  • Bill Boughton
  • Caius Durling
  • Chris Reed
  • BBR
  • Crispin Flowerday
  • David Llewellyn-Jones
  • 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
  • hintswen
  • linuxcentrenet
  • notnac
  • wiehe
  • willemw12

getiplayer (Install) 3.29

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

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

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:

>

Deployment Method:

NOTE

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

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • 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 https://community.chocolatey.org/api/v2/. 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. Copy Your Script

choco upgrade getiplayer -y --source="'INTERNAL REPO URL'" --version="'3.29'" [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="'INTERNAL REPO URL'" --version="'3.29'" 
$exitCode = $LASTEXITCODE

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

Exit $exitCode

- name: Install getiplayer
  win_chocolatey:
    name: getiplayer
    version: '3.29'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'getiplayer' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '3.29'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller getiplayer
{
    Name     = "getiplayer"
    Version  = "3.29"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'getiplayer':
  ensure   => '3.29',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

NOTE

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

Package Approved

This package was approved as a trusted package on 08 Feb 2022.

Description

get_iplayer: BBC iPlayer/BBC Sounds Indexing Tool and PVR

Features

  • Downloads TV and radio programmes from BBC iPlayer/BBC Sounds
  • Allows multiple programmes to be downloaded using a single command
  • Indexing of most available iPlayer/Sounds catch-up programmes from previous 30 days (not Red Button, iPlayer Exclusive, or Podcast-only)
  • 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.16+ required, plus LWP, LWPProtocolhttps, XML::LibXML, Mojolicious, and CGI 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)

NOTE:

  • 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/Sounds sites. BBC Three programmes, red button programmes, iPlayer box sets, web-only content, and BBC podcasts are not searchable. Old programmes that are still available after 30 days must be located on the iPlayer/Sounds sites 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 is often possible to download other content such as red button programmes or iPlayer box sets directly via PID or URL. get_iplayer DOES NOT support live recording from BBC channels.

getiplayer.nuspec.bak
 
new_version.py
# Update get_iplayer to new version

import subprocess
import os
from shutil import copyfile
import requests


def replaceInTag(text, tag_name, new_inner):
    start_tag, end_tag = '<' + tag_name + '>', '</' + tag_name + '>'
    start_pos, end_pos = text.find(start_tag), nuspec.find(end_tag)

    text = text[:start_pos] + start_tag + new_inner + text[end_pos:]
    return text


# folders
user_dir = os.environ['USERPROFILE']
app_name = 'get_iplayer'
choco_name = 'getiplayer'
get_iplayer_folder = os.path.join(user_dir, 'GitHub', app_name)
wiki_folder = get_iplayer_folder + '_wiki'
choco_folder = os.path.join(user_dir, 'Documents', 'Scripts', choco_name)

# update GitHub + wiki folders (I think 'fetch' is correct)
assert subprocess.call('git fetch', cwd=get_iplayer_folder) == 0
assert subprocess.call('git fetch', cwd=wiki_folder) == 0

nuspec_filename = os.path.join(choco_folder, choco_name + '.nuspec')
nuspec = open(nuspec_filename, encoding='utf-8').read()

authors = open(os.path.join(get_iplayer_folder, 'CONTRIBUTORS')).read().replace('\n', ', ')[:-2]
nuspec = replaceInTag(nuspec, 'authors', authors)

release_notes = open(os.path.join(wiki_folder, 'releasenotes.md')).read().splitlines()

# find first link - should point to the newest version
for line in release_notes:
    start_pos, mid_pos, end_pos = line.find('['), line.find(']('), line.find(')')
    if -1 in (start_pos, mid_pos, end_pos):
        continue
    link_name = line[start_pos+1:mid_pos]
    link_dest = line[mid_pos+2:end_pos]
    if link_name.startswith(app_name):
        version = link_name.split(' ')[1]
        break

print(app_name + ' version ' + version)
nuspec = replaceInTag(nuspec, 'version', version)

# get info from readme
readme = open(os.path.join(get_iplayer_folder, 'README.md')).read().splitlines()

# get first two sections (title and 'Features')
description = ''
sections = 0
for line in readme:
    if line.startswith('## '):
        sections += 1
        if sections > 2:
            break
    description += line.replace('<', '`').replace('>', '`') + '\n'

nuspec = replaceInTag(nuspec, 'description', description)

release_notes_file, link_name = link_dest.split('#')
release_notes = open(os.path.join(wiki_folder, release_notes_file + '.md'), encoding='utf-8').read().splitlines()

new_release_notes = ''
in_section = False
for line in release_notes:
    if line.startswith('<a name="' + link_name + '"/>'):
        in_section = True
        continue
    if in_section:
        if line.startswith('<a name="'):  # next section
            break
        new_release_notes += line.replace('<', '`').replace('>', '`') + '\n'  # < and > need to be escaped

print(new_release_notes)
nuspec = replaceInTag(nuspec, 'releaseNotes', new_release_notes)
copyfile(nuspec_filename, nuspec_filename + '.bak')
open(nuspec_filename, 'w', encoding='utf-8').write(nuspec)

# get binary info
json = requests.get("https://api.github.com/repos/get-iplayer/get_iplayer_win32/releases/latest").content
release = eval(json.replace(b'false', b'False').replace(b'null', b'None').replace(b'true', b'True'))

for asset in release['assets']:
    name = asset['name']
    url = asset['browser_download_url']
    if name.endswith('.exe'):
        exe_url = url
    elif name.endswith('.sha1'):
        sha1 = requests.get(url).content.decode('utf-8').split(' ')[0]
    elif name.endswith('.sha256'):
        sha256 = requests.get(url).content.decode('utf-8').split(' ')[0]

# update the exe URL and checksums in the install file
install_file = os.path.join(choco_folder, 'tools', 'chocolateyinstall.ps1')
install = open(install_file, encoding='utf-8').read().splitlines()
new_install = ''
for line in install:
    pos = line.find("'")
    if line.startswith('$url'):
        line = line[:pos] + "'" + exe_url + "'"
    elif 'checksum ' in line:
        line = line[:pos] + "'" + sha1 + "'"
    elif 'checksum64' in line:
        line = line[:pos] + "'" + sha256 + "'"
    new_install += line + '\n'

open(install_file, 'w', encoding='utf-8').write(new_install)

# package and push to server
assert subprocess.call('choco pack', cwd=choco_folder) == 0
assert subprocess.call('choco push', cwd=choco_folder) == 0
NEW_VERSION_CHECKLIST.md
# Updating get_iplayer on Chocolatey

1. Open getiplayer.nuspec in Notepad++

2. Command prompt

   ```powershell
   c:
   cd \Users\bjs54\GitHub\get_iplayer
   git pull
   cd ..\get_iplayer.wiki
   git pull
   cd ..\get_iplayer_win32
   git pull
   
   ```

2. Update

   - version
   - authors: replace **\n** with **,** in [contributors](https://github.com/get-iplayer/get_iplayer/blob/master/CONTRIBUTORS)
   - description 
   - just the first (Features) section of [README](https://raw.githubusercontent.com/get-iplayer/get_iplayer/master/README.md): replace **<** and **>** with **[** and **]**
   - [releaseNotes](https://github.com/get-iplayer/get_iplayer/wiki/release320to329/_edit): put links in for previous release notes
   - replace angle brackets with &lt; and &gt; (doesn't work within `code tags`, so replace and remove the ` characters)

3. Go to [release page](https://github.com/get-iplayer/get_iplayer_win32/releases/latest) to get URLs and checksums (inc 64 bit)

4. Open tools/chocolateyinstall.ps1 in Notepad++; update:

   - `$url`
   - `$url64`
   - `checksum`
   - `checksum64`

5. Admin command prompt

   ```powershell
   c:
   cd \Users\bjs54\Documents\Scripts\getiplayer
   choco pack
   del getiplayer.3.XX.nupkg  <-- previous version
   choco push
   ```



*The `push` command renders the below unnecessary:*

1. *[Login to Chocolatey](https://chocolatey.org/packages/getiplayer/)* 
2. *Upload C:\Documents\Scripts\getiplayer\getiplayer.3.XX.nupkg*

ReadMe.md
## Summary
How do I create packages? See https://chocolatey.org/docs/create-packages

If you are submitting packages to the community feed (https://chocolatey.org)
always try to ensure you have read, understood and adhere to the create
packages wiki link above.

## Automatic Packaging Updates?
Consider making this package an automatic package, for the best 
maintainability over time. Read up at https://chocolatey.org/docs/automatic-packages

## Shim Generation
Any executables you include in the package or download (but don't call 
install against using the built-in functions) will be automatically shimmed.

This means those executables will automatically be included on the path.
Shim generation runs whether the package is self-contained or uses automation 
scripts. 

By default, these are considered console applications.

If the application is a GUI, you should create an empty file next to the exe 
named 'name.exe.gui' e.g. 'bob.exe' would need a file named 'bob.exe.gui'.
See https://chocolatey.org/docs/create-packages#how-do-i-set-up-shims-for-applications-that-have-a-gui

If you want to ignore the executable, create an empty file next to the exe 
named 'name.exe.ignore' e.g. 'bob.exe' would need a file named 
'bob.exe.ignore'. 
See https://chocolatey.org/docs/create-packages#how-do-i-exclude-executables-from-getting-shims

## Self-Contained? 
If you have a self-contained package, you can remove the automation scripts 
entirely and just include the executables, they will automatically get shimmed, 
which puts them on the path. Ensure you have the legal right to distribute 
the application though. See https://chocolatey.org/docs/legal. 

You should read up on the Shim Generation section to familiarize yourself 
on what to do with GUI applications and/or ignoring shims.

## Automation Scripts
You have a powerful use of Chocolatey, as you are using PowerShell. So you
can do just about anything you need. Choco has some very handy built-in 
functions that you can use, these are sometimes called the helpers.

### Built-In Functions
https://chocolatey.org/docs/helpers-reference

A note about a couple:
* Get-BinRoot - this is a horribly named function that doesn't do what new folks think it does. It gets you the 'tools' root, which by default is set to 'c:\tools', not the chocolateyInstall bin folder - see https://chocolatey.org/docs/helpers-get-tools-location
* Install-BinFile - used for non-exe files - executables are automatically shimmed... - see https://chocolatey.org/docs/helpers-install-bin-file
* Uninstall-BinFile - used for non-exe files - executables are automatically shimmed - see https://chocolatey.org/docs/helpers-uninstall-bin-file

### Getting package specific information
Use the package parameters pattern - see https://chocolatey.org/docs/how-to-parse-package-parameters-argument

### Need to mount an ISO?
https://chocolatey.org/docs/how-to-mount-an-iso-in-chocolatey-package


### Environment Variables
Chocolatey makes a number of environment variables available (You can access any of these with $env:TheVariableNameBelow):

 * TEMP = Overridden to the CacheLocation, but may be the same as the original TEMP folder
 * ChocolateyInstall = Top level folder where Chocolatey is installed
 * chocolateyPackageName = The name of the package, equivalent to the id in the nuspec (0.9.9+)
 * chocolateyPackageVersion = The version of the package, equivalent to the version in the nuspec (0.9.9+)
 * chocolateyPackageFolder = The top level location of the package folder

#### Advanced Environment Variables
The following are more advanced settings:

 * chocolateyPackageParameters = (0.9.8.22+)
 * CHOCOLATEY_VERSION = The version of Choco you normally see. Use if you are 'lighting' things up based on choco version. (0.9.9+)
    - Otherwise take a dependency on the specific version you need. 
 * chocolateyForceX86 = If available and set to 'true', then user has requested 32bit version. (0.9.9+)
    - Automatically handled in built in Choco functions. 
 * OS_PLATFORM = Like Windows, OSX, Linux. (0.9.9+)
 * OS_VERSION = The version of OS, like 6.1 something something for Windows. (0.9.9+)
 * OS_NAME = The reported name of the OS. (0.9.9+)
 * IS_PROCESSELEVATED = Is the process elevated? (0.9.9+)
 
#### Experimental Environment Variables
The following are experimental or use not recommended:

 * OS_IS64BIT = This may not return correctly - it may depend on the process the app is running under (0.9.9+)
 * CHOCOLATEY_VERSION_PRODUCT = the version of Choco that may match CHOCOLATEY_VERSION but may be different (0.9.9+)
    - it's based on git describe
 * IS_ADMIN = Is the user an administrator? But doesn't tell you if the process is elevated. (0.9.9+)
 * chocolateyInstallOverride = Not for use in package automation scripts. (0.9.9+)
 * chocolateyInstallArguments = the installer arguments meant for the native installer. You should use chocolateyPackageParameters intead. (0.9.9+)

tools\chocolateyinstall.ps1

$ErrorActionPreference = 'Stop';

$packageName= 'getiplayer'
$toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$url        = 'https://github.com/get-iplayer/get_iplayer_win32/releases/download/3.29.0/get_iplayer-3.29.0-windows-x86-setup.exe'
$url64      = 'https://github.com/get-iplayer/get_iplayer_win32/releases/download/3.29.0/get_iplayer-3.29.0-windows-x64-setup.exe'

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

  softwareName  = 'getiplayer*'

  checksum      = '1cffdb4c1c9987aa36050fa9cad65861c4e6938dd335e9583b4d837fa0c28612'
  checksumType  = 'sha256'
  checksum64    = 'ffa3dd861fa077ab9d287dadde8a098cafc10005e3d753893457c17fc2cd7c88'
  checksumType64= 'sha256'

  silentArgs   = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-'
}

Install-ChocolateyPackage @packageArgs
tools\chocolateyuninstall.ps1


$ErrorActionPreference = 'Stop';

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

$silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-'
$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.

Add to Builder Version Downloads Last Updated Status
getiplayer (Install) 3.34.0 186 Monday, November 6, 2023 Approved
getiplayer (Install) 3.33.0 141 Thursday, October 12, 2023 Approved
getiplayer (Install) 3.32.0 24 Thursday, October 12, 2023 Approved
getiplayer (Install) 3.31 363 Tuesday, January 24, 2023 Approved
getiplayer (Install) 3.30 38 Tuesday, January 24, 2023 Approved
getiplayer (Install) 3.29 464 Tuesday, February 8, 2022 Approved
getiplayer (Install) 3.28 270 Thursday, December 9, 2021 Approved
getiplayer (Install) 3.27.1 456 Tuesday, February 16, 2021 Approved
getiplayer (Install) 3.27 127 Monday, February 15, 2021 Approved
getiplayer (Install) 3.26 445 Tuesday, June 30, 2020 Approved
getiplayer (Install) 3.25 502 Monday, February 3, 2020 Approved
getiplayer (Install) 3.24 234 Friday, January 10, 2020 Approved
getiplayer (Install) 3.23 262 Wednesday, December 4, 2019 Approved
getiplayer (Install) 3.22 400 Tuesday, August 20, 2019 Approved
getiplayer (Install) 3.21 328 Monday, July 15, 2019 Approved
getiplayer (Install) 3.20 402 Tuesday, February 26, 2019 Approved
getiplayer (Install) 3.18 331 Thursday, January 3, 2019 Approved
getiplayer (Install) 3.16 488 Friday, July 6, 2018 Approved
getiplayer (Install) 3.15 293 Thursday, July 5, 2018 Approved
getiplayer (Install) 3.14 391 Wednesday, May 9, 2018 Approved
getiplayer (Install) 3.13 485 Tuesday, March 27, 2018 Approved
getiplayer (Install) 3.12 472 Monday, January 15, 2018 Approved
getiplayer (Install) 3.10 395 Friday, January 12, 2018 Approved
getiplayer (Install) 3.09 494 Tuesday, January 2, 2018 Approved
getiplayer (Install) 3.07 440 Wednesday, November 29, 2017 Approved
getiplayer (Install) 3.06 430 Wednesday, November 1, 2017 Approved
getiplayer (Install) 3.05 427 Friday, October 13, 2017 Approved
getiplayer (Install) 3.04 372 Friday, October 13, 2017 Approved
getiplayer (Install) 3.03 431 Monday, October 2, 2017 Approved
getiplayer (Install) 3.02 453 Monday, August 21, 2017 Approved
getiplayer (Install) 3.01 497 Monday, May 8, 2017 Approved
getiplayer (Install) 3.00 400 Tuesday, May 2, 2017 Approved
getiplayer (Install) 2.99.20170410 432 Monday, April 10, 2017 Approved
getiplayer (Install) 2.99 488 Wednesday, February 22, 2017 Approved
getiplayer (Install) 2.97 407 Monday, October 31, 2016 Approved

Changes in 3.29

There is a breaking change in this release

  • Fixed bug that caused searches to fail when target episode title in cache contained vertical bar (|) characters. Vertical bars now converted to hyphens.

  • Adjusted stream classification to accommodate BBC changes

    • 960x540@25 streams are apparently no longer provided for programmes first broadcast after approximately 2021-12-05. The are still available for older programmes, including recent repeats.
    • 960x540@25 streams for new programmes have been replaced by 960x540@50 streams with the same bit rate. get_iplayer now detects these lower-bitrate 50fps streams and classifies them appropriately. Use --tv-lower-bitrate to prefer those streams if they are available. The file sizes should be roughly the same as the previous 25fps streams. You do not need to change your preferences.
  • Restored BBC Three schedules to the programme indexing to accomodate its return as a broadcast channel. Perform a full rebuild of the TV programme index cache if you want to ensure it includes all supported BBC Three programmes:

    get_iplayer --rebuild-cache

    Ignore these warnings, as there were no BBC Three schedule listings for that week:

    WARNING: Got 0 programmes for BBC Three schedule page (HTML): https://www.bbc.co.uk/schedules/p00fzl95/2022/w01

    WARNING: Failed to parse BBC Three schedule page: https://www.bbc.co.uk/schedules/p00fzl95/2022/w01

  • Options related to recording quality have been changed

    • Some command iine parameters have been renamed:

      Old New Option Key
      --modes --quality modes
      --tv-mode --tv-quality tvmode
      --radio-mode --radio-quality radiomode
      --fps25 --tv-lower-bitrate fps25

      The old command-line option names are scheduled for removal in the next release. The option keys (used in preferences, presets, and PVR searches) remain the same, so recording quality settings in existing preferences, presets, and PVR searches will continue to work.

    • The possible recording quality settings have been reduced to:

      Type Quality Settings Aliases Default
      TV fhd,hd,sd,web,mobile 1080p,720p,540p,396p,288p hd,sd,web,mobile
      Radio high,std,med,low 320k,128k,96k,48k high,std,med,low

      In the next release, it will be a fatal error to enter an invalid quality setting on the command line. Aliases can be used interchangeably with their corresponding alphabetic codes. The two substantive changes are the TV "high" quality is now "web", and TV "low" quality is now "mobile". This makes TV and radio quality settings distinct sets that can be mixed unambiguously for --quality and the Web PVR Manager. All recording quality settings that cannot be translated into values from the lists above are discarded. See Recording Quality for further information. See below for more information about the "fhd" quality setting.

    • BREAKING CHANGE: Existing quality settings (or recording modes) saved in preferences, presets, and PVR searches will be translated into new quality settings in a backwards-compatible manner, with one exception. If your saved values have prefixes denoting stream format (hls,hvf.haf,dash,dvf,daf), or numeric suffixes for specific streams, those prefixes and suffixes are now stripped and ignored. You should never use numeric suffixes since they are non-deterministic. In the unlikely event you need to restrict the stream formats to record, use the new --exclude-format option. --exclude-format=dash will exclude MPEG-DASH streams, and --exclude-format=hls will exclude HLS streams.

    • If you have not specifed at least one of sd,web,high with --tv-quality when downloading an audiodescribed programme, get_iplayer will now insert those quality settings to ensure a stream is available. HD is not available for audiodescribed programmes.

  • Changes to programme metadata fields

    • No longer included in XML/JSON metadata files: durations, geoblocked, modes, modesizes, unavailable, verpids, versions. Use --info to see available version-dependent metadata values.
    • Now included in XML/JSON metadata files: quality, verpid
    • No longer displayed with --info unless --verbose is also specified: modes, modesizes
    • Now displayed with --info: qualities, qualitysizes
  • Changes to application options

    • --purge-files has been removed.

    • --trim-history and --no-purge are now ignored and will be removed in the next release. You can remove them from your preferences with:

      get_iplayer --prefs-del --trim-history=0 --no-purge

      get_iplayer will no longer issue a warning to remove downloaded programmes more than 30 days old.

  • EXPERIMENTAL: Full HD streams (1080p)

    • Before anyone asks: UHD 4k streams are still not available to get_iplayer.

    • get_iplayer now attempts to generate 1920x1080@50 ("fhd") stream URLs for every programme that has 1280x720@50 ("hd") streams (so no audiodescribed programmes). The purpose of these 1080p streams is not known. They may be used for some smart TVs or set-top boxes, or they may be a BBC experiment.

    • It is not a bug if "fhd" streams are not available for a programme. Do not depend on the presence of these streams. They may disappear at any time. They are provided solely for you to experiment with if you find them useful. You may decide that the video quality of "fhd" streams does not justify their extra download and storage requirements.

    • The "fhd" streams are not included by default, nor are they included when expanding the obsolete "best" shortcut if it is saved in your preferences, presets, or PVR searches. You must request "fhd" downloads specifically with --tv-quality=fhd or --tv-quality=1080p. This is done in part to avoid resource shock for the presumed majority of users who don't read release notes and documentation, but also because the quality of "fhd" streams varies greatly. If you wish to include "fhd" in your default settings, save it in your preferences:

      get_iplayer --prefs-add --tv-quality=fhd,hd,sd,web,mobile

    • The bit rates for the "fhd" streams can vary quite a bit between programmes. The maximum appears to be around 10 Mb/s (though most are far lower), so output files could be ~60% larger than their "hd" equivalents, in the region of 3.8 GB/hr for video.

    • Because of the method used to access the "fhd" streams, get_iplayer can't guess their actual bit rates, so it assumes 8 Mb/s, the value advertised in iPlayer metadata. Consequently, file size estimates and download progress reports may be quite far off.

    • It has been observed in initial testing that MPEG-DASH "fhd" downloads are much faster than HLS equivalents, so MPEG-DASH streams are tried first, while the opposite is true for non-"fhd" streams. This makes no difference to the output. The extra post-processing time required for MPEG-DASH is more than offset by the faster download. You can test the difference with --tv-quality=fhd --exclude-format=hls and --tv-quality=fhd --exclude-format=dash.

Installation

See: get_iplayer wiki

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