release300to309 - get-iplayer/get_iplayer GitHub Wiki

get_iplayer 3.00 - 3.09 Release Notes

get_iplayer 3.09 - 2017-12-31

get_iplayer 3.08 - 2017-12-31 (WITHDRAWN)

get_iplayer 3.07 - 2017-11-29

get_iplayer 3.06 - 2017-10-26

get_iplayer 3.05 - 2017-10-12

get_iplayer 3.04 - 2017-10-04

get_iplayer 3.03 - 2017-09-30

get_iplayer 3.02 - 2017-08-20

get_iplayer 3.01 - 2017-05-06

get_iplayer 3.00 - 2017-04-30

get_iplayer 3.09 Release Notes

Changes in 3.09

  • Search terms can no longer be saved in your default options file. Many users have shot themselves in the foot over the years by mistyping a command and accidentally saving search terms, which then break future searches because they are applied globally. If this has happened to you, delete the offending option with get_iplayer --prefs-del --search="xyz" (that is a literal "xyz" - the exact value is not required).
  • Enabled colour subtitles for S4C programmes. Revert to mono subtitles with --subs-mono if you prefer.
  • Added substitution parameters <subsfile> and <subsraw> for SRT and TTML subtitle files, respectively. Use with --command for post-processing subtitles. The <subsraw> file is only present when --subsraw is specified.
  • Null characters are now removed from subtitles before processsing. This should prevent at least some problems caused by corrupt subtitle files. (@notnac)
  • The --streaminfo option now short-circuits downloading with --pid in the same way as --info.
  • Removed obsolete thumbnail sizes (86, 150, 178, 528, 1024, 1600). Unsupported sizes are now mapped to nearest supported size.
  • Added --download-abortonfail option to force get_iplayer to exit the first time any mode fails to download due to error (e.g., failure to download a media file segment). You may wish to use this option if you have a very unreliable upstream connection in order to prevent download attempts likely to be wasted. (@notnac)
  • Added --no-metadata option to enable ad hoc override of --metadata value stored in preferences.
  • [Windows] Fixed an installer bug that would create a desktop shortcut to get_iplayer documentation even if desktop shortcuts were not selected during installation. The unwanted desktop shortcut can safely be deleted.

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

Documentation

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.08 Release Notes

get_iplayer 3.08 was withdrawn shortly after release. Update to 3.09 or higher.

get_iplayer 3.07 Release Notes

Changes in 3.07

  • get_iplayer no longer lists all programmes when invoked without a search argument. If you wish to list all programmes, you must now explicitly specify a wildcard search: get_iplayer ".*" - note the quotes. The Web PVR Manager does that by default. Also remember to use --refresh to force ad hoc cache updates if you don't supply a search argument.

  • get_iplayer no longer automatically attempts to add higher-quality audio to "hls" mode downloads (functionality introduced in v3.03). Some output files were being produced with audio and video out of sync. get_iplayer should never produce output worse that what is offered by iPlayer, so that functionality is now optional. Use the new --hls-hq-audio option to enable it, and heed the warning that you may need to edit your output files to sync audio and video. The --no-hq-audio option is now ignored and will be removed in the next release. If you added it to your preferences, remove it now with get_iplayer --prefs-del --no-hq-audio. (@notnac)

  • Added --audio-only option to download only the audio stream for a TV programme. It is intended to enable users with visual impairments to skip downloading the video stream for programmes with audio description, but it can be used for any programme. It does not work with "hls" modes, however, so do not try to use it with --tvmode=hlshd, for example. Use of --audio-only also enables --force so that you can re-download a different audio track for a previously-downloaded TV programme. That will also produce an additional entry in your download history for the audio file. Audio-only downloads produce .m4a files.

  • Subtitles are now trimmed according to --start and --stop, if specified. The actual subtitles start and/or stop times are calculated to the nearest chunk boundary in the HLS or DASH stream. The value of --suboffset is still applied. This trimming is not supported for --subtitles-only. You can use --subtitles-only to re-download the full subtitles for a programme if desired. (@notnac)

  • Reinstated the --no-sanitise option to minimise the sanitising of output file names. With this option, the characters \"*:<>?| are removed on Windows and : is removed on macOS. Directory separators (slashes) are converted to underscores. All other characters are retained. Use of --no-sanitise also enables --whitespace. get_iplayer may fail with --no-sanitise if iPlayer metadata used to construct file names is incorrectly encoded. (@notnac)

  • The time that a programme is considered available for download is now determined by the end time of its scheduled broadcast slot, if possible. This should make it less likely to see "No media streams" errors when a PVR search attempts to download a programme while it is still being transmitted. This will only affect cache entries created after you install v3.07. (@notnac)

  • Reverted to text-only progress display, with data sizes now shown with SI prefixes instead of binary prefixes.

  • [Windows] During installation, you now have the option to create desktop shortcuts (for all users)

  • [Windows] The installer no longer attempts to perform an item-by-item cleanup of previous installations. Instead, it looks for an uninstaller registered by an older edition of the installer and, if found, executes it to remove the previous version before proceeding with installation of the new version. You have the opportunity to cancel before the previous version is removed.

  • [Windows] Because of the change in how the installer cleans up old versions, there is an edge case to be aware of. If all of the conditions below apply to you:

    • You installed get_iplayer before v2.95 (July 2016)
    • You selected a custom output directory in the installer
    • You never uninstalled get_iplayer
    • You never upgraded to v2.95 - v3.06

    then you will likely need to add your custom output directory to your preferences after installing v3.07 or higher, e.g., get_iplayer --prefs-add --output=D:\get_iplayer.

  • Fixed a bug that caused get_iplayer to exit (and skip metadata tagging) when corrupt subtitles were provided by the BBC. Corrupt subtitles will now generate an error message, but get_iplayer will not exit. As an extra precaution, subtitles download now occurs after tagging is complete.

  • Fixed a bug that prevented previously-unknown programme versions from being used when --versionlist contained "default". (@notnac)

  • Fixed a bug that caused slashes in programme names to be retained, thus creating unnecessary subdirectories in output file paths with --subdir. Slashes are now replaced with underscores. (@notnac)

  • Fixed a bug that caused some streams to be omitted for some World Service programmes. (@notnac)

  • [Fedora] Fixed a bug in parsing iPlayer download links for URI handler. (@mavit)

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

