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,045

Downloads of v 3.26:

443

Last Update:

30 Jun 2020

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.26 | Updated: 30 Jun 2020

Downloads:

13,045

Downloads of v 3.26:

443

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.26

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.26'" [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.26'" 
$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.26'
    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.26'
end

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


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

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


package { 'getiplayer':
  ensure   => '3.26',
  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 30 Jun 2020.

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 BBC Three, 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, iPlayer exclusives, 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, 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 such as red button programmes or iPlayer box sets directly via PID or URL, but such use is not supported. 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.txt
Open getiplayer.nuspec in Notepad++
Update
 version
 authors 
  replace \n with , in https://github.com/get-iplayer/get_iplayer/blob/master/CONTRIBUTORS
 description 
  just the first (Features) section of https://raw.githubusercontent.com/get-iplayer/get_iplayer/master/README.md
  replace < and > with [ and ]
 releaseNotes                                            XXX
  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)

Go to https://github.com/get-iplayer/get_iplayer_win32/releases/latest to get URLs and checksums
Open tools/chocolateyinstall.ps1 in Notepad++
Update 
 $url
 checksum

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

Hopefully the 'push' command means the below is unnecessary:

https://chocolatey.org/packages/getiplayer/
Login
Upload C:\Documents\Scripts\getiplayer\getiplayer.3.XX.nupkg

Profit!!!!
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.26.0/get_iplayer-3.26.0-windows-x86-setup.exe'
$url64      = 'https://github.com/get-iplayer/get_iplayer_win32/releases/download/3.26.0/get_iplayer-3.26.0-windows-x64-setup.exe'

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

  softwareName  = 'getiplayer*'

  checksum      = '40938475dca461db8113908d2821e5b4e8b2ad653f9356d2ed7bb51d26529491'
  checksumType  = 'sha256'
  checksum64    = 'd0aaf1deda84a7dc15e558fa7e1b002140e4c9df3089becc5d08697f7e576fa2'
  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 362 Tuesday, January 24, 2023 Approved
getiplayer (Install) 3.30 38 Tuesday, January 24, 2023 Approved
getiplayer (Install) 3.29 463 Tuesday, February 8, 2022 Approved
getiplayer (Install) 3.28 270 Thursday, December 9, 2021 Approved
getiplayer (Install) 3.27.1 455 Tuesday, February 16, 2021 Approved
getiplayer (Install) 3.27 127 Monday, February 15, 2021 Approved
getiplayer (Install) 3.26 443 Tuesday, June 30, 2020 Approved
getiplayer (Install) 3.25 498 Monday, February 3, 2020 Approved
getiplayer (Install) 3.24 232 Friday, January 10, 2020 Approved
getiplayer (Install) 3.23 262 Wednesday, December 4, 2019 Approved
getiplayer (Install) 3.22 398 Tuesday, August 20, 2019 Approved
getiplayer (Install) 3.21 327 Monday, July 15, 2019 Approved
getiplayer (Install) 3.20 401 Tuesday, February 26, 2019 Approved
getiplayer (Install) 3.18 329 Thursday, January 3, 2019 Approved
getiplayer (Install) 3.16 487 Friday, July 6, 2018 Approved
getiplayer (Install) 3.15 291 Thursday, July 5, 2018 Approved
getiplayer (Install) 3.14 391 Wednesday, May 9, 2018 Approved
getiplayer (Install) 3.13 484 Tuesday, March 27, 2018 Approved
getiplayer (Install) 3.12 472 Monday, January 15, 2018 Approved
getiplayer (Install) 3.10 394 Friday, January 12, 2018 Approved
getiplayer (Install) 3.09 492 Tuesday, January 2, 2018 Approved
getiplayer (Install) 3.07 438 Wednesday, November 29, 2017 Approved
getiplayer (Install) 3.06 428 Wednesday, November 1, 2017 Approved
getiplayer (Install) 3.05 426 Friday, October 13, 2017 Approved
getiplayer (Install) 3.04 370 Friday, October 13, 2017 Approved
getiplayer (Install) 3.03 430 Monday, October 2, 2017 Approved
getiplayer (Install) 3.02 451 Monday, August 21, 2017 Approved
getiplayer (Install) 3.01 495 Monday, May 8, 2017 Approved
getiplayer (Install) 3.00 400 Tuesday, May 2, 2017 Approved
getiplayer (Install) 2.99.20170410 430 Monday, April 10, 2017 Approved
getiplayer (Install) 2.99 486 Wednesday, February 22, 2017 Approved
getiplayer (Install) 2.97 407 Monday, October 31, 2016 Approved

