Releases: yt-dlp/yt-dlp
Releases · yt-dlp/yt-dlp
yt-dlp 2021.11.10
A description of the various files are in the README
Changelog:
- [youtube] Fix throttling by decrypting n-sig
- Merging extractors from haruhi-dl by selfisekai
- [extractor] Add
_search_nextjs_data
- [tvp] Fix extractors
- [tvp] Add TVPStreamIE
- [wppilot] Add extractors
- [polskieradio] Add extractors
- [radiokapital] Add extractors
- [polsatgo] Add extractor by selfisekai, sdomi
- [extractor] Add
- Separate
--check-all-formats
from--check-formats
- Approximate filesize from bitrate
- Don't create console in
windows_enable_vt_mode
- Fix bug in
--load-infojson
of playlists - [minicurses] Add colors to
-F
and standardize color-printing code - [outtmpl] Add type
link
for internet shortcut files - [outtmpl] Add alternate forms for
q
andj
- [outtmpl] Do not traverse
None
- [fragment] Fix progress display in fragmented downloads
- [downloader/ffmpeg] Fix vtt download with ffmpeg
- [ffmpeg] Detect presence of setts and libavformat version
- [ExtractAudio] Rescale --audio-quality correctly by CrypticSignal, pukkandan
- [ExtractAudio] Use
libfdk_aac
if available by CrypticSignal - [FormatSort]
eac3
is better thanac3
- [FormatSort] Fix some fields' defaults
- [generic] Detect more json_ld
- [generic] parse jwplayer with only the json URL
- [extractor] Add keyword automatically to SearchIE descriptions
- [extractor] Fix some errors being converted to
ExtractorError
- [utils] Add
join_nonempty
- [utils] Add
jwt_decode_hs256
by Ashish0804 - [utils] Create
DownloadCancelled
exception - [utils] Parse
vp09
as vp9 - [utils] Sanitize URL when determining protocol
- [test/download] Fallback test to
bv
- [docs] Minor documentation improvements
- [cleanup] Improvements to error and debug messages
- [cleanup] Minor fixes and cleanup
- [3speak] Add extractors by Ashish0804
- [AmazonStore] Add extractor by Ashish0804
- [Gab] Add extractor by u-spec-png
- [mediaset] Add playlist support by nixxo
- [MLSScoccer] Add extractor by Ashish0804
- [N1] Add support for nova.rs by u-spec-png
- [PlanetMarathi] Add extractor by Ashish0804
- [RaiplayRadio] Add extractors by frafra
- [roosterteeth] Add series extractor
- [sky] Add
SkyNewsStoryIE
by ajj8 - [youtube] Fix sorting for some videos
- [youtube] Populate
thumbnail
with the best "known" thumbnail - [youtube] Refactor itag processing
- [youtube] Remove unnecessary no-playlist warning
- [youtube:tab] Add Invidious list for playlists/channels by rhendric
- [Bilibili:comments] Fix infinite loop by u-spec-png
- [ceskatelevize] Fix extractor by flashdagger
- [Coub] Fix media format identification by wlritchi
- [crunchyroll] Add extractor-args
language
andhardsub
- [DiscoveryPlus] Allow language codes in URL
- [imdb] Fix thumbnail by ozburo
- [instagram] Add IOS URL support by u-spec-png
- [instagram] Improve login code by u-spec-png
- [Instagram] Improve metadata extraction by u-spec-png
- [iPrima] Fix extractor by stanoarn
- [itv] Add support for ITV News by ajj8
- [la7] Fix extractor by nixxo
- [linkedin] Don't login multiple times
- [mtv] Fix some videos by Sipherdrakon
- [Newgrounds] Fix description by u-spec-png
- [Nrk] Minor fixes by fractalf
- [Olympics] Fix extractor by u-spec-png
- [piksel] Fix sorting
- [twitter] Do not sort by codec
- [viewlift] Add cookie-based login and series support by Ashish0804, pukkandan
- [vimeo] Detect source extension and misc cleanup by flashdagger
- [vimeo] Fix ondemand videos and direct URLs with hash
- [vk] Fix login and add subtitles by kaz-us
- [VLive] Add upload_date and thumbnail by Ashish0804
- [VRT] Fix login by pgaig
- [Vupload] Fix extractor by u-spec-png
- [wakanim] Add support for MPD manifests by nyuszika7h
- [wakanim] Detect geo-restriction by nyuszika7h
- [ZenYandex] Fix extractor by u-spec-png
yt-dlp 2021.10.22
Changelog:
- [build] Improvements
- Build standalone MacOS packages by smplayer-dev
- Release windows exe built with
py2exe
- Enable lazy-extractors in releases.
- Set env var
YTDLP_NO_LAZY_EXTRACTORS
to forcefully disable this (experimental)
- Set env var
- Clean up error reporting in update
- Refactor
pyinst.py
, misc cleanup and improve docs
- [docs] Migrate issues to use forms by Ashish0804
- [downloader] Fix slow progress hooks
- This was causing HLS/DASH downloads to be extremely slow in some situations
- [downloader/ffmpeg] Improve simultaneous download and merge
- [EmbedMetadata] Allow overwriting all default metadata with
meta_default
key - [ModifyChapters] Add ability for
--remove-chapters
to remove sections by timestamp - [utils] Allow duration strings in
--match-filter
- Add HDR information to formats
- Add negative option
--no-batch-file
by Zirro - Calculate more fields for merged formats
- Do not verify thumbnail URLs unless
--check-formats
is specified - Don't create console for subprocesses on Windows
- Fix
--restrict-filename
when used with default template - Fix
check_formats
output being written to stdout when-qv
- Fix bug in storyboards
- Fix conflict b/w id and ext in format selection
- Fix verbose head not showing custom configs
- Load archive only after printing verbose head
- Make
duration_string
andresolution
available in --match-filter - Re-implement deprecated option
--id
- Reduce default
--socket-timeout
- Write verbose header to logger
- [outtmpl] Fix bug in expanding environment variables
- [cookies] Local State should be opened as utf-8
- [extractor,utils] Detect more codecs/mimetypes
- [extractor] Detect
EXT-X-KEY
Apple FairPlay - [utils] Use
importlib
to load plugins by sulyi - [http] Retry on socket timeout and show the last encountered error
- [fragment] Print error message when skipping fragment
- [aria2c] Fix
--skip-unavailable-fragment
- [SponsorBlock] Obey
extractor-retries
andsleep-requests
- [Merger] Do not add
aac_adtstoasc
to non-hls audio - [ModifyChapters] Do not mutate original chapters by nihil-admirari
- [devscripts/run_tests] Use markers to filter tests by sulyi
- [7plus] Add cookie based authentication by nyuszika7h
- [AdobePass] Fix RCN MSO by jfogelman
- [CBC] Fix Gem livestream by makeworld-the-better-one
- [CBC] Support CBC Gem member content by makeworld-the-better-one
- [crunchyroll] Add season to flat-playlist Closes #1319
- [crunchyroll] Add support for
beta.crunchyroll
URLs and fix series URLs with language code - [EUScreen] Add Extractor by Ashish0804
- [Gronkh] Add extractor by Ashish0804
- [hidive] Fix typo
- [Hotstar] Mention Dynamic Range in
format_id
by Ashish0804 - [Hotstar] Raise appropriate error for DRM
- [instagram] Add login by u-spec-png
- [instagram] Show appropriate error when login is needed
- [microsoftstream] Add extractor by damianoamatruda, nixklai
- [on24] Add extractor by damianoamatruda
- [patreon] Fix vimeo player regex by zenerdi0de
- [SkyNewsAU] Add extractor by Ashish0804
- [tagesschau] Fix extractor by u-spec-png
- [tbs] Add tbs live streams by llacb47
- [tiktok] Fix typo and update tests
- [trovo] Support channel clips and VODs by Ashish0804
- [Viafree] Add support for Finland by 18928172992817182
- [vimeo] Fix embedded
player.vimeo
- [vlive:channel] Fix extraction by kikuyan, pukkandan
- [youtube] Add auto-translated subtitles
- [youtube] Expose different formats with same itag
- [youtube:comments] Fix for new layout by coletdjnz
- [cleanup] Cleanup bilibili code by pukkandan, u-spec-png
- [cleanup] Remove broken youtube login code
- [cleanup] Standardize timestamp formatting code
- [cleanup] Generalize
getcomments
implementation for extractors - [cleanup] Simplify search extractors code
- [cleanup] misc
See this for a description of the release files
yt-dlp 2021.10.10
There was a couple of serious bugs in last release (#1215, #1211)
So here's a hotfix
Changelog:
- [downloader/ffmpeg] Fix bug in initializing
FFmpegPostProcessor
- [minicurses] Fix when printing to file
- [downloader] Fix throttledratelimit
- [francetv] Fix extractor by fstirlitz, sarnoud
- [NovaPlay] Add extractor by Bojidarist
- [ffmpeg] Revert "Set max probesize" - No longer needed
- [docs] Remove incorrect dependency on VC++10
- [build] Allow to release without changelog
yt-dlp 2021.10.09
Changelog:
- Improved progress reporting
- Separate
--console-title
and--no-progress
- Add option
--progress
to show progress-bar even in quiet mode - Fix and refactor
minicurses
and use it for all progress reporting - Standardize use of terminal sequences and enable color support for windows 10
- Add option
--progress-template
to customize progress-bar and console-title - Add postprocessor hooks and progress reporting
- Separate
- [postprocessor] Add plugin support with option
--use-postprocessor
- [extractor] Extract storyboards from SMIL manifests by fstirlitz
- [outtmpl] Alternate form of format type
l
for\n
delimited list - [outtmpl] Format type
U
for unicode normalization - [outtmpl] Allow empty output template to skip a type of file
- Merge webm formats into mkv if thumbnails are to be embedded
- [adobepass] Add RCN as MSO by jfogelman
- [ciscowebex] Add extractor by damianoamatruda
- [Gettr] Add extractor by i6t
- [GoPro] Add extractor by i6t
- [N1] Add extractor by u-spec-png
- [Theta] Add video extractor by alerikaisattera
- [Veo] Add extractor by i6t
- [Vupload] Add extractor by u-spec-png
- [bbc] Extract better quality videos by ajj8
- [Bilibili] Add subtitle converter by u-spec-png
- [CBC] Cleanup tests by makeworld-the-better-one
- [Douyin] Rewrite extractor by MinePlayersPE
- [Funimation] Fix for /v/ urls by pukkandan, Jules-A
- [Funimation] Sort formats according to the relevant extractor-args
- [Hidive] Fix duplicate and incorrect formats
- [HotStarSeries] Fix cookies by Ashish0804
- [LinkedInLearning] Add subtitles by Ashish0804
- [Mediaite] Relax valid url by coletdjnz
- [Newgrounds] Add age_limit and fix duration by u-spec-png
- [Newgrounds] Fix view count on songs by u-spec-png
- [parliamentlive.tv] Fix extractor by u-spec-png
- [PolskieRadio] Fix extractors by jakubadamw, u-spec-png
- [reddit] Add embedded url by u-spec-png
- [reddit] Fix 429 by generating a random
reddit_session
by AjaxGb - [Rumble] Add RumbleChannelIE by Ashish0804
- [soundcloud:playlist] Detect last page correctly
- [SovietsCloset] Add duration from m3u8 by ChillingPepper
- [Streamable] Add codecs by u-spec-png
- [vidme] Remove extractor by alerikaisattera
- [youtube:tab] Fallback to API when webpage fails to download by coletdjnz
- [youtube] Fix non-fatal errors in fetching player
- Fix
--flat-playlist
when neither IE nor id is known - Fix
-f mp4
behaving differently from youtube-dl - Workaround for bug in
ssl.SSLContext.load_default_certs
- [aes] Improve performance slightly by sulyi
- [cookies] Fix keyring fallback by mbway
- [embedsubtitle] Fix error when duration is unknown
- [ffmpeg] Fix error when subtitle file is missing
- [ffmpeg] Set max probesize to workaround AAC HLS stream issues by shirt
- [FixupM3u8] Remove redundant run if merged is needed
- [hls] Fix decryption issues by shirt, pukkandan
- [http] Respect user-provided chunk size over extractor's
- [utils] Let traverse_obj accept functions as keys
- [docs] Add note about our custom ffmpeg builds
- [docs] Write embedding and contributing documentation by pukkandan, timethrow
- [update] Check for new version even if not updateable
- [build] Add more files to the tarball
- [build] Allow building with py2exe (and misc fixes)
- [build] Use pycryptodomex by shirt, pukkandan
- [cleanup] Some minor refactoring, improve docs and misc cleanup
yt-dlp 2021.09.25
Changelog:
- Add new option
--netrc-location
- [outtmpl] Allow alternate fields using
,
- [outtmpl] Add format type
B
to treat the value as bytes (eg: to limit the filename to a certain number of bytes) - Separate the options
--ignore-errors
and--no-abort-on-error
- Basic framework for simultaneous download of multiple formats by nao20010128nao
- [17live] Add 17.live extractor by nao20010128nao
- [bilibili] Add BiliIntlIE and BiliIntlSeriesIE by Ashish0804
- [CAM4] Add extractor by alerikaisattera
- [Chingari] Add extractors by Ashish0804
- [CGTN] Add extractor by chao813
- [damtomo] Add extractor by nao20010128nao
- [gotostage] Add extractor by poschi3
- [Koo] Add extractor by Ashish0804
- [Mediaite] Add Extractor by Ashish0804
- [Mediaklikk] Add Extractor by tmarki, mrx23dot, coletdjnz
- [MuseScore] Add Extractor by Ashish0804
- [Newgrounds] Add NewgroundsUserIE and improve extractor by u-spec-png
- [nzherald] Add NZHeraldIE by coletdjnz
- [Olympics] Add replay extractor by Ashish0804
- [Peertube] Add channel and playlist extractors by u-spec-png
- [radlive] Add extractor by nyuszika7h
- [SovietsCloset] Add extractor by ChillingPepper
- [Streamanity] Add Extractor by alerikaisattera
- [Theta] Add extractor by alerikaisattera
- [Yandex] Add ZenYandexIE and ZenYandexChannelIE by Ashish0804
- [9Now] handle episodes of series by dalanmiller
- [AnimalPlanet] Fix extractor by Sipherdrakon
- [Arte] Improve description extraction by renalid
- [atv.at] Use jwt for API by NeroBurner
- [brightcove] Extract subtitles from manifests
- [CBC] Fix CBC Gem extractors by makeworld-the-better-one
- [cbs] Report appropriate error for DRM
- [comedycentral] Support
collection-playlist
by nixxo - [DIYNetwork] Support new format by Sipherdrakon
- [downloader/niconico] Pass custom headers by nao20010128nao
- [dw] Fix extractor
- [Fancode] Fix live streams by zenerdi0de
- [funimation] Fix for locations outside US by Jules-A, pukkandan
- [globo] Fix GloboIE by Ashish0804
- [HiDive] Fix extractor by Ashish0804
- [Hotstar] Add referer for subs by Ashish0804
- [itv] Fix extractor, add subtitles and thumbnails by coletdjnz, sleaux-meaux, Vangelis66
- [lbry] Show error message from API response
- [Mxplayer] Use mobile API by Ashish0804
- [NDR] Rewrite NDRIE by Ashish0804
- [Nuvid] Fix extractor by u-spec-png
- [Oreilly] Handle new web url by MKSherbini
- [pbs] Fix subtitle extraction by coletdjnz, gesa, raphaeldore
- [peertube] Update instances by u-spec-png
- [plutotv] Fix extractor for URLs with
/en
- [reddit] Workaround for 429 by redirecting to old.reddit.com
- [redtube] Fix exts
- [soundcloud] Make playlist extraction lazy
- [soundcloud] Retry playlist pages on
502
error and update_CLIENT_ID
- [southpark] Fix SouthParkDE by coletdjnz
- [SovietsCloset] Fix playlists for games with only named categories by ConquerorDopy
- [SpankBang] Fix uploader by f4pp3rk1ng, coletdjnz
- [tiktok] Use API to fetch higher quality video by MinePlayersPE, llacb47
- [TikTokUser] Fix extractor using mobile API by MinePlayersPE, llacb47
- [videa] Fix some extraction errors by nyuszika7h
- [VrtNU] Handle login errors by llacb47
- [vrv] Don't raise error when thumbnails are missing
- [youtube] Cleanup authentication code by coletdjnz
- [youtube] Fix
--mark-watched
with--cookies-from-browser
- [youtube] Improvements to JS player extraction and add extractor-args to skip it by coletdjnz
- [youtube] Retry on 'Unknown Error' by coletdjnz
- [youtube] Return full URL instead of just ID
- [youtube] Warn when trying to download clips
- [zdf] Improve format sorting
- [zype] Extract subtitles from the m3u8 manifest by fstirlitz
- Allow
--force-write-archive
to work with--flat-playlist
- Download subtitles in order of
--sub-langs
- Allow
0
in--playlist-items
- Handle more playlist errors with
-i
- Fix
--no-get-comments
- Fix
extra_info
being reused across runs - Fix compat options
no-direct-merge
andplaylist-index
- Dump files should obey
--trim-filename
by sulyi - [aes] Add
aes_gcm_decrypt_and_verify
by sulyi, pukkandan - [aria2c] Fix IV for some AES-128 streams by shirt
- [compat] Don't ignore
HOME
(if set) on windows - [cookies] Make browser names case insensitive
- [cookies] Print warning for cookie decoding error only once
- [extractor] Fix root-relative URLs in MPD by DigitalDJ
- [ffmpeg] Add
aac_adtstoasc
when merging if needed - [fragment,aria2c] Generalize and refactor some code
- [fragment] Avoid repeated request for AES key
- [fragment] Fix range header when using
-N
and media sequence by shirt - [hls,aes] Fallback to native implementation for AES-CBC and detect
Cryptodome
in addition toCrypto
- [hls] Byterange + AES128 is supported by native downloader
- [ModifyChapters] Improve sponsor chapter merge algorithm by nihil-admirari
- [ModifyChapters] Minor fixes
- [WebVTT] Adjust parser to accommodate PBS subtitles
- [utils] Improve
extract_timezone
by dirkf - [options] Fix
--no-config
and refactor reading of config files - [options] Strip spaces and ignore empty entries in list-like switches
- [test/cookies] Improve logging
- [build] Automate more of the release process by animelover1984, pukkandan
- [build] Fix sha256 by nihil-admirari
- [build] Bring back brew taps by nao20010128nao
- [build] Provide
--onedir
zip for windows by pukkandan - [cleanup,docs] Add deprecation warning in docs for some counter intuitive behaviour
- [cleanup] Fix line endings for
nebula.py
by glenn-slayden - [cleanup] Improve
make clean-test
by sulyi - [cleanup] Misc
yt-dlp 2021.09.02
Changelog:
- Native SponsorBlock implementation by nihil-admirari, pukkandan
--sponsorblock-remove CATS
removes specified chapters from file--sponsorblock-mark CATS
marks the specified sponsor sections as chapters--sponsorblock-chapter-title TMPL
to specify sponsor chapter template--sponsorblock-api URL
to use a different API- No re-encoding is done unless
--force-keyframes-at-cuts
is used - The fetched sponsor sections are written to the infojson
- Deprecates:
--sponskrub
,--no-sponskrub
,--sponskrub-cut
,--no-sponskrub-cut
,--sponskrub-force
,--no-sponskrub-force
,--sponskrub-location
,--sponskrub-args
- Split
--embed-chapters
from--embed-metadata
(it still implies the former by default) - Add option
--remove-chapters
to remove arbitrary chapters by nihil-admirari, pukkandan - Add option
--force-keyframes-at-cuts
for more accurate cuts when removing and splitting chapters by nihil-admirari - Let
--match-filter
reject entries early- Makes redundant:
--match-title
,--reject-title
,--min-views
,--max-views
- Makes redundant:
- [lazy_extractor] Improvements (It now passes all tests)
- Bugfix for when plugin directory doesn't exist by kidonng
- Create instance only after pre-checking archive
- Import actual class if an attribute is accessed
- Fix
suitable
and add flake8 test
- [downloader/ffmpeg] Experimental support for DASH manifests (including live)
- Your ffmpeg must have this patch applied for YouTube DASH to work
- [downloader/ffmpeg] Allow passing custom arguments before
-i
New extractors
- [BannedVideo] Add extractor by smege1001, blackjack4494, pukkandan
- [bilibili] Add category extractor by animelover1984
- [Epicon] Add extractors by Ashish0804
- [filmmodu] Add extractor by mzbaulhaque
- [GabTV] Add extractor by Ashish0804
- [Hungama] Fix
HungamaSongIE
and addHungamaAlbumPlaylistIE
by Ashish0804 - [ManotoTV] Add new extractors by tandy1000
- [Niconico] Add Search extractors by animelover1984, pukkandan
- [Patreon] Add
PatreonUserIE
by zenerdi0de - [peloton] Add extractor by IONECarter, capntrips, pukkandan
- [ProjectVeritas] Add extractor by Ashish0804
- [radiko] Add extractors by nao20010128nao
- [StarTV] Add extractor for
startv.com.tr
by mrfade, coletdjnz - [tiktok] Add
TikTokUserIE
by Ashish0804, pukkandan - [Tokentube] Add extractor by u-spec-png
- [TV2Hu] Fix
TV2HuIE
and addTV2HuSeriesIE
by Ashish0804 - [voicy] Add extractor by nao20010128nao
Fixed extractors
- [adobepass] Fix Verizon SAML login by nyuszika7h, ParadoxGBB
- [afreecatv] Fix adult VODs by wlritchi
- [afreecatv] Tolerate failure to parse date string by wlritchi
- [aljazeera] Fix extractor by MinePlayersPE
- [ATV.at] Fix extractor for ATV.at by NeroBurner, coletdjnz
- [bitchute] Fix test by mahanstreamer
- [camtube] Remove obsolete extractor by alerikaisattera
- [CDA] Add more formats by u-spec-png
- [eroprofile] Fix page skipping in albums by jhwgh1968
- [facebook] Fix format sorting
- [facebook] Fix metadata extraction by kikuyan
- [facebook] Update onion URL by Derkades
- [HearThisAtIE] Fix extractor by Ashish0804
- [instagram] Add referrer to prevent throttling by u-spec-png, kikuyan
- [iwara.tv] Extract more metadata by BunnyHelp
- [iwara] Add thumbnail by i6t
- [kakao] Fix extractor
- [mediaset] Fix extraction for some videos by nyuszika7h
- [Motherless] Fix extractor by coletdjnz
- [Nova] fix extractor by std-move
- [ParamountPlus] Fix geo verification by shirt
- [peertube] handle new video URL format by Chocobozzz
- [pornhub] Separate and fix playlist extractor by mzbaulhaque
- [reddit] Fix for quarantined subreddits by ouwou
- [ShemarooMe] Fix extractor by Ashish0804
- [soundcloud] Refetch
client_id
on 403 - [tiktok] Fix metadata extraction
- [TV2] Fix extractor by Ashish0804
- [tv5mondeplus] Fix extractor by korli
- [VH1,TVLand] Fix extractors by Sipherdrakon
- [Viafree] Fix extractor and extract subtitles by coletdjnz
- [XHamster] Extract
uploader_id
by octotherp - [youtube] Add
shorts
to_VALID_URL
- [youtube] Add av01 itags to known formats list by blackjack4494
- [youtube] Extract error messages from HTTPError response by coletdjnz
- [youtube] Fix subtitle names
- [youtube] Prefer audio stream that YouTube considers default
- [youtube] Remove annotations and deprecate
--write-annotations
by coletdjnz - [Zee5] Fix extractor and add subtitles by Ashish0804
Bug fixes
- [aria2c] Obey
--rate-limit
- [EmbedSubtitle] Continue even if some files are missing
- [extractor] Better error message for DRM
- [extractor] Common function
_match_valid_url
- [extractor] Show video id in error messages if possible
- [FormatSort] Remove priority of
lang
- [options] Add
_set_from_options_callback
- [SubtitleConvertor] Fix bug during subtitle conversion
- [utils] Add
parse_qs
- [webvtt] Fix timestamp overflow adjustment by fstirlitz
- Bugfix for
--replace-in-metadata
- Don't try to merge with final extension
- Fix
--force-overwrites
when using-k
- Fix
--no-prefer-free-formats
by CeruleanSky - Fix
-F
for extractors that directly return url - Fix
-J
when there are failed videos - Fix
extra_info
being reused across runs - Fix
playlist_index
not obeyingplaylist_start
and add tests - Fix resuming of single formats when using
--no-part
- Revert erroneous use of the
Content-Length
header by fstirlitz - Use
os.replace
where applicable by; paulwrubel - [build] Add homebrew taps
yt-dlp/taps/yt-dlp
by nao20010128nao - [build] Fix bug in making
yt-dlp.tar.gz
- [docs] Fix some typos by pukkandan, zootedb0t
- [cleanup] Replace improper use of tab in trovo by glenn-slayden
For sponskrub users:
- sponskrub support has been deprecated in favor of a native implementation
- If you were using sponskrub to mark chapters in video, use
--sponsorblock-mark all
instead - If you were cutting out portions, use
--sponsorblock-remove all
- There are a few more new options available now. See SponsorBlock Options for details
yt-dlp 2021.08.10
Changelog:
- Add option
--replace-in-metadata
- Add option
--no-simulate
to not simulate even when--print
or--list...
are used - Deprecates--print-json
- Allow entire infodict to be printed using
%()s
- makes--dump-json
redundant - Allow multiple
--exec
and--exec-before-download
- Add regex to
--match-filter
- Add all format filtering operators also to
--match-filter
by max-te - Add compat-option
no-keep-subs
- [adobepass] Add MSO Cablevision by Jessecar96
- [BandCamp] Add BandcampMusicIE by Ashish0804
- [blackboardcollaborate] Add new extractor by mzbaulhaque
- [eroprofile] Add album downloader by jhwgh1968
- [mirrativ] Add extractors by nao20010128nao
- [openrec] Add extractors by nao20010128nao
- [nbcolympics:stream] Fix extractor by nchilada, pukkandan
- [nbcolympics] Update extractor for 2020 olympics by wesnm
- [paramountplus] Separate extractor and fix some titles by shirt, pukkandan
- [RCTIPlus] Support events and TV by MinePlayersPE
- [Newgrounds] Improve extractor and fix playlist by u-spec-png
- [aenetworks] Update
_THEPLATFORM_KEY
and_THEPLATFORM_SECRET
by wesnm - [crunchyroll] Fix thumbnail by funniray
- [HotStar] Use API for metadata and extract subtitles by Ashish0804
- [instagram] Fix comments extraction by u-spec-png
- [peertube] Fix videos without description by u-spec-png
- [twitch:clips] Extract
display_id
by dirkf - [viki] Print error message from API request
- [Vine] Remove invalid formats by u-spec-png
- [VrtNU] Fix XSRF token by pgaig
- [vrv] Fix thumbnail extraction by funniray
- [youtube] Add extractor-arg
include-live-dash
to show live dash formats - [youtube] Improve signature function detection by PSlava
- [youtube] Raise appropriate error when API pages can't be downloaded
- Ensure
_write_ytdl_file
closes file handle on error - Fix
--compat-options filename
by stdedos - Fix issues with infodict sanitization
- Fix resuming when using
--no-part
- Fix wrong extension for intermediate files
- Handle
BrokenPipeError
by kikuyan - Show libraries present in verbose head
- [extractor] Detect
sttp
as subtitles in MPD by fstirlitz - [extractor] Reset non-repeating warnings per video
- [ffmpeg] Fix streaming
mp4
tostdout
- [ffpmeg] Allow
--ffmpeg-location
to be a file with different name - [utils] Fix
InAdvancePagedList.__getitem__
- [utils] Fix
traverse_obj
depth whenis_user_input
- [webvtt] Merge daisy-chained duplicate cues by fstirlitz
- [build] Use custom build of
pyinstaller
by shirt - [tests:download] Add batch testing for extractors (
test_YourExtractor_all
) - [docs] Document which fields
--add-metadata
adds to the file - [docs] Fix some mistakes and improve doc
- [cleanup] Misc code cleanup
yt-dlp 2021.08.02
Changelog:
- Add logo, banner and donate links
- Expand and escape environment variables correctly in output template
- Add format types
j
(json),l
(comma delimited list),q
(quoted for terminal) in output template - [downloader] Allow streaming some unmerged formats to stdout using ffmpeg
- [youtube] Age-gate bypass
- Add
agegate
clients by pukkandan, MinePlayersPE - Add
thirdParty
to agegate clients to bypass more videos - Simplify client definitions, expose
embedded
clients - Improve age-gate detection by coletdjnz
- Fix default global API key by coletdjnz
- Add
creator
clients for age-gate bypass using unverified accounts by zerodytrash, coletdjnz, pukkandan
- Add
- [adobepass] Add MSO Sling TV by wesnm
- [CBS] Add ParamountPlusSeriesIE by Ashish0804
- [dplay] Add
ScienceChannelIE
by Sipherdrakon - [UtreonIE] Add extractor by Ashish0804
- [youtube] Add
mweb
client by coletdjnz - [youtube] Add
player_client=all
- [youtube] Force
hl=en
for comments by coletdjnz - [youtube] Fix format sorting when using alternate clients
- [youtube] Misc cleanup by pukkandan, coletdjnz
- [youtube] Extract SAPISID only once
- [CBS] Add fallback by llacb47, pukkandan
- [Hotstar] Support cookies by Ashish0804
- [HotStarSeriesIE] Fix regex by Ashish0804
- [bilibili] Improve
_VALID_URL
- [mediaset] Fix extraction by nixxo
- [Mxplayer] Add h265 formats by Ashish0804
- [RCTIPlus] Remove PhantomJS dependency by MinePlayersPE
- [tenplay] Add MA15+ age limit by pento
- [vidio] Fix login error detection by MinePlayersPE
- [vimeo] Better extraction of original file by Ashish0804
- [generic] Support KVS player (replaces ThisVidIE) by rigstot
- Add compat-option
no-clean-infojson
- Remove
asr
appearing twice in-F
- Set
home:
as the default key for-P
- [utils] Fix slicing of reversed
LazyList
- [FormatSort] Fix bug for audio with unknown codec
- [test:download] Support testing with
ignore_no_formats_error
- [cleanup] Refactor some code
yt-dlp 2021.07.24
Quick release due to a couple of nasty bugs in the last version
Changelog:
- [youtube:tab] Extract video duration early
- [downloader] Pass
info_dict
toprogress_hook
s - [youtube] Fix age-gated videos for API clients when cookies are supplied by colethedj
- [youtube] Disable
get_video_info
age-gate workaround - This endpoint seems to be completely dead - [youtube] Try all clients even if age-gated
- [youtube] Fix subtitles only being extracted from the first client
- [youtube] Simplify
_get_text
- [cookies] bugfix for microsoft edge on macOS
- [cookies] Handle
sqlite
ImportError
gracefully by mbway - [cookies] Handle errors when importing
keyring
Youtube age-gate bypass is broken for non-embeddable videos unless logged-in cookies are given. You can provide cookies using either the --cookies
or --cookies-from-browser
options. There is currently no known way to circumvent the age-gate without authentication details. If you know any way to (or know any app that can) bypass the age-gate (without auth), let us know.
yt-dlp 2021.07.21
Changelog:
- Add option
--cookies-from-browser
to load cookies from a browser by mbway- Usage:
--cookies-from-browser BROWSER[:PROFILE_NAME_OR_PATH]
- Also added
--no-cookies-from-browser
- To decrypt chromium cookies,
keyring
is needed for UNIX andpycryptodome
for Windows
- Usage:
- Add option
--exec-before-download
- Add field
live_status
- [FFmpegMetadata] Add language of each stream and some refactoring
- [douyin] Add extractor by pukkandan, pyx
- [pornflip] Add extractor by mzbaulhaque
- [youtube] Extract data from multiple clients by pukkandan, colethedj
player_client
now accepts multiple clients- Default
player_client
=android,web
- This uses twice as many requests, but avoids throttling for most videos while also not losing any formats
- Music clients can be specifically requested and is enabled by default if
music.youtube.com
- Added
player_client=ios
(Known issue: formats from ios are not sorted correctly) - Add age-gate bypass for android and ios clients
- [youtube] Extract more thumbnails
- The thumbnail URLs are hard-coded and their actual existence is tested lazily
- Added option
--no-check-formats
to not test them
- [youtube] Misc fixes
- Improve extraction of livestream metadata by pukkandan, krichbanana
- Hide live dash formats since they can't be downloaded anyway
- Fix authentication when using multiple accounts by colethedj
- Fix controversial videos when requested via API by colethedj
- Fix session index extraction and headers for non-web player clients by colethedj
- Make
--extractor-retries
work for more errors - Fix sorting of 3gp format
- Sanity check
chapters
(and refactor related code) - Make
parse_time_text
and_extract_chapters
non-fatal - Misc cleanup and bug fixes by colethedj
- [youtube:tab] Fix channels tab
- [youtube:tab] Extract playlist availability by colethedj
- [youtube:comments] Move comment extraction to new API by colethedj
- [youtube:comments] Fix
is_favorited
, improvelike_count
parsing by colethedj - [BravoTV] Improve metadata extraction by kevinoconnor7
- [crunchyroll:playlist] Force http
- [yahoo:gyao:player] Relax
_VALID_URL
by nao20010128nao - [nebula] Authentication via tokens from cookie jar by hheimbuerger, TpmKranz
- [RTP] Fix extraction and add subtitles by fstirlitz
- [viki] Rewrite extractors and add extractor-arg
video_types
tovikichannel
by zackmark29, pukkandan - [vlive] Extract thumbnail directly in addition to the one from Naver
- [generic] Extract previously missed subtitles by fstirlitz
- [generic] Extract everything in the SMIL manifest and detect discarded subtitles by fstirlitz
- [embedthumbnail] Fix
_get_thumbnail_resolution
- [metadatafromfield] Do not detect numbers as field names
- Fix selectors
all
,mergeall
and add tests - Errors in playlist extraction should obey
--ignore-errors
- Fix bug where
original_url
was not propagated when_type
=url
- Revert "Merge webm formats into mkv if thumbnails are to be embedded (#173)"
- This was wrongly checking for
write_thumbnail
- This was wrongly checking for
- Improve
extractor_args
parsing - Rename
NOTE
in-F
toMORE INFO
since it's often confused to be the same asformat_note
- Add
only_once
param forwrite_debug
andreport_warning
- [extractor] Allow extracting multiple groups in
_search_regex
by fstirlitz - [utils] Improve
traverse_obj
- [utils] Add
variadic
- [utils] Improve
js_to_json
comment regex by fstirlitz - [webtt] Fix timestamps
- [compat] Remove unnecessary code
- [doc] fix default of multistreams