Documentation

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.06 Release Notes

Changes in 3.06

  • Adjusted parsing of TV schedule pages to accommodate a format change that broke TV cache updating. The change resulted in no new programmes being added to TV cache during update.
  • Windows only: The batch files that launch the Web PVR Manager and the PVR Scheduler have been renamed to get_iplayer_web_pvr.cmd and get_iplayer_pvr.cmd, respectively. You only need to know this if you launch those batch files directly from the command prompt. The start menu shortcuts work as before.

Future changes

In the next release of get_iplayer, a full wildcard search (i.e., listing the entire cache contents) will not be performed when get_iplayer is invoked without a search string. In the unlikely event you rely on that behaviour, begin using get_iplayer ".*" instead (note the quotes). The Web PVR Manager already does so by default.

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

Documentation

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.05 Release Notes

Changes in 3.05

  • Web PVR: Updated to support HTTPS URLs for Quick URL recording. The BBC has begun redirecting iPlayer episode pages to secure equivalents, and Web PVR limitations have required changing "https:" to "http:" for pages used in the Quick URL box. This did not affect the CLI or recording from search results in Web PVR.

Future changes

In the next release of get_iplayer, a full wildcard search (i.e., listing the entire cache contents) will not be performed when get_iplayer is invoked without a search string. In the unlikely event you rely on that behaviour, begin using get_iplayer ".*" instead (note the quotes). The Web PVR Manager already does so by default.

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

Documentation

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.04 Release Notes

Changes in 3.04

  • Fixed a serious bug introduced in v3.03 that could cause MP4 conversions to be skipped when using the PVR function. If you are using v3.03, you are strongly urged to upgrade to v3.04 immediately.
  • --force no longer short-circuits --history when searching the download history. The previous behaviour would result in an empty Recordings tab in the Web PVR Manager.
  • Suppressed unnecessary warnings about future programmes when running PVR searches.

Future changes

In the next release of get_iplayer, a full wildcard search (i.e., listing the entire cache contents) will not be performed when get_iplayer is invoked without a search string. In the unlikely event you rely on that behaviour, begin using get_iplayer ".*" instead (note the quotes). The Web PVR Manager already does so by default.

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

Documentation

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.03 Release Notes

