Releases: yt-dlp/yt-dlp
yt-dlp 2021.07.07
Changelog:
- Merge youtube-dl: Upto commit/a803582
- Add
--extractor-args
to pass extractor-specific arguments- Add extractor option
skip
foryoutube
. Eg:--extractor-args youtube:skip=hls,dash
- Deprecates --youtube-skip-dash-manifest, --youtube-skip-hls-manifest, --youtube-include-dash-manifest, --youtube-include-hls-manifest
- Add extractor option
- Allow
--list...
options to work with--print
,--quiet
and other--list...
options - [youtube] Use
player
API for additional video extraction requests by colethedj- Fixes youtube premium music (format 141) extraction
- Adds extractor option
player_client
=web
/android
--extractor-args youtube:player_client=android
works around the throttling for the time-being
- Adds extractor option
player_skip=config
- Adds age-gate fallback using embedded client
- [youtube] Choose correct Live chat API for upcoming streams by krichbanana
- [youtube] Fix subtitle names for age-gated videos
- [youtube:comments] Fix error handling and add
itct
to params by colethedj - [youtube_live_chat] Fix download with cookies by siikamiika
- [youtube_live_chat] use
clickTrackingParams
by siikamiika - [Funimation] Rewrite extractor
- Add
FunimationShowIE
by Mevious - Treat the different versions of an episode as different formats of a single video
- This changes the video
id
and will break break existing archives - Compat option
seperate-video-versions
to fall back to old behavior including using the old video ids
- This changes the video
- Support direct
/player/
URL - Extractor options
language
andversion
to pre-select them during extraction- These options may be removed in the future if we can extract all formats without additional network requests
- Do not rely on these for format selection and use
-f
filters instead
- Add
- [AdobePass] Add Spectrum MSO by kevinoconnor7, ohmybahgosh
- [facebook] Extract description and fix title
- [fancode] Fix extraction, support live and allow login with refresh token by zenerdi0de
- [plutotv] Improve
_VALID_URL
- [RCTIPlus] Add extractor by MinePlayersPE
- [Soundcloud] Allow login using oauth token by blackjack4494
- [TBS] Support livestreams by llacb47
- [videa] Fix extraction by nyuszika7h
- [yahoo] Fix extraction by llacb47, pukkandan
- Process videos when using
--ignore-no-formats-error
by krichbanana - Fix
--throttled-rate
when using--load-info-json
- Fix
--flat-playlist
when entry has noie_key
- Fix
check_formats
catchingExtractorError
instead ofDownloadError
- Fix deprecated option
--list-formats-old
- [downloader/ffmpeg] Fix
--ppa
when using simultaneous download - [extractor] Prevent unnecessary download of hls manifests and refactor
hls_split_discontinuity
- [fragment] Handle status of download and errors in threads correctly; and minor refactoring
- [thumbnailsconvertor] Treat
jpeg
asjpg
- [utils] Fix issues with
LazyList
reversal - [extractor] Allow extractors to set their own login hint
- [cleanup] Simplify format selector code with
LazyList
andyield from
- [cleanup] Clean
extractor.common._merge_subtitles
signature - [cleanup] Fix some typos
yt-dlp 2021.06.23
Changelog:
- Merge youtube-dl: Upto commit/379f52a
- Add option
--throttled-rate
below which video data is re-extracted - [fragment] Merge during download for
-N
, and refactorhls
/dash
- [websockets] Add
WebSocketFragmentFD
by nao20010128nao, pukkandan - Allow
images
formats in addition to video/audio - [downloader/mhtml] Add new downloader for slideshows/storyboards by fstirlitz
- [youtube] Temporary fix for age-gate
- [youtube] Support ongoing live chat by siikamiika
- [youtube] Improve SAPISID cookie handling by colethedj
- [youtube] Login is not needed for
:ytrec
- [youtube] Non-fatal alert reporting for unavailable videos page by colethedj
- [twitcasting] Websocket support by nao20010128nao
- [mediasite] Extract slides by fstirlitz
- [funimation] Extract subtitles
- [pornhub] Extract
cast
- [hotstar] Use server time for authentication instead of local time
- [EmbedThumbnail] Fix for already downloaded thumbnail
- [EmbedThumbnail] Add compat-option
embed-thumbnail-atomicparsley
- Expand
--check-formats
to thumbnails - Fix id sanitization in filenames
- Skip fixup of existing files and add
--fixup force
to force it - Better error handling of syntax errors in
-f
- Use
NamedTemporaryFile
for--check-formats
- [aria2c] Lower
--min-split-size
for HTTP downloads - [options] Rename
--add-metadata
to--embed-metadata
- [utils] Improve
LazyList
and add tests - [build] Build Windows x86 version with py3.7 and remove redundant tests by pukkandan, shirt
- [docs] Clarify that
--embed-metadata
embeds chapter markers - [cleanup] Refactor fixup
Note: While youtube throttling issue hasn't been fixed, it can be worked around by using --throttled-rate 100K
yt-dlp 2021.06.09
Changelog:
- Fix bug where
%(field)d
in filename template throws error - Improve offset parsing in outtmpl
- [test] More rigorous tests for
prepare_filename
The quick release is due to the seriousness of the output template bug. Due to the same reason, Win XP (Py3.4) support has been extended to this release
yt-dlp 2021.06.08
Changelog:
- Remove support for obsolete Python versions: Only 3.6+ is now supported
- Merge youtube-dl: Upto commit/c2350ca
- [hls] Fix decryption for multithreaded downloader
- [extractor] Fix pre-checking archive for some extractors
- [extractor] Fix FourCC fallback when parsing ISM by fstirlitz
- [twitcasting] Add TwitCastingUserIE, TwitCastingLiveIE by pukkandan, nao20010128nao
- [vidio] Add VidioPremierIE and VidioLiveIE by MinePlayersPE
- [viki] Fix extraction from by ytdl-org/youtube-dl@59e583f
- [youtube] Support shorts URL
- [zoom] Extract transcripts as subtitles
- Add field
original_url
with the user-inputted URL - Fix and refactor
prepare_outtmpl
- Make more fields available for
--print
when used with--flat-playlist
- [utils] Generalize
traverse_dict
totraverse_obj
- [downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode by fstirlitz
- [build] Release
yt-dlp.tar.gz
- [build,update] Add GNU-style SHA512 and prepare updater for simlar SHA256 by nihil-admirari
- [pyinst] Show Python version in exe metadata by nihil-admirari
- [docs] Improve documentation of dependencies
- [cleanup] Mark unused files
- [cleanup] Point all shebang to
python3
by fstirlitz - [cleanup] Remove duplicate file
trovolive.py
v2021.06.01 was supposed to be the last version where the windows x86 binary is built with Python 3.4 and thus have compatibility with Windows XP. However, a bug was discovered in video decryption when using -N
for the last version and I did not want the last release to be a buggy one. So, while python 3.4 support has already been officially dropped, the yt-dlp_x86.exe
of this release is built with it, making this the actual last release that supports Windows XP
Edit: See 2021.06.09
yt-dlp 2021.06.01
IMPORTANT
This will be the last release that supports python versions < 3.6
Once you update to this version, -U
will be blocked for Windows XP and for UNIX systems without python 3.6+
Edit: Version 2021.06.09 also has Windows XP Support despite python 3.4 support being dropped after this release. See the release description for details
Changelog
- Merge youtube-dl: Upto commit/d495292
- Pre-check archive and filters during playlist extraction
- Handle Basic Auth
user:pass
in URLs by hhirtz and pukkandan - [archiveorg] Add YoutubeWebArchiveIE by colethedj and alex-gedeon
- [fancode] Add extractor by rmsmachine
- [patreon] Support vimeo embeds by rhsmachine
- [Saitosan] Add new extractor by llacb47
- [ShemarooMe] Add extractor by Ashish0804 and pukkandan
- [telemundo] Add extractor by king-millez
- [SonyLIV] Add SonyLIVSeriesIE and subtitle support by Ashish0804
- [Hotstar] Add HotStarSeriesIE by Ashish0804
- [Voot] Add VootSeriesIE by Ashish0804
- [vidio] Support login and premium videos by MinePlayersPE
- [fragment] When using
-N
, do not keep the fragment content in memory - [ffmpeg] Download and merge in a single step if possible
- [ThumbnailsConvertor] Support conversion to
png
and make it the default by louie-github - [VideoConvertor] Generalize with remuxer and allow conditional recoding
- [EmbedThumbnail] Embed in
mp4
/m4a
using mutagen by tripulse and pukkandan - [EmbedThumbnail] Embed if any thumbnail was downloaded, not just the best
- [EmbedThumbnail] Correctly escape filename
- [update] replace self without launching a subprocess in windows
- [update] Block further update for unsupported systems
- Refactor
__process_playlist
by creatingLazyList
- Write messages to
stderr
when bothquiet
andverbose
- Sanitize and sort playlist thumbnails
- Remove
None
values frominfo.json
- [extractor] Always prefer native hls downloader by default
- [extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
- [extractor] Functions to parse
socket.io
response asjson
by pukkandan and llacb47 - [extractor] Allow
note=False
when extracting manifests - [utils] Escape URLs in
sanitized_Request
, notsanitize_url
- [hls] Disable external downloader for
webtt
- [youtube]
/live
URLs should raise error if channel is not live - [youtube] Bug fixes
- [zee5] Fix m3u8 formats' extension
- [ard] Allow URLs without
-
before id by olifre - [cleanup]
YoutubeDL._match_entry
- [cleanup] Refactor updater
- [cleanup] Refactor ffmpeg convertors
- [cleanup] setup.py
yt-dlp 2021.05.20
- Youtube improvements:
- Support youtube music
MP
,VL
andbrowse
pages - Extract more formats for youtube music by craftingmod, colethedj, pukkandan
- Extract multiple subtitles in same language by pukkandan and tpikonen
- Redirect channels that doesn't have a
videos
tab to theirUU
playlists - Support in-channel search
- Sort audio-only formats correctly
- Always extract
maxresdefault
thumbnail - Extract audio language
- Add subtitle language names by nixxo and tpikonen
- Show alerts only from the final webpage
- Add
html5=1
param toget_video_info
page requests by colethedj - Better message when login required
- Support youtube music
- Add option
--print
: to print any field/template
Deprecates:--get-description
,--get-duration
,--get-filename
,--get-format
,--get-id
,--get-thumbnail
,--get-title
,--get-url
- Field
additional_urls
to download additional videos from metadata using--parse-metadata
- Merge youtube-dl: Upto commit/dfbbe29
- Write thumbnail of playlist and add
pl_thumbnail
outtmpl key - [embedthumbnail] Add
flac
support and refactormutagen
code by pukkandan and tripulse - [audius:artist] Add extractor by king-millez
- [parlview] Add extractor by king-millez
- [tenplay] Fix extractor by king-millez
- [rmcdecouverte] Generalize
_VALID_URL
- Add compat-option
no-attach-infojson
- Add field
name
for subtitles - Ensure
post_extract
andpre_process
only run once - Fix
--check-formats
when there is network error - Standardize
write_debug
andget_param
- [options] Alias
--write-comments
,--no-write-comments
- [options] Refactor callbacks
- [test:download] Only extract enough videos for
playlist_mincount
- [extractor] bugfix for when
compat_opts
is not given - [cleanup] code formatting, youtube tests and readme
There was some issue in building the x86 release. So it will be temporarily unavailable Fixed
yt-dlp 2021.05.11
Changelog:
- Deprecate support for python versions < 3.6
- Subtitle extraction from manifests by fstirlitz. See be6202f for details
- Improve output template:
- Allow slicing lists/strings using
field.start:end:step
- A field can also be used as offset like
field1+num+field2
- A default value can be given using
field|default
- Prevent invalid fields from causing errors
- Allow slicing lists/strings using
- Merge youtube-dl: Upto commit/a726009
- Remove options
-l
,-t
,-A
completely and disable--auto-number
,--title
,--literal
,--id
- [Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
- [downloader] Fix
quiet
andto_stderr
- [fragment] Ensure the file is closed on error
- [fragment] Make sure first segment is not skipped
- [aria2c] Fix whitespace being stripped off
- [embedthumbnail] Fix bug where jpeg thumbnails were converted again
- [FormatSort] Fix for when some formats have quality and others don't
- [utils] Add
network_exceptions
- [utils] Escape URL while sanitizing
- [ukcolumn] Add Extractor
- [whowatch] Add extractor by nao20010128nao
- [CBS] Improve
_VALID_URL
to support movies - [crackle] Improve extraction
- [curiositystream] Fix collections
- [francetvinfo] Improve video id extraction
- [generic] Respect the encoding in manifest
- [limelight] Obey
allow_unplayable_formats
- [mediasite] Generalize URL pattern by fstirlitz
- [mxplayer] Add MxplayerShowIE by Ashish0804
- [nebula] Move to nebula.app by Lamieur
- [niconico] Fix HLS formats by CXwudi, tsukumijima, nao20010128nao and pukkandan
- [niconico] Fix title and thumbnail extraction by CXwudi
- [plutotv] Extract subtitles from manifests
- [plutotv] Fix format extraction for some urls
- [rmcdecouverte] Improve
_VALID_URL
- [sonyliv] Fix
title
andseries
extraction by Ashish0804 - [tubi] Raise "no video formats" error when video url is empty
- [youtube:tab] Detect playlists inside community posts
- [youtube] Add
oembed
to reserved names - [zee5] Fix extraction for some URLs by Hadi0609
- [zee5] Fix py2 compatibility
- Fix
playlist_index
and addplaylist_autonumber
. See #302 for details - Add experimental option
--check-formats
to test the URLs before format selection - Option
--compat-options
to revert some of yt-dlp's changes- Deprecates
--list-formats-as-table
,--list-formats-old
- Deprecates
- Fix number of digits in
%(playlist_index)s
- Fix case sensitivity of format selector
- Revert "[core] be able to hand over id and title using url_result"
- Do not strip out whitespaces in
-o
and-P
- Fix
preload_download_archive
writing verbose message tostdout
- Move option warnings to
YoutubeDL
so that they obey--no-warnings
and can output colors - Py2 compatibility for
FileNotFoundError
yt-dlp 2021.04.22
Changelog:
- Improve output template:
- Objects can be traversed like
%(field.key1.key2)s
- An offset can be added to numeric fields as
%(field+N)s
- Deprecates
--autonumber-start
- Objects can be traversed like
- Improve
--sub-langs
:- Treat
--sub-langs
entries as regex all
can be used to refer to all the subtitles- language codes can be prefixed with
-
to exclude it - Deprecates
--all-subs
- Treat
- Add option
--ignore-no-formats-error
to ignore the "no video format" and similar errors - Add option
--skip-playlist-after-errors
to skip the rest of a playlist after a given number of errors are encountered - Merge youtube-dl: Upto commit/7e8b3f9
- [downloader] Fix bug in downloader selection
- [BilibiliChannel] Fix pagination by nao20010128nao andpukkandan
- [rai] Add support for http formats by nixxo
- [TubiTv] Add TubiTvShowIE by Ashish0804
- [twitcasting] Fix extractor
- [viu:ott] Fix extractor and support series by lkho andpukkandan
- [youtube:tab] Show unavailable videos in playlists by colethedj
- [youtube:tab] Reload with unavailable videos for all playlists
- [youtube] Ignore invalid stretch ratio
- [youtube] Improve channel syncid extraction to support ytcfg by colethedj
- [youtube] Standardize API calls for tabs, mixes and search by colethedj
- [youtube] Bugfix in
_extract_ytcfg
- [mildom:user:vod] Download only necessary amount of pages
- [mildom] Remove proxy completely by fstirlitz
- [go] Fix
_VALID_URL
- [MetadataFromField] Improve regex and add tests
- [Exec] Ensure backward compatibility when the command contains
%
- [extractor] Fix inconsistent use of
report_warning
- Ensure
mergeall
selects best format when multistreams are disabled - Improve the yt-dlp.sh script by fstirlitz
- [lazy_extractor] Do not load plugins
- [ci] Disable fail-fast
- [documentation] Clarify which deprecated options still work
- [documentation] Fix typos
yt-dlp 2021.04.11
Changelog:
- Add option
--convert-thumbnails
(only jpg currently supported) - Format selector
mergeall
to download and merge all formats - Pass any field to
--exec
using similar syntax to output template - Choose downloader for each protocol using
--downloader PROTO:NAME
- Alias
--downloader
for--external-downloader
- Added
native
as an option for the downloader
- Alias
- Merge youtube-dl: Upto commit/4fb25ff (except vimeo)
- [DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE by Ashish0804
- [NFHSNetwork] Add extractor by llacb47
- [nebula] Add extractor (watchnebula.com) by hheimbuerger
- [nitter] Fix extraction of reply tweets and update instance list by B0pol
- [nitter] Fix thumbnails by B0pol
- [youtube] Fix thumbnail URL
- [youtube] Parse API parameters from initial webpage by colethedj
- [youtube] Extract comments' approximate timestamp by colethedj
- [youtube] Fix alert extraction
- [bilibili] Fix uploader
- [utils] Add
datetime_from_str
anddatetime_add_months
by colethedj - Run some
postprocessors
before actual download - Improve argument parsing for
-P
,-o
,-S
- Fix some
m3u8
not obeying--allow-unplayable-formats
- Fix default of
dynamic_mpd
- Deprecate
--all-formats
,--include-ads
,--hls-prefer-native
,--hls-prefer-ffmpeg
- [documentation] Improvements
yt-dlp 2021.04.03
Changelog:
- Merge youtube-dl: Upto commit/654b4f4
- Ability to set a specific field in the file's metadata using
--parse-metadata
- Ability to select n'th best format like
-f bv*.2
- [DiscoveryPlus] Add discoveryplus.in
- [la7] Add podcasts and podcast playlists by nixxo
- [mildom] Update extractor with current proxy by nao20010128nao
- [ard:mediathek] Fix video id extraction
- [generic] Detect Invidious' link element
- [youtube] Show premium state in
availability
by colethedj - [viewsource] Add extractor to handle
view-source:
- [sponskrub] Run before embedding thumbnail
- [documentation] Improve
--parse-metadata
documentation