get_iplayer 3.29 Release Notes
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 that 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,had,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 up to ~90% larger than
their "hd" equivalents, in the region of 3.8 GB/hr for video.
Most will have far lower bit rates, sometimes lower than their
"hd" equivalents, likely due to more sophisticated compression
techniques being employed.
* Because of the method used to access the "fhd" streams,
get_iplayer can't estimate 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.
Changes in 3.28
* Web PVR: Fixed wrapping of long lines in programme info page
* Fixed bug that caused some episodes to be skipped when using
--pid-recursive with certain CBeebies/CBBC programmes
* Added support for "cloudfront" CDN. You can now use
--exclude-supplier="cloudfront" if necessary.
* The modes and modesizes programme info fields are now shown in an
abbreviated form. Individual streams are no longer listed, only
available quality levels.
* The "vbidi" CDN is now excluded by default. It is inaccessible to
get_iplayer and generates useless warnings derived from 403 responses
to requests for HLS master playlists.
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Not committed (merge conflicts...):
net/radsecproxy/distinfo
The following distfiles could not be fetched (fetched conditionally?):
./net/citrix_ica/distinfo citrix_ica-10.6.115659/en.linuxx86.tar.gz
./net/djbdns/distinfo dnscache-1.05-multiple-ip.patch
./net/djbdns/distinfo djbdns-1.05-test28.diff.xz
./net/djbdns/distinfo djbdns-1.05-ignoreip2.patch
./net/djbdns/distinfo djbdns-1.05-multiip.diff
./net/djbdns/distinfo djbdns-cachestats.patch
get_iplayer 3.26 Release Notes
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.
Changes in 3.24
Restored 25fps HLS streams omitted from v3.23.
Removed --hls-lq-audio option. It will now generate an error if used.
Added --mpeg-ts option. If MPEG-TS is your preferred output format (e.g., for device compatibility), use this option to ensure output files are in proper MPEG-TS format regardless of the stream format (HLS or DASH). This is identical to --raw for HLS streams, but the DASH raw format is different. If you have been using --raw to generate MPEG-TS output, switch to --mpeg-ts (which overrides --raw).
Changes in 3.23
Adapted for BBC changes that caused "403 Forbidden" errors when attempting to download HLS streams (the default).
The --hls-lq-audio option is now ignored and will be removed in the next release. 320k audio for TV programmes is no longer available, so the option has no effect.
320k/96k HLS streams for radio programmes are no longer available, except for 96k HLS streams for some World Service programmes. DASH streams are still available for those bit rates. Some older programmes may still have 320k/96k HLS streams available, but they should eventually disappear.
If you use default settings for download quality (which should be the case for most users), you do not need to change anything. The best quality available will still be downloaded by default.
If you don't use default settings, you may need to adjust your recording modes for radio programmes. The hafhigh and hafmed modes will still be accepted, but they likely will have no effect. Recording modes for TV programmes should not need changes.
Added CBeebies Radio to programme indexing
Radio button labels in Web PVR Manager are now clickable (@hintswen)
Fixed a bug that caused get_iplayer to fail with Perl 5.16 (@llewelld)
Fixed a bug that caused PVR searches for Proms programmes to download both TV and radio episodes even if --type=radio was specified.
Changes:
- Fixed schedule page parsing used for cache updates. This was broken by BBC changes and manifested as a series of “WARNING: Got 0 programmes...” messages during cache updates. Your cache will not update without this fix. If you find that some programmes are still missing from your cache, use `--cache-rebuild` to perform a full rebuild.
- get_iplayer now recognises previously-unknown programme versions (e.g., "legal") when the "default" pseudo-version is specified in the value of the `--versionlist` option.
- The `--pid-recursive-type` option is now applied when only downloading auxiliary resources (e.g., `--subtitles-only`).
- Fixed programme title extraction with `--pid-recursive` to prevent unwanted extra text being appended to title in episode listing (e.g., for Proms programmes).
- Added --release-check option to check for new releases
- If used on the command line (get_iplayer --release-check) an immediate check is made.
- If added to preferences (get_iplayer --prefs-add --release-check) a weekly check is made. The modification time on the "release_check" file in your profile directory is used to determine when a check is due.
- Accesses release feeds from GitHub repositories.
- get_iplayer is NOT automatically updated with --release-check . It only prints a message notifying you that a new release is available.
- Added --cuesheet and --cuesheet-only options to download track information in the form of a cue sheet (.cue file).
- Applies to radio programmes only. Only useful with radio programmes that publish track lists on BBC site.
- You cannot assume cue sheets to be accurate since track data is often wrong. You must correct cue sheets as needed if you use them to play back or edit downloaded programmes.
- get_iplayer makes no attempt to identify air breaks between tracks. You must set track end times manually if you use cue sheets to edit downloaded programmes.
- You will need to add a UTF-8 BOM (byte order mark) to cue sheets so that non-ASCII characters are displayed properly in some applications, e.g., foobar2000. This can be done with any capable text editor, or in the Notepad "Save" dialog with Encoding = "UTF-8 with BOM" (Windows 10) or Encoding = "UTF-8" (Windows 7).
- --subs-embed now implies --subs-mono. If you use --subs-embed, you no longer need to use --subs-mono.
- Embedded subtitles are rendered in a single colour, so this change ensures that embedded subtitles have leading hyphens to denote changes of speaker.
- This change also ensures that the external SRT file is formatted the same as the embedded subtitles. If you wish to create an external SRT file with colour subtitles along with embedded subtitles, use --subtitles-only --no-subs-embed --no-subs-mono --overwrite to re-download colour subtitles and replace the SRT file.
- Added --metadata=json option to create metadata file in JSON format (.json file). Content is the same as default XML-format metadata files (produced by --metadata without format value specified).
- Added --pid-recursive-type option to limit recursive downloads to programmes of specified type (radio or tv) when series includes both radio and TV programmes. Option value is not reflected in listings from --pid-recursive-list, nor is it applied when only downloading auxiliary resources (e.g., --metadata-only). Requires --pid-recursive.
- Added <sesortx> substitution parameter. See definition in Substitution Parameters. This parameter provides an additional option for constructing sortable file names with --file-prefix.
- The --pid option can no longer be saved in the default options file, where it could break subsequent downloads. It can still be saved in presets and used with --pvr-queue.
- The installer-supplied wrapper script that launches a standalone Web PVR Manager server has been renamed from get_iplayer.cgi to get_iplayer_cgi (macOS) and from get_iplayer.cgi.cmd to get_iplayer_cgi.cmd (Windows).
- Implemented a workaround for a deficiency in Windows Perl that caused "Wide character in print" warnings.
- Implemented a workaround to avoid Can't locate object method "subtitles_available" error when using --pid-recursive with --subtitles or --subtitles-only with mixed TV/radio series.
- Fixed a bug that caused the channel name to be tagged as "BBC iPlayer" when downloading individual programmes with --pid.
- Fixed a bug that caused downloads to fail when using default settings if the only available version of a radio programme was "podcastX" (where X = 2,3,...).
Changes in 3.20
Fixed a bug in v3.19 that caused a "Can't use an undefined value as an ARRAY reference" error when using --pid-recursive or --pid-recursive-list with programmes that have no available episodes
Fixed a bug in v3.19 that prevented Windows users from viewing and editing PVR searches in the Web PVR Manager.
EDIT: If you find that BBC Scotland programmes of interest are missing from search results, force all available BBC Scotland programmes to be indexed and cached with (ignore any 404 errors):
get_iplayer --refresh --refresh-include="BBC Scotland" --refresh-limit=30
v3.20 was released soon after v3.19, which was withdrawn. See the get_iplayer 3.19 release notes for other recent changes.
Changes in 3.19
Fixed a bug that caused one-off PVR searches created with --pvr-queue to be deleted when run with --test (thanks @wiehe).
Replaced BBC Two Scotland with BBC Scotland in programme indexing. If a cache update extends back before the week of 2019-02-18, it will produce errors because a BBC Scotland schedule does not exist for earlier dates. The error can be ignored. EDIT: If you find that BBC Scotland programmes of interest are missing from search results, force all available BBC Scotland programmes to be indexed and cached with (ignore any 404 errors):
get_iplayer --refresh --refresh-include="BBC Scotland" --refresh-limit=30
Adapted --pid-recursive and --pid-recursive-list functionality for the change in layout of programme episode lists on the iPlayer site. The switch to series-by-series listings for many programmes meant that get_iplayer would only display episodes from the earliest series listed. This almost exclusively affected CBBC and CBeebies programmes, but could affect any programme.
The episode ordering with --pid-recursive and --pid-recursive-list is now always oldest to newest (as determined by the order of the listings on the iPlayer site). This ensures a consistent order regardless of the source of the episode lists, and it is generally consistent with how search results are ordered by default. Use --sort-reverse to list episodes from newest to oldest.
Added <senumx> substitution parameter to format series and episode numbers as ##x## instead of s##e## as with <senum>. As with <senum>, <senumx> may be absent.
Added --expires-after option for use with --expires-before to bracket searches based on programme expiration date.
Added --pid-index option. The programme index cache is no longer used by default with --pid, whether in a PVR search or from the command line. For an indexed programme, the cache entry provides a backup source of basic metadata, but it is not required. If you notice incomplete metadata or output file names with missing components, use --pid-index to ensure the cache is updated and used with --pid. This would only be of help with indexed programmes from the past 30 days.
Added --no-merge-versions option. get_iplayer now attempts to merge media streams from programme versions with the same name and duration (e.g., editorial and editorial2). There are some extremely rare cases where you may not want to do so because broken streams may be included in the result due to problems with BBC metadata. In that case, use --no-merge-versions to prevent merging and pick out the specific version you want with --versions.
Performed final removal of --hls-hq-audio, --no-dash-remux and --stream-http options
Changes in 3.18
Fixed a bug that caused unnecessary cache updates when --refresh-future was used.
Fixed a bug that prevented a stale cache from being updated with --pvr when first PVR search was PID-based. EDIT: This change will refresh both TV and radio programme index caches when PID-based PVR searches are used, even if --type=radio is not defined in preferences or the PVR searches. This is to ensure availability of at least minimal metadata for indexed programmes found with PID-based PVR searches. If you want to avoid ever indexing any radio programmes, delete the radio.cache file in your profile directory and use --refresh-exclude-groups-radio=local,regional,national to exclude all radio stations from indexing. You will have a radio.cache file, but it will contain no entries.
Added --hls-lq-audio option to download lower-quality audio with HLS video streams. Use this if 320k audio is too rich for your diet. You will get the same audio as DASH streams (128k or 96k, depending on the stream).
Added --available-before option for use with --available-since to bracket searches based on programme availability date.
The --no-subtitles option on the command line will now override all --subs-{embed,mono,raw,required} options saved in preferences. Those options no longer imply --subtitles (Web PVR: "Download subtitles" in "Recording" tab), which is now required with any of them.
get_iplayer no longer looks for a local options file under the current working directory (in ./.get_iplayer/options). That could cause problems when using --profile-dir while working in user's home directory if a default profile directory had been created. Use a preset instead. EDIT: This functionality was never documented and thus you are extremely unlikely to be affected by its removal.
The --test option will only show lists of matching episodes with PVR searches and --pid-recursive. Download and parsing of media stream data will only occur with --test if --get or standalone --pid is specified.
Changes to substitution parameters:
Added <sebcast>, <sebcastdate>, <sebcasttime>, <sesort>. See definitions in Substitution Parameters. These parameters provide additional options for constructing sortable file names with --file-prefix.
A value for <episodenum> must now be found in programme metadata in order for <senum> to be populated. A value of "1" is no longer synthesised for some TV programmes. A value of "1" is still synthesised for <seriesnum> if <episodenum> is populated and no series number is found in programme metadata.
The episode number prepended to <episode> is now zero-padded to 2 digits. This is reflected in the default output file prefix. EDIT: If you use the default file prefix and you mistakenly use --force for a programme you do not wish to re-download, or you mistakenly attempt to re-download a programme you already have that has been removed from your download history, it is likely that you will end up with a duplicate because the zero-padding generates a different file name (assuming an episode number is present). To revert to the previous default file prefix without zero-padding, use:
get_iplayer --prefs-add --file-prefix="<name> - <episodenum. ><episodeshort> <pid> <version>"
If you use a custom file prefix that contains <episode>, replace it with <episodenum. ><episodeshort> to achieve the same effect.
Conditional separators can now be used as suffixes. See example in Filenames and Directories.
The functionality of the options below has been removed. The options are now ignored and will be completely removed in the next release. A warning message will be printed if any of these options is found in your preferences.
--hls-hq-audio: Now essentially useless and could lead to audio sync problems.
--no-dash-remux: If you prefer DASH media streams for some reason you can no longer produce potentially unusable output files, at the cost of some extra time in post-processing downloads.
--stream-http: get_iplayer will now automatically look for HTTP media playlist URLs if no HTTPS URLs are found.
You can remove these obsolete options from your preferences (whether or not they are actually defined) with:
get_iplayer --prefs-del --hls-hq-audio --no-dash-remux --stream-http
A get_iplayer profile directory (containing programme index caches, pvr searches, preset definitions, download history) can now be shared between Windows and Linux/BSD/macOS. get_iplayer on all platforms now processes any CRLF line endings (default for text files on Windows) when reading files from the profile directory. Files will still be written with native line endings (CRLF on Windows, LF on other platforms), so different files may have different line endings if you share them between platforms. This also means that the "download_history" file will have mixed line endings if written on different platforms. The different line endings shouldn't affect get_iplayer, but be aware of them if editing those files directly.
If you only use get_iplayer on Windows, or only on Linux/BSD/macOS, you should notice no difference.
Warning for Linux/BSD/macOS users: This only works with get_iplayer 3.18 or higher. Once you have CRLF line endings in your files, you cannot use get_iplayer versions before 3.18 unless you first change all line endings in all files to LF and then never again write to those files in Windows.
Many fixes including:
* Restored cache updating, which was broken by changes to BBC web
sites. If you find search results missing programmes from the week
of 19 Feb, rebuild your cache with --rebuild-cache to fill any
holes.
* Fixed a bug that generated incorrect schedule URLs (used for cache
refresh) for the first calendar week of 2018 (and some future
years). (@welwood08)
Highlights:
* 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 for ad hoc cache updates.
* 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.
* 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.
* 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.
https://github.com/get-iplayer/get_iplayer/wiki/releasenotes
* Fix "Segment not available from server" errors
* The --cache-init option. Use --cache-rebuild instead when upgrading.
* The SRT subtitles produced by get_iplayer now include <font> tags to
preserve the colour information from the TTML originals.
* get_iplayer now supports the BBC "bidi" CDN, so additional streams
are available for TV programmes.
* 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.
Full release notes available fromt:
https://github.com/get-iplayer/get_iplayer/wiki/release301
get_iplayer 2.94 was released shortly after 2.93 to fix a bug that
broke live streaming for BBC News, BBC 6 Music and BBC 1Xtra. There
were no other changes in 2.94. If you already installed 2.93 and do not
require live streaming for the above stations, updating to 2.94 is not
necessarily required. However, all users are strongly advised to do so.
New/Changed
1. TV listing feeds
On 02/06/2015 the BBC removed the listing feeds used by get_iplayer to
populate the TV programme data cache used to support searching.
get_iplayer has now switched to using BBC schedule data instead. This
is what you need to know:
* If you added --refresh-feeds-tv=schedule to your preferences as a
temporary measure to support the web pvr, remove it now from the
command line with:
get_iplayer --prefs-del --refresh-feeds-tv=schedule
* Refreshing your TV data cache will be MUCH slower than before.
Remember this especially if you use --refresh-future, which doubles
the indexing time. The schedule parsing is based on old code
inherited from the original version of get_iplayer, but hopefully
it should improve a bit in future releases.
* Programmes unique to local BBC One variants are not indexed by
default. This reduces the indexing time by about half at the
expense of a handful of programmes, many of which are local news
cut-outs. If you wish to index the BBC One local variants, use
--refresh-exclude-groups-tv=none.
* You may find some TV programmes in search results that are older
than 7 days. This is because the schedule data used for indexing
goes back to the beginning of the previous calendar week.
* You may find some TV programmes in search results that are older
than 7 days and no longer available (e.g., films). You may also
find some future programmes that are not yet available. This
hopefully should be improved in a future release.
* Fewer TV programmes will be indexed. The TV schedule data does not
contain old archive programmes lurking in the iPlayer site. Only
programmes in the schedule listings will be indexed.
* You can no longer search TV programmes for signed or audio
described versions. That facility is unlikely ever to return.
However, you should still be able to download those versions where
available.
* You can no longer search TV programmes by category. That facility
is unlikely ever to return. Category information will not appear in
search results (for the present a blank space will be displayed).
REMEMBER: Any programme not in your data caches (and thus not found in
your search results) should still be available with --pid <PID> or
--url <URL>.
2. Live TV and radio streaming
On 02/06/2015 the BBC removed some metadata resources used by
get_iplayer to locate live streams. get_iplayer has been repaired to
work around this problem. Live streaming should work as before, though
not all streams have been tested.
3. Other changes
* Added support for BBC One/Two Northern Ireland/Scotland/Wales live
streams. HD streams are available for BBC One variants, but BBC Two
variants are SD only. To access those streams with a search string,
you must full spell out which region you want, e.g., get_iplayer
--get --type=livetv "BBC One Scotland".
* Added support for HD TV programmes available via HLS
(--mode=hlshd).
* The --playlist-metadata option is now ignored and will be removed
in the next release.
Fixed
* Fixed "Not a SCALAR reference at get_iplayer.pl line 7099" errors.
There should no longer be any need to use -exclude-supplier=akamai
or -exclude-supplier=limelight to work around those errors.
* Fixed problem with future repeat overwriting previous broadcast of
same programme in cache data.
* Fixed problem with downloading "open subtitles" programme versions
with embedded subtitles (e.g., opera broadcasts).
Full log at https://squarepenguin.co.uk/wiki/releasenotes/release293
Version 2.92 -- Fri, 13 Mar 2015
* Tag version 2.92
* Hold off on Makefile changes
* Makefile changes
* Sort programme types in help text
* Pick up flashlow stream from mobile data
* Clean up Kodi .nfo files
* Updated help text and man page
* No ddlaacmed mode
* Automatically use mediaselector/4 for obvious archive programmes
* Added World Service to generated HLS live radio streams
* Fixed playlist URL parsing in archive pages
* Reinstate --mediaselector option (for archive programmes)
* Update ddlaac modes
* Combine AAC and MP3 in "shoutcast" mode alias for live radio
* Rework live stream location override options
* Rework default programme version determination
* Tweak mode size formatting
* Fixed incorrect processing of --stop and --start in HLS streamer
* Make --check-duration aware of --start and --stop
* Ignore rtmpdump error code = 2 with --stop
* When selecting default, ignore versions with only subtitles stream
* Don't check if main script writable on update unless it will be written
* Update live radio options in man page
* Updated Flash player URL
* Added --liveradio-intl option, removed "nonuk" mode alias
* Remove live radio mode list exception for World Service
* Removed deleted live Flash stream for World Service
* Fixed priority order of HLS live streams
* Added --no-proxy option
* Added DDL opts to manpage
* Cache listing with earliest availability when using schedule feeds
* Cache mis-catalogued news programmes
* Generate all additional live streams with --live{tv,radio}-uk
* Web PVR: Fixed escaping in form param parsing
* Revamped support for direct download AAC files
* Removed unnecessary thumbnail download notice
* Don't attempt to tag file with --raw
* Add full metadata to media clips (changes re-applied)
* Revert clip metadata changes
* Added shoutcast options to man page
* Removed rtsp recording modes
* Ignore --mediaselector option
* Added support for direct download AAC files
* Added support for Shoutcast live radio streams
* Revamped stream data processing
* Don't create series web link if no parent entity
* Handle rare subseries (split episodes)
* Move fallback metadata collection to ensure title is populated first
* Process all programme versions (including duplicates) to find stream info
* Cache audio described programmes from ION feeds
* Added additional HD/SD streams with --hds-livetv
* Fix runtime in Freevo/Kodi metadata
* widen first column in --dump-options output
* Updated SWF player URL
* bump dev version
Version 2.91 -- Sun, 21 Dec 2014
* suppress warnings for > 32-bit dates in obsolete Perl versions
* Fudge a thumbnail for S4C
* Added S4C to live tv, changed HDS manifest URLs
* Enable --aactomp3 with HLS
* Deal with obsolete live tv modes
* Updated thumbnail size help text
* Use correct URI escape method
* HLS tweaks
* Don't rely on order of version types in programme metadata (2nd try)
* Revert "Don't rely on order of version types in programme metadata"
* Don't rely on order of version types in programme metadata
* Web PVR accessibility improvements
* Fixes for 2c381ae9c08a8a55cc84dbb05a86e66548315976
* Web PVR: When the description column for a result is clicked, open the info page in a new tab.
* Add better checks for missing data to brand/series parsing
* Check 3 levels for programme brand
* Use media_file_size attribute if available
* Make clear that {hls,ffmpeg}*opts only apply to re-muxing/encoding of download or output file
* Copy authentication params to derived HLS playlist URLs
* Windows installer 4.10
* Updated GitHub repo location
* Allow 3 category levels
* Always print warning if no programme versions found
* Added S4C to channels
* Revert "Added support for live radio Shoutcast streams"
* Added support for live radio Shoutcast streams
* Added HLS mode warnings about missing ffmpeg
* More improvements to multiple/missing versions
* Improve handling of multiple/missing versions
* Always call get_metadata() in download_retry_loop()
* Fixed skipped call to get_metadata() when AtomicParsley not installed
* Backstop <desc> with <descshort>
* Copy firstbcast/lastbcast when replacing default with iplayer version
* Revamped replacement of missing default version by iplayer version
* Added larger thumbnail sizes
* Always use iplayer version as default if found
* Don't force episode numbers into cache episode field
* Added support for HLS streaming and restored live tv
* Ignore --quiet with --stdout
* Tidy XML::Simple warnings
* Added tagging options for new metadata processing
* Changes to <episode> <nameshort> <desclong>
* Added verbose message to print programme metadata URL
* Revert "Added verbose message to indicate if new metadata code is used"
* Added verbose message to indicate if new metadata code is used
* Change web scraping with now-obsolete metadata extraction code
* Strip line breaks for --info output
* Add long description to Kodi/Freevo metadata
* Fix long description parsing
* Tidy up episode number insertion
* Updated SWF player URL
* tighten PID check in get_metadata
* Fixed versions parsing in JSON playlist
* Fixed versions parsing from programme metadata
* Implemented brand/series parsing for cache
* Added --refresh-abortonerror option
* Implemented ION feeds for tv and radio
* Don't allow --info with --pvr
* Segment channels into groups (national, regional, local)
* Use /programmes data endpoints as primary source for metadata
* Misc metadata cleanup
* Cygwin changes #2
* Suppress "Added:" messages with --quiet
* Web PVR: fixed escaping in form post parsing
* Cygwin changes
* Switch to mediaselector 5 API, added --mediaselector (2nd attempt)
* Revert "Switch to mediaselector 5 API, added --mediaselector"
* Fix application of --whitespace to final file/path
* Switch to mediaselector 5 API, added --mediaselector
* Suppress spurious errors in PVR log.
* Apply JSON parsing fix to radio programmes
* Fixed json playlist parsing to avoid "warning" vpids
* Fixed sanitising --file-prefix and --subdir-format
* Fixes for --pvr-queue with multiple PIDs
* Web PVR: add /usr/local/bin/get_iplayer to search list
* Prevent duplicate default versions if JSON playlist used
* Use brand/series thumbnails in radio cache
* Restore subcategories in metadata
* Revert "add subcategories after the main categories in the 'catergories' property"
* add subcategories after the main categories in the 'catergories' property
* Fix episode number search
* Fixed web pvr imports for ancient versions of URI::Escape
* Add BBC Sport as a masterbrand to fetch
This tool allows you to search, index and record/stream:
* BBC iPlayer TV
* BBC iPlayer TV subtitles
* BBC iPlayer Radio
* BBC Live TV
* BBC Live Radio
* BBC Podcasts