Changes in 3.03

  • get_iplayer now attempts to download higher-quality audio for hls modes, including the default 1280x720@25fps streams. It attempts to download 320k or 128k audio streams to replace the default 96k audio. Higher-quality audio may not be available for some programmes. This functionality can be disabled with --no-hq-audio (see below), in which case the default audio will be retained.
  • Added --no-hq-audio option to prevent get_iplayer from using 320k audio for HLS TV streams. Use this if you have a device that cannot handle 320k AAC audio.
  • The default logging output has been reduced. Some unnecessary output has been removed, and some is now only visible with --verbose.
  • Web PVR: added --baseurl option to set base URL for generation of links. For use with reverse proxy. Set --baseurl to the full reverse proxy URL used for the Web PVR. Thanks to C Watson and J Kirkpatrick for suggestions.
  • get_iplayer no longer prompts you to delete downloaded files more than 30 days old. It displays a warning message instead. The warning is also now displayed with --pid and --url and with PVR searches (CLI and Web PVR Manager). As before, the warning can be suppressed with get_iplayer --prefs-add --no-purge. If you miss the thrill that only bulk deletion can provide, use the new --purge-files option to delete all downloaded files more than 30 days old.
  • --info now short-circuits --get, consistent with how it short-circuits --pid and --url. No programmes are downloaded when --info is specified.
  • --sort and --sortreverse are now applied before --limit-matches. This allows searching for only the most recent N eoisodes of a series with --sort=available --sortreverse --limit-matches=N. In the unlikely event you are using that combination of options, be aware of this change in behaviour.
  • The --thumbsize option no longer accepts integer index values (1-11), and a warning will be printed if you use one. Use thumbnail width instead.
  • After a cache update, get_iplayer no longer displays a list of all programmes added to the cache. It now only displays the total number of programmes added. The "Added: ..." messages will appear with --verbose. Use --since ("Added Since (hours)" in Web PVR) to constrain search results to recently-added programmes.
  • Adjusted cache update to avoid possible overlap between TV and radio index numbers when --refresh-future is used.
  • get_iplayer no longer looks for a system options file at /var/lib/get_iplayer/options (a long-dead setting) on Linux. In the extremely unlikely event you use that location, set in the GETIPLAYERSYSPREFS environment variable or move the system options file to the default location (/etc/get_iplayer/options).
  • get_iplayer now checks for required v1.91 of XML::LibXML. It previously only checked for v1.70, which lead to fatal errors in obsolete Linux/OSX releases with obsolete versions of XML::LibXML.
  • Fixed a bug introduced in v3.02 that prevented --info, --metadata-only, --subtitles-only, --thumbnail-only and --tag-only from working with --pid and --url when the programme was not in get_iplayer's cache.

Future changes

In the next release of get_iplayer, a full wildcard search (i.e., listing the entire cache contents) will not be performed when get_iplayer is invoked without a search string. In the unlikely event you rely on that behaviour, begin using get_iplayer ".*" instead (note the quotes). The Web PVR Manager already does so by default.

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

Documentation

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.02 Release Notes

Changes in 3.02

  • Packagers: get_iplayer no longer uses the XML::Simple Perl module, so you may remove it from your package dependencies.
  • Added support for World Service programme PIDs beginning with "w". These WS programmes released since 11 Aug could not be downloaded because their PIDs were not recognised by get_iplayer.
  • Added --throttle=N option (where N is in Mibit/s) to restrict bandwith usage during media file download. Value may be < 1.0.
  • HTTPS media URLs are no longer used by default. They are duplicates of HTTP URLs and thus may unnecessarily slow download initialisation. Use --include-https to bring them back.
  • It is no longer necessary to specify "general" as the value of the --metadata option. You only need to use --metadata. Since "general" is the only valid value, get_iplayer now fills it in for you.
  • Removed --ffmpeg-verbose option in favour of more general-purpose --ffmpeg-loglevel option, which allows setting the logging level for ffmpeg during conversion of downloaded files to MP4, e.g., --ffmpeg-loglevel=verbose. See ffmpeg documentation for permissible values. Default level is "fatal". This option is only useful for debugging problems with ffmpeg, so you almost certainly will never need to use it.
  • Removed deprecated options: --subsfmt, --noscrapeversions, --thumbsizecache
  • Reverted to pre-2.95 behaviour for selecting thumbnail images. Episode image is used if found, with fallback to series image. Force use of series image (with fallback to brand image) with --thumbnail-series.
  • The default thumbnail size is now slightly larger (192x108).
  • Output now includes divider lines to demarcate programme downloads and PVR searches.
  • Fixed a bug that could lead to a runaway process when parsing a corrupted HLS playlist.

Future Changes

  • In the next release of get_iplayer, the ability to specify the thumbnail size with an integer index will be removed. If you have a custom setting for --thumbsize that is not specified as an image width, now is your opportunity to change it.

Installation

See: https://github.com/get-iplayer/get_iplayer/wiki/installation

More Information

See: https://github.com/get-iplayer/get_iplayer/wiki

get_iplayer 3.01 Release Notes

This is primarily a bug-fix release to address problems in get_iplayer 3.00. There are other changes, however - see below.

New/Changed