Changes in 3.26

  • Restored download of programme credits - broken by BBC changes.

  • Restored channel names to --pid-recursive-list output - broken by BBC changes.

  • Restored subtitle colours - broken by BBC changes.

  • Media streams mislabelled as belonging to the defunct BBC Store are no longer ignored - a few may contain valid content.

  • Fixed hash initialisation in Pvr class (@praxilian)

  • Added new --cuesheet-offset option (synonym: --tracklist-offset) that can be used to apply a positive or negative offset to track times in cue sheet or track list. If you find track times off by a consistent amount after download, use --cuesheet-only with --cuesheet-offset=n or --tracklist-only with --tracklist-offset=n (where n = offset in seconds) to generate a new cue sheet or track list with adjusted track times.

  • The default value of the --thumbnail-size option is now 1920, which downloads a 1920x1080 image. The previous default was 192, which downloaded a 192x108 image. This larger default size should work better on TVs and larger devices, but it will still scale down for smaller devices and media manager software.

    • If you have added --thumbnail-size to your preferences, it will continue to be used.

    • This change will add ~200KB to the size of tagged output files, compared to the previous default.

    • If you wish to restore the previous default thumbnail size:

      get_iplayer --prefs-add --thumbnail-size=192

  • Thumbnail size is now automatically limited to 1280 when --thumbnail-square is used, in order to avoid distorted images.

  • The @wrt atom in metadata tags (iTunes: Composer field) is now set to "BBC Sounds" for radio programmes. The value is still set to "BBC iPlayer" for TV programmes.

  • The --tag-utf8 option is now ignored and will be removed in the next release. It hasn't served any useful purpose for some time. To remove it from your preferences if necessary:

    get_iplayer --prefs-del --tag-utf8

  • The minimum version of Perl nominally required for get_iplayer is now 5.16, in line with recent changes in requirements for the Mojolicious module. This requirement is not yet enforced in get_iplayer code since some combinations of older Perl and Mojolicious versions will still work. This only concerns Linux users doing manual installations, and who for some reason attempt to install new versions of Mojolicious with obsolete versions of Perl, so it is unlikely to apply to you.

  • get_iplayer previously allowed a PVR run to continue even if the previous run might still be active, as long as 12 hours had elapsed since the previous run was launched, on the presumption that after 12 hours the previous run must be hung. That is no longer the case.

    • If an invalid (e.g., due to disk write error) PVR lockfile is found, get_iplayer deletes the lockfile and exits with an error and an instruction for you to check if get_iplayer PVR is already running before restarting.
    • If a valid PVR lockfile is found and the previous run is still active, get_iplayer will now always exit with an error regardless of whether or not 12 hours has elapsed. It now prints the process ID associated with the running PVR so that you can check the process status if necessary.
    • get_iplayer is not prone to hanging as it sometimes was when it relied on rtmpdump and ffmpeg for downloading, so this change should have little effect on you. One possible exception is if you try to use get_iplayer in Windows Subsystem for Linux v1 (WSL 1), where AtomicParsley always hangs and thus hangs every PVR run. Don't use get_iplayer on WSL 1. AtomicParsley does work with WSL 2.
  • Ubuntu/Mint (and other Ubuntu-based distros) only: Farewell get_iplayer PPA

    • The get_iplayer PPA is no longer supported by its maintainer, so you can no longer install get_iplayer from there. Perform a manual installation or use the snap version (if snap support is available for your system). NOTE: The snap version is not implemented, endorsed, or supported by the get_iplayer developers.
    • Android note: If you have been using UserLAnd + Ubuntu + PPA to run get_iplayer on Android, you will need to switch to a manual installation since snap support is not available.
    • If you upgrade from a PPA release to the snap version, you will first need to remove the PPA version. You will also need to transfer your settings after installing the snap version.
    • See: Linux/BSD package installation
  • Windows only: Metadata tagging changes

    • Metadata tags are now encoded as Unicode (UTF-8) by default, equivalent to the behaviour on other platforms. This requires workarounds for Windows Perl limitations and a customised version of AtomicParsley (provided with Windows installer). This change will make your files a bit more portable to other platforms and may save a bit of post-download tag editing.
    • If you encounter problems with the new Unicode tagging, it can be bypassed with the new --tag-no-unicode option.
    • If Unicode tagging fails or is bypassed with --tag-no-unicode, get_iplayer falls back to the previous non-Unicode method that converts tags to a single-byte encoding. The "cp1252" encoding (Windows code page 1252) is used by default, which should be appropriate for all programmes supported by get_iplayer.
    • The new --tag-encoding option can be used to set an alternate character encoding for single-byte conversion, but you shouldn't need to use it for any programme supported by get_iplayer. This option has been included for testing and as future-proofing against any edge cases.
    • If Unicode tagging fails or is bypassed with --tag-no-unicode, characters that cannot be converted to the single-byte encoding are no longer removed from metadata tags, but are replaced with XML character references, e.g., "знали" becomes знали. This should only occur in rare cases where the default encoding is used and metadata contains text in a non-Roman script, e.g., a Cyrillic song title in a programme track list that was added to metadata tags via --tag-tracklist.
      • Before converting XML character references, first load the file into Mp3tag and use its "Convert codepage" action to convert the metadata tags back to Unicode (there may be other methods to accomplish this). The XML character references will remain in the converted metadata.
      • You should then be able to copy and paste XML character references into an online editor that renders HTML (e.g., Dillinger) and then copy the rendered UTF-8 characters back into your file using Mp3tag (or equivalent). Desktop applications that can render HTML should be able to perform the same function (e.g., the HTML view in MediaInfo).
      • The expansion of unencoded characters into XML character references may lead to tag values that are too long and are thus truncated during tagging (you may see warnings issued by AtomicParsley). This should only be a problem when most or all of the metadata tags are in a non-Roman script, which is not the case for programmes supported by get_iplayer. If you download such programmes and Unicode tagging does not work for some reason, be sure to set the proper encoding with --tag-encoding, e.g., "cp1251" (Windows code page 1251) for metadata tags in Cyrillic.
    • NOTE: In a future release, metadata tagging on Windows will be Unicode-only. The options for single-byte encoding will be removed. They have been provided as a fallback should problems arise in this initial implementation.
  • Windows only: 64-bit version available

    • There is now a 64-bit version of get_iplayer for Windows (Intel/AMD only).
    • A 32-bit version is still available, and it will still work on 64-bit systems.
  • macOS only: Initial release broken

    • The initial 3.26.0 version of the macOS installer package, released on 2020-06-28, was broken and was withdrawn on 2020-06-29. The installed get_iplayer script couldn't locate the bundled version of ffmpeg, so downloaded files were not converted to MP4 and metadata tags were not applied. You will see the message "WARNING: Required ffmpeg utility not found - not converting .ts file(s)" for each download.

    • To correct this problem, all users should install the updated 3.26.1 version:

      https://github.com/get-iplayer/get_iplayer_macos/releases/tag/3.26.1

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