1. Cache updating restored to pre-3.00 behaviour

  • Just after get_iplayer 3.00 was released, the BBC rolled out significant improvements in the performance of their schedule pages, which are used by get_iplayer for programme indexing. There is no longer any benefit to rationing get_iplayer to weekly cache updates by default. So, cache updates work like they did before, and are once again completely controlled by --expiry.
  • Cache updates continue to be noticeably slower than in v2.99 or lower, though the speed seems generally acceptable. get_iplayer 3.01 still uses concurrent indexing (based on Mojolicious Perl module) to reduce update time. However, the most effective way to reduce indexing time is to eliminate channels you don't need from your cache updates. See the relevant documentation for examples.
  • The default value for "Auto-Refresh Cache Interval" in the Web PVR Manager has been changed to 4 hours, to match the CLI. You can reset it to the previous default of 1 hour if you wish.

Upgrading from get_iplayer 2.99 or lower

If you are upgrading from v2.99 or lower, there will be holes in your cache, i.e., some programmes will be missing from the period after your last update before the old XML data sources were removed on 2017-04-26. You can rebuild a full new cache with:

get_iplayer --cache-rebuild --type=tv,radio

Omit the --type option for TV programmes only. Note that you cannot rebuild your cache from the Web PVR.

Needless to say, a cache rebuild will take a while, depending on how many channels you index. A full update of all channels could take 15 mins or more. Your mileage may vary.

NOTE: A cache rebuild is not required. If you don't care about missing programmes from 2-4 weeks ago, then just let get_iplayer refresh its cache as normal.

Upgrading from get_iplayer 3.00

There is no requirement to perform a full cache rebuild, but you may do so if you wish. Some (but not necessarily all) cache entries with erroneous availability dates in the future (see "Fixed" below) will be fixed automatically in the normal refresh process with v3.01, and all of them will eventually move into the past and thus appear in search results as they should. However, to avoid doubt do a full cache rebuild.

2. Other changes

  • Added --ffmpeg-verbose option. The existing --verbose option is no longer used to enable verbose logging by ffmpeg. It can produce a huge spew of "Invalid timestamp" messages in get_iplayer output that are not of very much use. If you want the spew, use --ffmpeg-verbose.
  • Added --limitprefixlength option (from @abudden). Use to truncate the file prefix to less than default value of 240. This is for users with output directory on an ecryptfs volume, where file name lengths must be limited to approximately 140 chars.

Removed

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

  • The --cache-init option. Use --cache-rebuild instead when upgrading, if desired.

Fixed

  • Fixed a bug that caused XPath errors when generating colour subtitles for some programmes. If you have configured get_iplayer with --subsfmt=default to use its old subtitles code, please remove that setting and give the new colour subtitles another try.
  • Fixed a bug that caused repeat programme availability dates to overwrite those of the corresponding original broadcasts in cache, thus requiring --future to locate some programmes that had actually already been broadcast.
  • Fixed a bug that prevented downloading invidual episodes via --pid when --pid-recursive was configured in preferences.
  • Fixed an incompatibility with very old versions of XML:LibXML that caused strings like "XML::LibXML::Text=SCALAR(0x55de870)" to be written in name/episode fields in cache.
  • Whitespace and typo cleanup (from @praxilian)

Support Notes

"Segment not available from server" errors

In the week following the release of get_iplayer 3.00, a number of streams for hls recording modes began to fail with "Segment not available from server" warnings. These streams have been broken by the BBC - there is nothing you or get_iplayer can do to restore them. See Known Issues for further information. The default configuration for recording modes remains the same in v3.01, but if this proves to be a long term problem, the hls streams will be removed.

Install/Upgrade

Installation information can be found here:

https://github.com/get-iplayer/get_iplayer/wiki/installation

More Information

See: get_iplayer wiki

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.

  • Linux/BSD 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 JSON::PP 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 JSON::PP is installed along with any packaged version of Mojolicious.

    get_iplayer 3.00 dependencies are:

    • External programs:
      • atomicparsley
      • ffmpeg
    • Perl modules:
      • JSON::PP
      • LWP
      • LWP::Protocol::https
      • Mojolicious
      • XML::LibXML
      • XML::Simple

New/Changed

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.

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 <lastbcast>, <lastbcastdate>, and <lastbcastrel> 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 <font> 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 <font> 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.

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 (the default) 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.

Removed

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.

--check-duration
--flvstreamer
--rtmp-radio-opts
--rtmp-tv-opts
--rtmpdump
--rtmpport
--swfurl

Fixed

  • Fixed a bug where <dir> would break user 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.

Deprecations

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

--cache-init
--no-index-concurrent
--no-scrape-versions
--subsfmt
--thumbsizecache

Install/Upgrade

Installation information can be found here:

https://github.com/get-iplayer/get_iplayer/wiki/installation

More Information

See: get_iplayer wiki

⚠️ **GitHub.com Fallback** ⚠️