Help us keep the list up to date and submit new video software here.

Try StreamFab All-in-One and download streaming video from Netflix, Amazon Prime, etc! Download free trial !

Software Home »

Complete Version history / Release notes / Changelog / What's New for yt-dlp

yt-dlp 2022.09.01

Add option --use-extractors
Merge youtube-dl: Upto commit/ed5c44e
Add yt-dlp version to infojson
Fix --break-per-url --max-downloads
Fix bug in --alias
[cookies] Support firefox container in --cookies-from-browser by bashonly, coletdjnz, pukkandan
[downloader/external] Smarter detection of executable
[extractor/generic] Don't return JW player without formats
[FormatSort] Fix aext for --prefer-free-formats
[jsinterp] Various improvements by pukkandan, dirkf, elyse0
[cache] Mechanism to invalidate old cache
[utils] Add deprecation_warning
[utils] Add orderedSet_from_options
[utils] Popen: Restore LD_LIBRARY_PATH when using PyInstaller by Lesmiscore
[build] make tar should not follow DESTDIR by satan1st
[build] Update pyinstaller by shirt-dev
[test] Fix test_youtube_signature
[cleanup] Misc fixes and cleanup by DavidH-2022, MrRawes, pukkandan
[extractor/epoch] Add extractor by tejasa97
[extractor/eurosport] Add extractor by HobbyistDev
[extractor/IslamChannel] Add extractors by Lesmiscore
[extractor/newspicks] Add extractor by Lesmiscore
[extractor/triller] Add extractor by bashonly
[extractor/VQQ] Add extractors by elyse0
[extractor/youtube] Improvements to nsig extraction
[extractor/youtube] Fix bug in format sorting
[extractor/youtube] Update iOS Innertube clients by SamantazFox
[extractor/youtube] Use device-specific user agent by coletdjnz
[extractor/youtube] Add --compat-option no-youtube-prefer-utc-upload-date by coletdjnz
[extractor/arte] Bug fix by cgrigis
[extractor/bilibili] Extract flac with premium account by jackyyf
[extractor/BiliBiliSearch] Don't sort by date
[extractor/BiliBiliSearch] Fix infinite loop
[extractor/bitchute] Mark errors as expected
[extractor/crunchyroll:beta] Use anonymous access by tejing1
[extractor/huya] Fix stream extraction by ohaiibuzzle
[extractor/medaltv] Fix extraction by xenova
[extractor/mediaset] Fix embed extraction
[extractor/mixcloud] All formats are audio-only
[extractor/rtbf] Fix jwt extraction by elyse0
[extractor/screencastomatic] Support --video-password by shreyasminocha
[extractor/stripchat] Don't modify input URL by dfaker
[extractor/uktv] Improve _VALID_URL by dirkf
[extractor/vimeo:user] Fix _VALID_URL

yt-dlp 2022.08.19

Fix bug in --download-archive
[jsinterp] Fix for new youtube players and related improvements by dirkf, pukkandan
You may need to --rm-cache after update for this to work
[phantomjs] Add function to execute JS without a DOM by MinePlayersPE, pukkandan
[build] Exclude devscripts from installs by Lesmiscore
[cleanup] Misc fixes and cleanup
[extractor/youtube] Add fallback to phantomjs for nsig
[extractor/youtube] Fix error reporting of "Incomplete data"
[extractor/youtube] Improve format sorting for IOS formats
[extractor/youtube] Improve signature caching
[extractor/instagram] Fix extraction by bashonly, pritam20ps05
[extractor/rai] Minor fix by nixxo
[extractor/rtbf] Fix stream extractor by elyse0
[extractor/SovietsCloset] Fix extractor by ChillingPepper
[extractor/zattoo] Fix Zattoo resellers by goggle

yt-dlp 2022.08.14

Merge youtube-dl: Upto commit/d231b56
[jsinterp] Handle new youtube signature functions
[jsinterp] Truncate error messages
[extractor] Fix format sorting of channels
[ffmpeg] Disable avconv unless --prefer-avconv
[ffmpeg] Smarter detection of ffprobe filename
[patreon] Ignore erroneous media attachments by coletdjnz
[postprocessor/embedthumbnail] Detect
[ThumbnailsConvertor] Fix conversion after fixup_webp
[utils] Fix get_compatible_ext
[build] Fix changelog
[update] Set executable bit-mask by pukkandan, Lesmiscore
[devscripts] Fix import
[docs] Consistent use of e.g. by Lesmiscore
[cleanup] Misc fixes and cleanup
[extractor/moview] Add extractor by HobbyistDev
[extractor/parler] Add extractor by palewire
[extractor/truth] Add extractor by palewire
[extractor/aenetworks] Add formats parameter by jacobtruman
[extractor/crunchyroll] Improve _VALID_URLs
[extractor/doodstream] Add wf domain by aldoridhoni
[extractor/facebook] Add reel support by bashonly
[extractor/MLB] New extractor by ischmidt20
[extractor/rai] Misc fixes by nixxo
[extractor/toggo] Improve _VALID_URL by masta79
[extractor/tubitv] Extract additional formats by shirt-dev
[extractor/zattoo] Potential fix for resellers

yt-dlp 2022.08.08

Remove Python 3.6 support
Determine merge container better by pukkandan, selfisekai
Framework for embed detection by coletdjnz, pukkandan
Merge youtube-dl: Upto commit/adb5294
--compat-option no-live-chat should disable danmaku
Fix misleading DRM message
Import ctypes only when necessary
Minor bugfixes by pukkandan
Reject entire playlists faster with --match-filter by pukkandan
Remove filtered entries from -J
Standardize retry mechanism by pukkandan
Validate --merge-output-format
[downloader] Add average speed to final progress line
[extractor] Add field audio_channels
[extractor] Support multiple archive ids for one video
[ffmpeg] Set ffmpeg_location in a contextvar
[FFmpegThumbnailsConvertor] Fix conversion from GIF
[MetadataParser] Don't set None when the field didn't match
[outtmpl] Smarter replacing of unsupported characters by pukkandan
[outtmpl] Treat empty values as None in filenames
[utils] sanitize_open: Allow any IO stream as stdout
[build, devscripts] Add devscript to set a build variant
[build] Improve build process by shirt-dev
[build] Update pyinstaller
[devscripts] Create utils and refactor
[docs] Clarify best*
[docs] Fix bug report issue template
[docs] Fix capitalization in references by christoph-heinrich
[cleanup, mhtml] Use imghdr
[cleanup, utils] Consolidate known media extensions
[cleanup] Misc fixes and cleanup
[extractor/angel] Add extractor by AxiosDeminence
[extractor/dplay] Add MotorTrend extractor by Sipherdrakon
[extractor/harpodeon] Add extractor by eren-kemer
[extractor/holodex] Add extractor by pukkandan, sqrtNOT
[extractor/kompas] Add extractor by HobbyistDev
[extractor/rai] Add raisudtirol extractor by nixxo
[extractor/tempo] Add extractor by HobbyistDev
[extractor/youtube] Fixes for third party client detection by coletdjnz
[extractor/youtube] Add live_status=post_live by lazypete365
[extractor/youtube] Extract more format info
[extractor/youtube] Parse translated subtitles only when requested
[extractor/youtube, extractor/twitch] Allow waiting for channels to become live
[extractor/youtube, webvtt] Extract auto-subs from livestream VODs by fstirlitz, pukkandan
[extractor/AbemaTVTitle] Implement paging by Lesmiscore
[extractor/archiveorg] Improve handling of formats by coletdjnz, pukkandan
[extractor/arte] Fix title extraction
[extractor/arte] Move to v2 API by fstirlitz, pukkandan
[extractor/bbc] Fix news articles by ajj8
[extractor/camtasia] Separate into own extractor by coletdjnz
[extractor/cloudflarestream] Fix video_id padding by haobinliang
[extractor/crunchyroll] Fix conversion of thumbnail from GIF by pukkandan
[extractor/crunchyroll] Handle missing metadata correctly by Burve, pukkandan
[extractor/crunchyroll:beta] Extract timestamp and fix tests by tejing1
[extractor/crunchyroll:beta] Use streams API by tejing1
[extractor/doodstream] Support more domains by Galiley
[extractor/ESPN] Extract duration by ischmidt20
[extractor/FIFA] Change API endpoint by Bricio, yashkc2025
[extractor/globo:article] Remove false positives by Bricio
[extractor/Go] Extract timestamp by ischmidt20
[extractor/hidive] Fix cookie login when netrc is also given by winterbird-code
[extractor/html5] Separate into own extractor by coletdjnz, pukkandan
[extractor/ina] Improve extractor by elyse0
[extractor/NaverNow] Change endpoint by ping
[extractor/ninegag] Extract uploader by DjesonPV
[extractor/NovaPlay] Fix extractor by Bojidarist
[extractor/orf:radio] Rewrite extractors
[extractor/patreon] Fix and improve extractors by coletdjnz, pukkandan
[extractor/rai] Fix RaiNews extraction by nixxo
[extractor/redbee] Unify and update extractors by elyse0
[extractor/stripchat] Fix _VALID_URL by freezboltz
[extractor/tubi] Exclude playlists from playlist entries by sqrtNOT
[extractor/tviplayer] Improve _VALID_URL by HobbyistDev
[extractor/twitch] Extract chapters for single chapter VODs by mpeter50
[extractor/vgtv] Support by sqrtNOT
[extractor/vidio] Support embed link by HobbyistDev
[extractor/vk] Fix extractor by Mehavoid
[extractor/WASDTV:record] Fix _VALID_URL
[extractor/xfileshare] Add Referer by Galiley
[extractor/YahooJapanNews] Fix extractor by Lesmiscore
[extractor/yandexmusic] Extract higher quality format
[extractor/zee5] Update Device ID by m4tu4g

yt-dlp 2022.07.18

A description of the various files are in the README
Deprecation Warning
Support for Python version 3.6 has been deprecated. See #3764 for more details. You will no longer receive updates on this version! Please update to Python 3.7 or above

Allow users to specify encoding in each config files by Lesmiscore
Discard infodict from memory if no longer needed
Do not allow extractors to return None
Do not load system certificates when certifi is used
Fix rounding of integers in format table
Improve chapter sanitization
Skip some fixup if remux/recode is needed by Lesmiscore
Support --no-progress for --wait-for-video
Fix bug in 612f2be
[outtmpl] Add alternate form h for HTML escaping
[aes] Add multiple padding modes in CBC by elyse0
[extractor/common] Passthrough errnote=False to parsers
[extractor/generic] Remove HEAD request
[http] Ensure the file handle is always closed
[ModifyChapters] Modify duration in infodict
[options] Fix aliases to --config-location
[utils] Fix get_domain
[build] Consistent order for lazy extractors by lamby
[build] Fix architecture suffix of executables by odo2063
[build] Improve
[update] Do not check _update_spec when up to date
[update] Prepare to remove Python 3.6 support
[compat] Let PyInstaller detect _legacy module
[devscripts/update-formulae] Do not change dependency section
[test] Split download tests so they can be more easily run in CI
[docs] Improve docstring of download_ranges by FirefoxMetzger
[docs] Improve issue templates
[build] Fix bug in 6d916fe
[cleanup, utils] Refactor parse_codecs
[cleanup] Misc fixes and cleanup
[extractor/acfun] Add extractors by lockmatrix
[extractor/Audiodraft] Add extractors by Ashish0804, fstirlitz
[extractor/cellebrite] Add extractor by HobbyistDev
[extractor/detik] Add extractor by HobbyistDev
[extractor/hytale] Add extractor by llamasblade, pukkandan
[extractor/liputan6] Add extractor by HobbyistDev
[extractor/mocha] Add extractor by HobbyistDev
[extractor/] Add extractor by HobbyistDev
[extractor/rtvsl] Add extractor by iw0nderhow, pukkandan
[extractor/StarTrek] Add extractor by scy
[extractor/syvdk] Add extractor by misaelaguayo
[extractor/theholetv] Add extractor by dosy4ev
[extractor/TubeTuGraz] Add extractor by Ferdi265, pukkandan
[extractor/tviplayer] Add extractor by HobbyistDev
[extractor/wetv] Add extractors by elyse0
[extractor/wikimedia] Add extractor by EhtishamSabir, pukkandan
[extractor/youtube] Fix duration check for post-live manifestless mode
[extractor/youtube] More metadata for storyboards by ftk
[extractor/bigo] Fix extractor by Lesmiscore
[extractor/BiliIntl] Fix subtitle extraction by MinePlayersPE
[extractor/crunchyroll] Improve _VALID_URL
[extractor/fifa] Fix extractor by ischmidt20
[extractor/instagram] Fix post/story extractors by pritam20ps05, pukkandan
[extractor/iq] Set language correctly for Korean subtitles
[extractor/MangoTV] Fix subtitle languages
[extractor/Netverse] Improve playlist extractor by HobbyistDev
[extractor/philharmoniedeparis] Fix extractor by sqrtNOT
[extractor/Trovo] Fix extractor by u-spec-png
[extractor/twitch] Support storyboards for VODs by ftk
[extractor/WatchESPN] Improve _VALID_URL by IONECarter, dirkf
[extractor/WSJArticle] Fix video id extraction by sqrtNOT
[extractor/Ximalaya] Fix extractors by lockmatrix
[cleanup, extractor/youtube] Fix tests by sheerluck

yt-dlp 2022.06.29

A description of the various files are in the README
Deprecation Warning
Support for Python version 3.6 has been deprecated. See #3764 for more details. You will receive only one more update on Py3.6! Please update to Python 3.7 or above

Fix --downloader native
Fix section_end of clips
Fix playlist error handling
Sanitize chapters
[extractor] Fix _create_request when headers is None
[extractor] Fix empty BaseURL in MPD
[ffmpeg] Write full output to debug on error
[hls] Warn user when trying to download live HLS
[options] Fix parse_known_args for --
[utils] Fix inconsistent default handling between HTTP and HTTPS requests by coletdjnz
[build] Draft release until complete
[build] Fix release tag commit
[build] Standalone x64 builds for MacOS 10.9 by StefanLobbenmeier
[update] Ability to set a maximum version for specific variants
[compat] Fix compat.WINDOWS_VT_MODE
[compat] Remove deprecated functions from core code
[compat] Remove more functions
[cleanup, extractor] Reduce direct use of _downloader
[cleanup] Consistent style for file heads
[cleanup] Fix some typos by crazymoose77756
[cleanup] Misc fixes and cleanup
[extractor/Scrolller] Add extractor by LunarFang416
[extractor/ViMP] Add playlist extractor by FestplattenSchnitzel
[extractor/fuyin] Add extractor by HobbyistDev
[extractor/livestreamfails] Add extractor by nomevi
[extractor/premiershiprugby] Add extractor by HobbyistDev
[extractor/steam] Add broadcast extractor by HobbyistDev
[extractor/youtube] Mark videos as fully watched by Brett824
[extractor/CWTV] Extract thumbnail by ischmidt20
[extractor/ViMP] Add thumbnail and support more sites by FestplattenSchnitzel
[extractor/dropout] Support cookies and login only as needed by pingiun, pukkandan
[extractor/ertflix] Improve _VALID_URL
[extractor/lbry] Use HEAD request for redirect URL by flashdagger
[extractor/mediaset] Improve _VALID_URL
[extractor/npr] Implement e50c350 differently
[extractor/tennistv] Rewrite extractor by pukkandan, zenerdi0de

yt-dlp 2022.06.22.1

A description of the various files are in the README
Deprecate support for Python 3.6
Add option --download-sections to download video partially
Chapter regex and time ranges are accepted (Eg: --download-sections *1:10-2:20)
Add option --alias
Add option --lazy-playlist to process entries as they are received
Add option --retry-sleep
Add slicing notation to --playlist-items
Adds support for negative indices and step
Add -I as alias for --playlist-index
Makes --playlist-start, --playlist-end, --playlist-reverse, --no-playlist-reverse redundant
--config-location - to provide options interactively
[build] Add Linux standalone builds
[update] Self-restart after update
Merge youtube-dl: Upto commit/8a158a9
Add --no-update
Allow extractors to specify section_start/end for clips
Do not print progress to stderr with -q
Ensure pre-processor errors do not block video download
Fix --simulate --max-downloads
Improve error handling of bad config files
Return an error code if update fails
Fix bug in 3a408f9
[ExtractAudio] Allow conditional conversion
[ModifyChapters] Fix repeated removal of small segments
[ThumbnailsConvertor] Allow conditional conversion
[cookies] Detect profiles for cygwin/BSD by moench-tegeder
[dash] Show fragment count with --live-from-start by flashdagger
[extractor] Add _search_json by coletdjnz, pukkandan
[extractor] Add default parameter to _search_json by coletdjnz, pukkandan
[extractor] Add dev option --load-pages
[extractor] Handle json_ld with multiple @types
[extractor] Import _ALL_CLASSES lazily
[extractor] Recognize src attribute from HTML5 media elements by Lesmiscore
[extractor/generic] Revert e6ae51c
[f4m] Bugfix
[ffmpeg] Check version lazily
[jsinterp] Some optimizations and refactoring by dirkf, pukkandan
[utils] Improve performance using functools.cache
[utils] Send HTTP/1.1 ALPN extension by coletdjnz
[utils] ExtractorError: Fix exc_info
[utils] ISO3166Utils: Add EU and AP
[utils] Popen: Refactor to use contextmanager
[utils] locked_file: Fix for PyPy on Windows
[update] Expose more functionality to API
[update] Use .git folder to distinguish source/unknown
[build] Fix updating homebrew formula
[compat] Add functools.cached_property
[test] Fix FakeYDL signatures by coletdjnz
[docs] Improvements
[cleanup, ExtractAudio] Refactor
[cleanup, downloader] Refactor report_progress
[cleanup, extractor] Refactor _download_... methods
[cleanup, extractor] Rename to
[cleanup, utils] Don't use kwargs for format_field
[cleanup, build] Refactor
[cleanup, docs] Re-indent "Usage and Options" section
[cleanup] Deprecate YoutubeDL.parse_outtmpl
[cleanup] Misc fixes and cleanup by Lesmiscore, MrRawes, christoph-heinrich, flashdagger, gamer191, kwconder, pukkandan
[extractor/DailyWire] Add extractors by HobbyistDev, pukkandan
[extractor/fourzerostudio] Add extractors by Lesmiscore
[extractor/GoogleDrive] Add folder extractor by evansp, pukkandan
[extractor/MirrorCoUK] Add extractor by LunarFang416, pukkandan
[extractor/atscaleconfevent] Add extractor by Ashish0804
[extractor/freetv] Add extractor by elyse0
[extractor/ixigua] Add Extractor by HobbyistDev
[extractor/] Add extractor by HobbyistDev
[extractor/netverse] Add extractors by HobbyistDev, pukkandan
[extractor/playsuisse] Add extractor by pukkandan, sbor23
[extractor/substack] Add extractor by elyse0
[extractor/youtube] Support downloading clips
[extractor/youtube] Add innertube_host and innertube_key extractor args by coletdjnz
[extractor/youtube] Add warning for PostLiveDvr
[extractor/youtube] Bring back _extract_chapters_from_description
[extractor/youtube] Extract comment_count from webpage
[extractor/youtube] Fix :ytnotifications extractor by coletdjnz
[extractor/youtube] Fix initial player response extraction by coletdjnz, pukkandan
[extractor/youtube] Fix live chat for videos with content warning by coletdjnz
[extractor/youtube] Make signature extraction non-fatal
[extractor/youtube:tab] Detect videoRenderer in _post_thread_continuation_entries
[extractor/BiliIntl] Fix metadata extraction
[extractor/BiliIntl] Fix subtitle extraction by HobbyistDev
[extractor/FranceCulture] Fix extractor by aurelg, pukkandan
[extractor/PokemonSoundLibrary] Remove extractor by Lesmiscore
[extractor/StreamCZ] Fix extractor by adamanldo, dirkf
[extractor/WatchESPN] Support free videos and BAM_DTC by ischmidt20
[extractor/animelab] Remove extractor by gamer191
[extractor/bloomberg] Change playback endpoint by m4tu4g
[extractor/ccc] Extract view_count by vkorablin
[extractor/crunchyroll:beta] Fix extractor after API change by Burve, tejing1
[extractor/curiositystream] Get auth_token from cookie by mnn
[extractor/digitalconcerthall] Fix extractor by ZhymabekRoman
[extractor/dropbox] Extract the correct mountComponent
[extractor/dropout] Login is not mandatory
[extractor/duboku] Fix for hostname change by mozbugbox
[extractor/espn] Add WatchESPN extractor by ischmidt20, pukkandan
[extractor/expressen] Fix extractor by aejdl
[extractor/foxnews] Update embed extraction by elyse0
[extractor/ina] Fix extractor by elyse0
[extractor/iwara:user] Make paging better by Lesmiscore
[extractor/jwplatform] Look for data-video-jw-id
[extractor/lbry] Update livestream API by flashdagger
[extractor/mediaset] Improve _VALID_URL
[extractor/naver] Add navernow extractor by ping
[extractor/niconico:series] Fix extractor by sqrtNOT
[extractor/npr] Use stream url from json-ld by r5d
[extractor/pornhub] Extract uploader_id field by Lesmiscore
[extractor/radiofrance] Add more radios by bubbleguuum
[extractor/rumble] Detect JS embed
[extractor/rumble] Extract subtitles by fstirlitz
[extractor/southpark] Add extractor by darkxex
[extractor/spotify:show] Fix extractor
[extractor/tiktok] Detect embeds
[extractor/tiktok] Extract SIGI_STATE by dirkf, pukkandan, sulyi
[extractor/tver] Fix extractor by Lesmiscore
[extractor/vevo] Fix extractor by Lesmiscore
[extractor/yahoo:gyao] Fix extractor
[extractor/zattoo] Fix live streams by miseran
[extractor/zdf] Improve format sorting by elyse0'

yt-dlp 2022.05.18

A description of the various files are in the README
Add support for SSL client certificate authentication by coletdjnz, dirkf
Adds --client-certificate, --client-certificate-key, --client-certificate-password
Add --match-filter - to interactively ask for each video
--max-downloads should obey --break-per-input
Allow use of weaker ciphers with --legacy-server-connect
Don't imply -s for later stages of -O
Fix --date today
Fix --skip-unavailable-fragments
Fix color in -q -F
Fix redirect HTTP method handling by coletdjnz
Improve --clean-infojson
Remove warning for videos with an empty title
Run FFmpegFixupM3u8PP for live-streams if needed
Show name of downloader in verbose log
[cookies] Allow cookiefile to be a text stream
[cookies] Report progress when importing cookies
[downloader/ffmpeg] Specify headers for each URL by elyse0
[fragment] Do not change chunk-size when --test
[fragment] Make single thread download work for --live-from-start by Lesmiscore
[hls] Fix byte_range for EXT-X-MAP fragment by fstirlitz
[http] Fix retrying on read timeout by coletdjnz
[ffmpeg] Fix features detection
[EmbedSubtitle] Enable for more video extensions
[EmbedThumbnail] Disable thumbnail conversion for mkv by evansp
[EmbedThumbnail] Do not obey -k
[EmbedThumbnail] Do not remove id3v1 tags
[FFmpegMetadata] Remove � from metadata
[FFmpegMetadata] Remove filename from attached info-json
[FixupM3u8] Obey --hls-prefer-mpegts
[Sponsorblock] Don't crash when duration is unknown
[XAttrMetadata] Refactor and document dependencies
[extractor] Document netrc machines
[extractor] Update manifest_urls after redirect by elyse0
[extractor] Update dash manifest_url after redirects by elyse0
[extractor] Use classmethod/property where possible
[generic] Refactor _extract_rss
[utils] is_html: Handle double BOM
[utils] locked_file: Ignore illegal seek on truncate by jakeogh
[utils] sanitize_path: Fix when path is empty string
[utils] write_string: Workaround newline issue in conhost
[utils] certifi: Make sure the pem file exists
[utils] Fix WebSocketsWrapper
[utils] locked_file: Do not give executable bits for newly created files by Lesmiscore
[utils] YoutubeDLCookieJar: Detect and reject JSON file by Lesmiscore
[test] Convert warnings into errors and fix some existing warnings by fstirlitz
[dependencies] Create module with all dependency imports
[compat] Split into sub-modules by fstirlitz, pukkandan
[compat] Implement compat.imghdr
[build] Add make uninstall by MrRawes
[build] Avoid use of install -D
[build] Fix Makefile by putnam
[build] Fix --onedir on macOS
[build] Add more test-runners
[cleanup] Deprecate some compat vars by fstirlitz, pukkandan
[cleanup] Remove unused code paths, extractors, scripts and tests by fstirlitz
[cleanup] Upgrade syntax (pyupgrade) and sort imports (isort)
[cleanup, docs, build] Misc fixes
[BilibiliLive] Add extractor by HE7086, pukkandan
[Fifa] Add Extractor by Bricio
[goodgame] Add extractor by nevack
[gronkh] Add playlist extractors by hatienl0i261299
[icareus] Add extractor by tpikonen, pukkandan
[iwara] Add playlist extractors by i6t
[Likee] Add extractor by hatienl0i261299
[masters] Add extractor by m4tu4g
[nebula] Add support for subscriptions by hheimbuerger
[Podchaser] Add extractors by connercsbn
[rokfin:search] Add extractor by P-reducible, pukkandan
[youtube] Add :ytnotifications extractor by krichbanana
[youtube] Add YoutubeStoriesIE (ytstories:<channel UCID>) by coletdjnz
[ZingMp3] Add chart and user extractors by hatienl0i261299
[adn] Update AES key by elyse0
[adobepass] Allow cookies for authenticating MSO
[bandcamp] Exclude merch links by Yipten
[chingari] Fix archiving and tests
[DRTV] Improve _VALID_URL by vertan
[facebook] Improve thumbnail extraction by Wikidepia
[fc2] Stop heatbeating once FFmpeg finishes by Lesmiscore
[Gofile] Fix extraction and support password-protected links by mehq
[hotstar, cleanup] Refactor extractors
[InfoQ] Don't fail on missing audio format by evansp
[Jamendo] Extract more metadata by evansp
[kaltura] Update API calls by flashdagger
[KhanAcademy] Fix extractor by rand-net
[LCI] Fix extractor by MarwenDallel
[lrt] Support livestreams by GiedriusS
[niconico] Set expected_protocol to a public field
[Niconico] Support 2FA by ekangmonyet
[Olympics] Fix format extension
[openrec:movie] Enable fallback for /movie/ URLs
[PearVideo] Add fallback for formats by hatienl0i261299
[radiko] Fix extractor by Lesmiscore
[rai] Add release_year
[reddit] Prevent infinite loop
[rokfin] Implement login by P-reducible, pukkandan
[ruutu] Support embeds by tpikonen, pukkandan
[spotify] Detect iframe embeds by fstirlitz
[telegram] Fix metadata extraction
[tmz, cleanup] Update tests by diegorodriguezv
[toggo] Fix _VALID_URL by ca-za
[trovo] Update to new API by nyuszika7h
[TVer] Improve extraction by Lesmiscore
[twitcasting] Pass headers for each formats by Lesmiscore
[VideocampusSachsen] Improve extractor by FestplattenSchnitzel
[vimeo] Fix extractors
[wat] Fix extraction of multi-language videos and subtitles by elyse0
[wistia] Fix _VALID_URL by dirkf
[youtube, cleanup] Minor refactoring by coletdjnz, pukkandan
[youtube] Added piped instance urls by JordanWeatherby
[youtube] Deprioritize auto-generated thumbnails
[youtube] Deprioritize format 22 (often damaged)
[youtube] Fix episode metadata extraction
[zee5] Fix extractor by Ashish0804
[zingmp3, cleanup] Refactor extractors

yt-dlp 2022.04.08

A description of the various files are in the README
Use certificates from certifi if installed by coletdjnz
Treat multiple --match-filters as OR
File locking improvevemnts:
Do not lock downloading file on Windows
Do not prevent download if locking is unsupported
Do not truncate files before locking by jakeogh, pukkandan
Fix non-blocking non-exclusive lock
De-prioritize automatic-subtitles when no --sub-lang is given
Exit after --dump-user-agent
Fallback to video-only format when selecting by extension
Fix --abort-on-error for subtitles
Fix --no-overwrite for playlist infojson
Fix --print with --ignore-no-formats when url is None by flashdagger
Fix --sleep-interval
Fix --throttled-rate
Fix autonumber
Fix case of http_headers
Fix filepath sanitization in --print-to-file
Handle float in --wait-for-video
Ignore mhtml formats from -f mergeall
Ignore format-specific fields in initial pass of --match-filter
Protect stdout from unexpected progress and console-title
Remove Accept-Encoding header from std_headers by coletdjnz
Remove incorrect warning for --dateafter
Show warning when all media formats have DRM
[downloader] Fix invocation of HttpieFD
[http] Fix #3215
[http] Reject broken range before request by Lesmiscore, Jules-A, pukkandan
[fragment] Read downloaded fragments only when needed by Lesmiscore
[http] Retry on more errors by coletdjnz
[mhtml] Fix fragments with absolute urls by coletdjnz
[extractor] Add _perform_login function
[extractor] Allow control characters inside json
[extractor] Support merging subtitles with data by coletdjnz
[generic] Extract subtitles from video.js by Lesmiscore
[ffmpeg] Cache version data
[FFmpegConcat] Ensure final directory exists
[FfmpegMetadata] Write id3v1 tags
[FFmpegVideoConvertor] Add more formats to --remux-video
[FFmpegVideoConvertor] Ensure all streams are copied
[MetadataParser] Validate outtmpl early
[outtmpl] Fix replacement/default when used with alternate
[outtmpl] Limit changes during sanitization
[phantomjs] Fix bug
[test] Add test_locked_file
[utils] format_decimal_suffix: Fix for very large numbers by s0u1h
[utils] traverse_obj: Allow filtering by value
[utils] Add filter_dict, get_first, try_call
[utils] ExtractorError: Fix for older python versions
[utils] WebSocketsWrapper: Allow omitting __enter__ invocation by Lesmiscore
[docs] Add an .editorconfig file by fstirlitz
[docs] Clarify the exact BSD license of dependencies by MrRawes
[docs] Minor improvements by pukkandan, cffswb, danielyli
[docs] Remove readthedocs
[build] Add requirements.txt to pip distributions
[cleanup, postprocessor] Create _download_json
[cleanup, vimeo] Fix tests
[cleanup] Misc fixes and minor cleanup
[cleanup] Use _html_extract_title
[AfreecaTV] Add AfreecaTVUserIE by hatienl0i261299
[arte] Add format_note to m3u8 formats
[azmedien] Add TVO Online to supported hosts by 1-Byte
[BanBye] Add extractor by mehq
[bilibili] Fix extraction of title with quotes by dzek69
[Craftsy] Add extractor by Bricio
[Cybrary] Add extractor by aaearon
[Huya] Add extractor by hatienl0i261299
[ITProTV] Add extractor by aaearon
[Jable] Add extractors by mehq
[LastFM] Add extractors by mehq
[Moviepilot] Add extractor by panatexxa
[panopto] Add extractors by coletdjnz, kmark
[PokemonSoundLibrary] Add extractor by Lesmiscore
[WasdTV] Add extractor by un-def, hatienl0i261299
[adobepass] Fix Suddenlink MSO by CplPwnies
[afreecatv] Match new vod url by wlritchi
[AZMedien] Support by goggle
[BiliIntl] Support user-generated videos by wlritchi
[BRMediathek] Fix VALID_URL
[crunchyroll:playlist] Implement beta API by tejing1
[crunchyroll] Fix inheritance
[daftsex] Fix extractor by Soebb
[dailymotion] Support by hatienl0i261299
[ellentube] Extract subtitles from manifest
[elonet] Rewrite extractor by Fam0r, pukkandan
[fptplay] Fix metadata extraction by hatienl0i261299
[FranceCulture] Support playlists by bohwaz
[go, viu] Extract subtitles from the m3u8 manifest by fstirlitz
[Imdb] Improve extractor by hatienl0i261299
[MangoTV] Improve extractor by hatienl0i261299
[Nebula] Fix bug in 52efa4b
[niconico] Fix extraction of thumbnails and uploader (#3266)
[niconico] Rewrite NiconicoIE by Lesmiscore
[nitter] Minor fixes and update instance list by foghawk
[NRK] Extract timestamp by hatienl0i261299
[openrec] Download archived livestreams by Lesmiscore
[openrec] Refactor extractors by Lesmiscore
[panopto] Improve subtitle extraction and support slides by coletdjnz
[ParamountPlus, CBS] Change VALID_URL by Sipherdrakon
[ParamountPlusSeries] Support multiple pages by dodrian
[Piapro] Extract description with break lines by Lesmiscore
[rai] Fix extraction of http formas by nixxo
[rumble] unescape title
[RUTV] Fix format sorting by Lesmiscore
[ruutu] Detect embeds by tpikonen
[tenplay] Improve extractor by aarubui
[TikTok] Fix URLs with user id by hatienl0i261299
[TikTokVM] Fix redirect to user URL
[TVer] Fix extractor by Lesmiscore
[TVer] Support landing page by vvto33
[twitcasting] Don't return multi_video for archive with single hls manifest by Lesmiscore
[veo] Fix _VALID_URL
[Veo] Fix extractor by i6t
[viki] Don't attempt to modify URLs with signature by nyuszika7h
[viu] Fix bypass for preview by zackmark29
[viu] Fixed extractor by zackmark29, pukkandan
[web.archive:youtube] Make CDX API requests non-fatal by coletdjnz
[wget] Fix proxy by kikuyan, coletdjnz
[xnxx] Add by rozari0
[youtube] Add new age-gate bypass by zerodytrash, pukkandan
[youtube] Add extractor-arg to skip auto-translated subs
[youtube] Avoid false positives when detecting damaged formats
[youtube] Detect DRM better by shirt
[youtube] Fix auto-translated automatic captions
[youtube] Fix pagination of membership tab
[youtube] Fix uploader for collaborative playlists by coletdjnz
[youtube] Improve video upload date handling by coletdjnz
[youtube:api] Prefer minified JSON response by coletdjnz
[youtube:search] Support hashtag entries by coletdjnz
[youtube:tab] Fix duration extraction for shorts by coletdjnz
[youtube:tab] Minor improvements
[youtube:tab] Return shorts url if video is a short by coletdjnz
[Zattoo] Fix extractors by goggle
[Zingmp3] Fix signature by hatienl0i261299

yt-dlp 2022.03.08.1

[cleanup] Refactor
[build] Fix bug

yt-dlp 2022.02.04

[youtube:search] Fix extractor by coletdjnz
[youtube:search] Add tests
[twitcasting] Enforce UTF-8 for POST payload by Lesmiscore
[mediaset] Fix extractor by nixxo
[websocket] Make syntax error in websockets module non-fatal

yt-dlp 2022.02.03 Latest

Merge youtube-dl: Upto commit/78ce962
Add option --print-to-file
Make nested --config-locations relative to parent file
Ensure _type is present in info.json
Fix --compat-options list-formats
Fix/improve InAdvancePagedList
[downloader/ffmpeg] Handle unknown formats better
[outtmpl] Handle -o "" better
[outtmpl] Handle hard-coded file extension better
[extractor] Add convinience function _yes_playlist
[extractor] Allow non-fatal title extraction
[extractor] Extract video inside Article json_ld
[generic] Allow further processing of json_ld URL
[cookies] Fix keyring selection for unsupported desktops
[utils] Strip double spaces in clean_html by dirkf
[aes] Add unpad_pkcs7
[test] Fix test_youtube_playlist_noplaylist
[docs,cleanup] Misc cleanup
[dplay] Add extractors for site changes by Sipherdrakon
[ertgr] Add extractors by zmousm, dirkf
[Musicdex] Add extractors by Ashish0804
[YandexVideoPreview] Add extractor by KiberInfinity
[youtube] Add extractor YoutubeMusicSearchURLIE
[] Ignore unnecessary files
[Bilibili] Add 8k support by u-spec-png
[bilibili] Fix extractor, make anthology title non-fatal
[CAM4] Add thumbnail extraction by alerikaisattera
[cctv] De-prioritize sample format
[crunchyroll:beta] Add cookies support by tejing1
[crunchyroll] Fix login by tejing1
[doodstream] Fix extractor
[fc2] Fix extraction by Lesmiscore
[FFmpegConcat] Abort on --skip-download and download errors
[Fujitv] Extract metadata and support premium by YuenSzeHong
[globo] Fix extractor by Bricio
[glomex] Simplify embed detection
[GoogleSearch] Fix extractor
[Instagram] Fix extraction when logged in by MinePlayersPE
[] Add VIP support by MinePlayersPE
[mildom] Fix extractor by lazypete365
[MySpass] Fix video url processing by trassshhub
[Odnoklassniki] Improve embedded players extraction by KiberInfinity
[orf:tvthek] Lazy playlist extraction and obey --no-playlist
[Pladform] Fix redirection to external player by KiberInfinity
[ThisOldHouse] Improve Premium URL check by Ashish0804
[TikTok] Iterate through app versions by MinePlayersPE
[tumblr] Fix 403 errors and handle vimeo embeds by foghawk
[viki] Fix "Bad request" for manifest by nyuszika7h
[Vimm] add recording extractor by alerikaisattera
[web.archive:youtube] Add ytarchive: prefix and misc cleanup
[youtube:api] Do not use seek when reading HTTPError response by coletdjnz
[youtube] Fix n-sig for player e06dea74
[youtube, cleanup] Misc fixes and cleanup

yt-dlp 2022.01.21

Add option --concat-playlist to concat videos in a playlist
Allow multiple and nested configuration files
Add more post-processing stages (after_video, playlist)
Allow --exec to be run at any post-processing stage (Deprecates --exec-before-download)
Allow --print to be run at any post-processing stage
Allow listing formats, thumbnails, subtitles using --print by pukkandan, Zirro
Add fields video_autonumber, modified_date, modified_timestamp, playlist_count, channel_follower_count
Add key requested_downloads in the root info_dict
Write download_archive only after all formats are downloaded
[FfmpegMetadata] Allow setting metadata of individual streams using meta<n>_ prefix
Add option --legacy-server-connect by xtkoba
Allow escaped , in --extractor-args
Allow unicode characters in info.json
Check for existing thumbnail/subtitle in final directory
Don't treat empty containers as None in sanitize_info
Fix -s --ignore-no-formats --force-write-archive
Fix live title for multiple formats
List playlist thumbnails in --list-thumbnails
Raise error if subtitle download fails
[cookies] Fix bug when keyring is unspecified
[ffmpeg] Ignore unknown streams, standardize use of -map 0
[outtmpl] Alternate form for D and fix suffix's case
[utils] Add Sec-Fetch-Mode to std_headers
[utils] Fix format_bytes output for Bytes by pukkandan, mdawar
[utils] Handle ss:xxx in parse_duration
[utils] Improve parsing for nested HTML elements by zmousm, pukkandan
[utils] Use key None in traverse_obj to return as-is
[extractor] Detect more subtitle codecs in MPD manifests by fstirlitz
[extractor] Extract chapters from JSON-LD by iw0nderhow, pukkandan
[extractor] Extract thumbnails from JSON-LD by nixxo
[extractor] Improve url_result and related
[generic] Improve KVS player extraction by trassshhub
[build] Reduce dependency on third party workflows
[extractor,cleanup] Use _search_nextjs_data, format_field
[cleanup] Minor fixes and cleanup
[docs] Improvements
[test] Fix TestVerboseOutput
[afreecatv] Add livestreams extractor by wlritchi
[callin] Add extractor by foghawk
[CrowdBunker] Add extractors by Ashish0804
[daftsex] Add extractors by k3ns1n
[digitalconcerthall] Add extractor by teridon
[Drooble] Add extractor by u-spec-png
[EuropeanTour] Add extractor by Ashish0804
[] Add extractors by MinePlayersPE
[KelbyOne] Add extractor by Ashish0804
[LnkIE] Add extractor by Ashish0804
[MainStreaming] Add extractor by coletdjnz
[megatvcom] Add extractors by zmousm
[Newsy] Add extractor by Ashish0804
[noodlemagazine] Add extractor by trassshhub
[PokerGo] Add extractors by Ashish0804
[Pornez] Add extractor by mozlima
[PRX] Add Extractors by coletdjnz
[RTNews] Add extractor by Ashish0804
[Rule34video] Add extractor by trassshhub
[tvopengr] Add extractors by zmousm
[Vimm] Add extractor by alerikaisattera
[glomex] Add extractors by zmousm
[instagram] Add story/highlight extractor by u-spec-png
[openrec] Add movie extractor by Lesmiscore
[rai] Add Raiplaysound extractors by nixxo, pukkandan
[aparat] Fix extractor
[ard] Extract subtitles by fstirlitz
[BiliIntl] Add login by MinePlayersPE
[CeskaTelevize] Use http for manifests
[CTVNewsIE] Add fallback for video search by Ashish0804
[dplay] Migrate DiscoveryPlusItaly to DiscoveryPlus by timendum
[dplay] Re-structure DiscoveryPlus extractors
[Dropbox] Support password protected files and more formats by zenerdi0de
[facebook] Fix extraction from groups
[facebook] Improve title and uploader extraction
[facebook] Parse dash manifests
[fox] Extract m3u8 from preview by ischmidt20
[funk] Support origin URLs
[gfycat] Fix uploader
[gfycat] Support embeds by coletdjnz
[hotstar] Add extractor args to ignore tags by Ashish0804
[hrfernsehen] Fix ardloader extraction by CreaValix
[instagram] Fix username extraction for stories and highlights by nyuszika7h
[kakao] Detect geo-restriction
[line] Remove by sian1468
[mixch] Add MixchArchiveIE by Lesmiscore
[mixcloud] Detect restrictions by llacb47
[NBCSports] Fix extraction of platform URLs by ischmidt20
[Nexx] Extract more metadata by MinePlayersPE
[Nexx] Support 3q CDN by MinePlayersPE
[pbs] de-prioritize AD formats
[PornHub,YouTube] Refresh onion addresses by unit193
[RedBullTV] Parse subtitles from manifest by Ashish0804
[streamcz] Fix extractor by arkamar, pukkandan
[Ted] Rewrite extractor by pukkandan, trassshhub
[Theta] Fix valid URL by alerikaisattera
[ThisOldHouseIE] Add support for premium videos by Ashish0804
[TikTok] Fix extraction for sigi-based webpages, add API fallback by MinePlayersPE
[TikTok] Pass cookies to formats, and misc fixes by MinePlayersPE
[TikTok] Extract captions, user thumbnail by MinePlayersPE
[TikTok] Change app version by MinePlayersPE, llacb47
[TVer] Extract message for unaired live by Lesmiscore
[twitcasting] Refactor extractor by Lesmiscore
[twitter] Fix video in quoted tweets
[veoh] Improve extractor by foghawk
[vk] Capture clip URLs
[vk] Fix VKUserVideosIE by Ashish0804
[vk] Improve _VALID_URL by k3ns1n
[VrtNU] Handle empty title by pgaig
[XVideos] Check HLS formats by MinePlayersPE
[yahoo:gyao] Improved playlist handling by hyano
[youtube:tab] Extract more playlist metadata by coletdjnz, pukkandan
[youtube:tab] Raise error on tab redirect by krichbanana, coletdjnz
[youtube] Update Innertube clients by coletdjnz
[youtube] Detect live-stream embeds
[youtube] Do not return upload_date for playlists
[youtube] Extract channel subscriber count by coletdjnz
[youtube] Make invalid storyboard URL non-fatal
[youtube] Enforce UTC, update innertube clients and tests by coletdjnz
[zdf] Add chapter extraction by iw0nderhow
[zee5] Add geo-bypass

yt-dlp 2021.12.27

Avoid recursion error when re-extracting info
[ffmpeg] Fix position of --ppa
[aria2c] Don't show progress when --no-progress
[cookies] Support other keyrings by mbway
[EmbedThumbnail] Prefer AtomicParsley over ffmpeg if available
[generic] Fix HTTP KVS Player by git-anony-mouse
[ThumbnailsConvertor] Fix for when there are no thumbnails
[docs] Add examples for using TYPES: in -P/-o
[PixivSketch] Add extractors by nao20010128nao
[tiktok] Add music, sticker and tag IEs by MinePlayersPE
[BiliIntl] Fix extractor by MinePlayersPE
[CBC] Fix URL regex
[tiktok] Fix extractor_key used in archive
[youtube] End live-from-start properly when stream ends with 403
[Zee5] Fix VALID_URL for tv-shows by Ashish0804

yt-dlp 2021.12.25

[dash,youtube] Download live from start to end by nao20010128nao, pukkandan
Add option --live-from-start to enable downloading live videos from start
Add key is_from_start in formats to identify formats (of live videos) that downloads from start
[dash] Create protocol http_dash_segments_generator that allows a function to be passed instead of fragments
[fragment] Allow multiple live dash formats to download simultaneously
[youtube] Implement fragment re-fetching for the live dash formats
[youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
[postprocessor/ffmpeg] Add FFmpegFixupDuplicateMoovPP to fixup duplicated moov atoms
Known issues:
Ctrl+C doesn't work on Windows when downloading multiple formats
If video becomes private, download hangs
[SponsorBlock] Add Filler and Highlight categories by nihil-admirari, pukkandan
Change --sponsorblock-cut all to --sponsorblock-cut default if you do not want filler sections to be removed
Add field webpage_url_domain
Add interactive format selection with -f -
Add option --file-access-retries by ehoogeveen-medweb
[outtmpl] Add alternate forms S, D and improve id detection
[outtmpl] Add operator & for replacement text by PilzAdam
[EmbedSubtitle] Disable duration check temporarily
[extractor] Add _search_nuxt_data by nao20010128nao
[extractor] Ignore errors in comment extraction when -i is given
[extractor] Standardize _live_title
[FormatSort] Prevent incorrect deprecation warning
[generic] Extract m3u8 formats from JSON-LD
[postprocessor/ffmpeg] Always add faststart
[utils] Fix parsing YYYYMMDD dates in Nov/Dec by wlritchi
[utils] Improve parse_count
[utils] Update std_headers by kikuyan, fstirlitz
[lazy_extractors] Fix for search IEs
[extractor] Support default implicit graph in JSON-LD by zmousm
Allow --no-write-thumbnail to override --write-all-thumbnail
Fix --throttled-rate
Fix control characters being printed to --console-title
Fix PostProcessor hooks not registered for some PPs
Pre-process when using --flat-playlist
Remove known invalid thumbnails from info_dict
Add warning when using -f best
Use parse_duration for --wait-for-video and some minor fix
[test/download] Add more fields
[test/download] Ignore field webpage_url_domain by std-move
[compat] Suppress errors in enabling VT mode
[docs] Improve manpage format by iw0nderhow, pukkandan
[docs,cleanup] Minor fixes and cleanup
[cleanup] Fix some typos by unit193
[ABC:iview] Add show extractor by pabs3
[dropout] Add extractor by TwoThousandHedgehogs, pukkandan
[GameJolt] Add extractors by MinePlayersPE
[gofile] Add extractor by Jertzukka, Ashish0804
[hse] Add extractors by cypheron, pukkandan
[NateTV] Add NateIE and NateProgramIE by Ashish0804, Hyeeji
[OpenCast] Add extractors by bwildenhain, C0D3D3V
[rtve] Add RTVEAudioIE by kebianizao
[Rutube] Add RutubeChannelIE by Ashish0804
[skeb] Add extractor by nao20010128nao
[soundcloud] Add related tracks extractor by Lapin0t
[toggo] Add extractor by nyuszika7h
[TrueID] Add extractor by MinePlayersPE
[audiomack] Update album and song VALID_URL by abdullah-if, dirkf
[CBC Gem] Extract 1080p formats by DavidSkrundz
[ceskatelevize] Fetch iframe from nextJS data by mkubecek
[crackle] Look for non-DRM formats by raleeper
[dplay] Temporary fix for
[DiscoveryPlusShowBaseIE] yield actual video id by Ashish0804
[Facebook] Handle redirect URLs
[fujitv] Extract 1080p from tv_android m3u8 by YuenSzeHong
[gronkh] Support new URL pattern by Sematre
[instagram] Expand valid URL by u-spec-png
[Instagram] Try bypassing login wall with embed page by MinePlayersPE
[Jamendo] Fix use of _VALID_URL_RE by jaller94
[LBRY] Support livestreams by Ashish0804, pukkandan
[NJPWWorld] Extract formats from m3u8 by aarubui
[NovaEmbed] update player regex by std-move
[npr] Make SMIL extraction non-fatal by r5d
[ntvcojp] Extract NUXT data by nao20010128nao
[] add mobile fallback by nao20010128nao
[olympics] Add uploader and cleanup by u-spec-png
[ondemandkorea] Update jw_config regex by julien-hadleyjack
[PlutoTV] Expand _VALID_URL
[RaiNews] Fix extractor by nixxo
[RCTIPlusSeries] Lazy extraction and video type selection by MinePlayersPE
[redtube] Handle formats delivered inside a JSON by dirkf, nixxo
[SonyLiv] Add OTP login support by Ashish0804
[Steam] Fix extractor by u-spec-png
[TikTok] Pass cookies to mobile API by MinePlayersPE
[trovo] Fix inheritance of TrovoChannelBaseIE
[TVer] Extract better thumbnails by YuenSzeHong
[vimeo] Extract chapters
[web.archive:youtube] Improve metadata extraction by coletdjnz
[youtube:comments] Add more options for limiting number of comments extracted by coletdjnz
[youtube:tab] Extract more metadata from feeds/channels/playlists by coletdjnz
[youtube:tab] Extract video thumbnails from playlist by coletdjnz, pukkandan
[youtube:tab] Ignore query when redirecting channel to playlist and cleanup of related code
[youtube] Fix ytsearchdate
[zdf] Support videos with different ptmd location by iw0nderhow
[zee5] Support /episodes in URL

yt-dlp 2021.12.01

Add option --wait-for-video to wait for scheduled streams
Add option --break-per-input to apply --break-on... to each input URL
Add option --embed-info-json to embed info.json in mkv
Add compat-option embed-metadata
Allow using a custom format selector through API
[AES] Add ECB mode by nao20010128nao
[build] Fix MacOS Build
[build] Save Git HEAD at release alongside version info
[build] Use workflow_dispatch for release
[downloader/ffmpeg] Fix for direct videos inside mpd manifests
[downloader] Add colors to download progress
[EmbedSubtitles] Slightly relax duration check and related cleanup
[ExtractAudio] Fix conversion to wav and vorbis
[ExtractAudio] Support alac
[extractor] Extract average_rating from JSON-LD
[FixupM3u8] Fixup MPEG-TS in MP4 container
[generic] Support mpd manifests without extension by shirt
[hls] Better FairPlay DRM detection by nyuszika7h
[jsinterp] Fix splice to handle float (for youtube js player f1ca6900)
[utils] Allow alignment in render_table and add tests
[utils] Fix PagedList
[utils] Fix error when copying LazyList
Clarify video/audio-only formats in -F
Ensure directory exists when checking formats
Ensure path for link files exists by Zirro
Ensure same config file is not loaded multiple times
Fix postprocessor_hooks
Fix --break-on-archive when pre-checking
Fix --check-formats for mhtml
Fix --load-info-json of playlists with failed entries
Fix --trim-filename when filename has .
Fix bug in parsing --add-header
Fix error in report_unplayable_conflict by shirt
Fix writing playlist infojson with --no-clean-infojson
Validate --get-bypass-country
[blogger] Add extractor by pabs3
[breitbart] Add extractor by Grabien
[CableAV] Add extractor by j54vc1bk
[CanalAlpha] Add extractor by Ashish0804
[CozyTV] Add extractor by Ashish0804
[CPTwentyFour] Add extractor by Ashish0804
[DiscoveryPlus] Add DiscoveryPlusItalyShowIE by Ashish0804
[ESPNCricInfo] Add extractor by Ashish0804
[LinkedIn] Add extractor by u-spec-png
[mixch] Add extractor by nao20010128nao
[nebula] Add NebulaCollectionIE and rewrite extractor by hheimbuerger
[OneFootball] Add extractor by Ashish0804
[] Add extractor by u-spec-png
[radiozet] Add extractor by 0xA7404A (Aurora)
[redgifs] Add extractor by chio0hai
[RedGifs] Add Search and User extractors by Deer-Spangle
[rtrfm] Add extractor by pabs3
[Streamff] Add extractor by cntrl-s
[Stripchat] Add extractor by zulaport
[Aljazeera] Fix extractor by u-spec-png
[AmazonStoreIE] Fix regex to not match vdp urls by Ashish0804
[ARDBetaMediathek] Handle new URLs
[bbc] Get all available formats by nyuszika7h
[Bilibili] Fix title extraction by u-spec-png
[CBC Gem] Fix for shows that don't have all seasons by makeworld-the-better-one
[curiositystream] Add more metadata
[CuriosityStream] Fix series
[DiscoveryPlus] Rewrite extractors by Ashish0804, pukkandan
[HotStar] Set language field from tags by Ashish0804
[instagram, cleanup] Refactor extractors
[Instagram] Display more login errors by MinePlayersPE
[itv] Fix extractor by staubichsauger, pukkandan
[mediaklikk] Expand valid URL
[MTV] Improve mgid extraction by Sipherdrakon, kikuyan
[nexx] Better error message for unsupported format
[NovaEmbed] Fix extractor by pukkandan, std-move
[PatreonUser] Do not capture RSS URLs
[Reddit] Add support for 1080p videos by xenova
[RoosterTeethSeries] Fix for multiple pages by MinePlayersPE
[sbs] Fix for movies and livestreams
[] Add SenateGovIE and fix SenateISVPIE by Grabien, pukkandan
[soundcloud:search] Fix pagination
[tiktok:user] Set webpage_url correctly
[Tokentube] Fix description by u-spec-png
[trovo] Fix extractor by nyuszika7h
[tv2] Expand valid URL
[Tvplayhome] Fix extractor by pukkandan, 18928172992817182
[Twitch:vod] Add chapters by mpeter50
[twitch:vod] Extract live status by DEvmIb
[VidLii] Add 720p support by mrpapersonic
[vimeo] Add fallback for config URL
[vimeo] Sort http formats higher
[WDR] Expand valid URL
[willow] Add extractor by aarubui
[xvideos] Detect embed URLs by 4a1e2y5
[xvideos] Fix extractor by Yakabuff
[youtube, cleanup] Reorganize Tab and Search extractor inheritances
[youtube:search_url] Add playlist/channel support
[youtube] Add default player client by coletdjnz
[youtube] Add storyboard formats
[youtube] Decrypt n-sig for URLs with ratebypass
[youtube] Minor improvement to format sorting
[cleanup] Add deprecation warnings
[cleanup] Minor cleanup
[cleanup] Misc cleanup
[cleanup] Refactor JSInterpreter._seperate
[Cleanup] Remove some unnecessary groups in regexes by Ashish0804

yt-dlp 2021.11.10.1

Temporarily disable MacOS Build

yt-dlp 2021.11.10

[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
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 and j
[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 than ac3
[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 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 and hardsub
[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

[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)
Clean up error reporting in update
Refactor, 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 and resolution 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 and sleep-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

yt-dlp 2021.10.10

There was a couple of serious bugs in last release (#1215, #1211)
So here's a hotfix


[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


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
[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
[] 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


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 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
[] 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
[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 and playlist-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 to Crypto
[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 by glenn-slayden
[cleanup] Improve make clean-test by sulyi
[cleanup] Misc

yt-dlp 2021.09.02

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
[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 add HungamaAlbumPlaylistIE 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 by mrfade, coletdjnz
[tiktok] Add TikTokUserIE by Ashish0804, pukkandan
[Tokentube] Add extractor by u-spec-png
[TV2Hu] Fix TV2HuIE and add TV2HuSeriesIE 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
[] Fix extractor for 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
[] 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 obeying playlist_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

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 Ashish0804
[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 to stdout
[ffpmeg] Allow --ffmpeg-location to be a file with different name
[utils] Fix InAdvancePagedList.__getitem__
[utils] Fix traverse_obj depth when is_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

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
[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

[youtube:tab] Extract video duration early
[downloader] Pass info_dict to progress_hooks
[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

yt-dlp 2021.07.21

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 and pycryptodome for Windows
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
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, improve like_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 to vikichannel 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
Improve extractor_args parsing
Rename NOTE in -F to MORE INFO since it's often confused to be the same as format_note
Add only_once param for write_debug and report_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

yt-dlp 2021.07.07

Merge youtube-dl: Upto commit/a803582
Add --extractor-args to pass extractor-specific arguments
Add extractor option skip for youtube. Eg: --extractor-args youtube:skip=hls,dash
Deprecates --youtube-skip-dash-manifest, --youtube-skip-hls-manifest, --youtube-include-dash-manifest, --youtube-include-hls-manifest
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
Support direct /player/ URL
Extractor options language and version 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
[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 no ie_key
Fix check_formats catching ExtractorError instead of DownloadError
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 as jpg
[utils] Fix issues with LazyList reversal
[extractor] Allow extractors to set their own login hint
[cleanup] Simplify format selector code with LazyList and yield from
[cleanup] Clean extractor.common._merge_subtitles signature
[cleanup] Fix some typos

yt-dlp 2021.06.23

Merge youtube-dl: Upto commit/379f52a
Add option --throttled-rate below which video data is re-extracted
[fragment] Merge during download for -N, and refactor hls/dash
[websockets] Add WebSocketFragmentFDby 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

yt-dlp 2021.06.09

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

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 to traverse_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
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

yt-dlp 2021.06.01

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 creating LazyList
Write messages to stderr when both quiet and verbose
Sanitize and sort playlist thumbnails
Remove None values from info.json
[extractor] Always prefer native hls downloader by default
[extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
[extractor] Functions to parse response as json by pukkandan and llacb47
[extractor] Allow note=False when extracting manifests
[utils] Escape URLs in sanitized_Request, not sanitize_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

yt-dlp 2021.05.20

Youtube improvements:
Support youtube music MP, VL and browse 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 their UU 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 to get_video_info page requests by colethedj
Better message when login required
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 refactor mutagen 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 and pre_process only run once
Fix --check-formats when there is network error
Standardize write_debug and get_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

yt-dlp 2021.05.11

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
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 and to_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 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 and series 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 add playlist_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
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 to stdout
Move option warnings to YoutubeDLso that they obey --no-warnings and can output colors
Py2 compatibility for FileNotFoundError

yt-dlp 2021.04.22


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


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
Merge youtube-dl: Upto commit/4fb25ff (except vimeo)
[DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE by Ashish0804
[NFHSNetwork] Add extractor by llacb47
[nebula] Add extractor ( 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 and datetime_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


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
[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

yt-dlp 2021.03.24.1


Merge youtube-dl: Upto 2021.03.25
Parse metadata from multiple fields using --parse-metadata
Ability to load playlist infojson using --load-info-json
Write current epoch to infojson when using --no-clean-infojson
[youtube_live_chat] fix bug when trying to set cookies
[niconico] Fix for when logged in by: @CXwudi and @xtkoba
[linuxacadamy] Fix login

yt-dlp 2021.03.21


Merge youtube-dl: Upto commit/7e79ba7
Option --clean-infojson to keep private keys in the infojson
[aria2c] Support retry/abort unavailable fragments by damianoamatruda
[aria2c] Better default arguments
[movefiles] Fix bugs and make more robust
[formatSort] Fix quality being ignored
[splitchapters] Fix for older ffmpeg
[sponskrub] Pass proxy to sponskrub
Make sure post_hook gets the final filename
Recursively remove any private keys from infojson
Embed video URL metadata inside mp4 by damianoamatruda and pukkandan
Merge webm formats into mkv if thumbnails are to be embedded by damianoamatruda
Use headers and cookies when downloading subtitles by damianoamatruda
Parse resolution in info dictionary by damianoamatruda
More consistent warning messages by damianoamatruda and pukkandan
[documentation] Add deprecated options and aliases in readme
[documentation] Fix some minor mistakes
[niconico] Partial fix adapted from animelover1984/youtube-dl@b5eff52 (login and smile formats still don't work)
[niconico] Add user extractor by animelover1984
[bilibili] Add anthology support by animelover1984
[amcnetworks] Fix extractor by 2ShedsJackson
[stitcher] Merge from youtube-dl by nixxo
[rcs] Improved extraction by nixxo
[linuxacadamy] Improve regex
[youtube] Show if video is private, unlisted etc in info (availability) by colethedj and pukkandan
[youtube] bugfix for channel playlist extraction
[nbc] Improve metadata extraction by 2ShedsJackson

yt-dlp 2021.03.15


Split video by chapters: using option --split-chapters
The output file of the split files can be set with -o/-P using the prefix chapter:
Additional keys section_title, section_number, section_start, section_end are available in the output template
Parallel fragment downloads by shirt
Use option --concurrent-fragments (-N) to set the number of threads (default 1)
Merge youtube-dl: Upto commit/3be0980
[zee5] Add Show Extractor by Ashish and pukkandan
[rai] fix drm check nixxo
[wimtv] Add extractor by nixxo
[mtv] Add and extract series metadata by nixxo
[] Add extractor by kevinoconnor7
[youtube] Rewrite comment extraction by colethedj
[embedthumbnail] Set mtime correctly
Refactor some postprocessor/downloader code by pukkandan and shirt

yt-dlp 2021.03.07


[youtube] Fix history, mixes, community pages and trending by pukkandan and colethedj
[youtube] Fix private feeds/playlists on multi-channel accounts by colethedj
[youtube] Extract alerts from continuation by colethedj
[cbs] Add support for ParamountPlus by shirt
[mxplayer] Rewrite extractor with show support by pukkandan and Ashish
[gedi] Improvements from youtube-dl by nixxo
[vimeo] Fix videos with password by teesid
[lbry] Support lbry:// url by nixxo
[bilibili] Change Accept header by pukkandan and animelover1984
[trovo] Pass origin header
[rai] Check for DRM by nixxo
[downloader] Fix bug for ffmpeg/httpie
[update] Fix updater removing the executable bit on some UNIX distros
[update] Fix current build hash for UNIX
[documentation] Include wget/curl/aria2c install instructions for Unix by Ashish
Fix some videos downloading with m3u8 extension
Remove "fixup is ignored" warning when fixup wasn't passed by user

[build] Fix bug

[youtube] Use new browse API for continuation page extraction by colethedj and pukkandan
Fix HLS playlist downloading by shirt
Merge youtube-dl: Upto 2021.03.03
[mtv] Fix extractor
[nick] Fix extractor by DennyDai
[mxplayer] Add new extractor by codeasashu
[youtube] Throw error when --extractor-retries are exhausted
Reduce default of --extractor-retries to 3
Fix packaging bugs by hseg
Allow specifying path in --external-downloader
Add option --sleep-requests to sleep b/w requests
Add option --extractor-retries to retry on known extractor errors
Extract comments only when needed
--get-comments doesn't imply --write-info-json if -J, -j or --print-json are used
Fix get_executable_path by shirt
[youtube] Retry on more known errors than just HTTP-5xx
[youtube] Fix inconsistent webpage_url
[tennistv] Fix format sorting
[bilibiliaudio] Recognize the file as audio-only
[hrfensehen] Fix wrong import
[viki] Fix viki play pass authentication by RobinD42
[readthedocs] Improvements by shirt
[hls] Fix bug with m3u8 format extraction
[hls] Enable --hls-use-mpegts by default when downloading live-streams
[embedthumbnail] Fix bug with deleting original thumbnail
[build] Fix completion paths, zsh pip completion install by hseg
[ci] Disable download tests unless specifically invoked
Cleanup some code and fix typos

Moved project to an organization yt-dlp
Completely changed project name to yt-dlp by Pccode66 and pukkandan
Also, youtube-dlc config files are no longer loaded
Merge youtube-dl: Upto commit/4460329 (except tmz, gedi)
Readthedocs support by shirt
[youtube] Show if video was a live stream in info (was_live)
[Zee5] Add new extractor by Ashish and pukkandan
[jwplatform] Add support for
[tennistv] Fix extractor
[hls] Support media initialization by shirt
[hls] Added options --hls-split-discontinuity to better support media discontinuity by shirt
[ffmpeg] Allow passing custom arguments before -i using --ppa "ffmpeg_i1:ARGS" syntax
Fix --windows-filenames removing / from UNIX paths
[hls] Show warning if pycryptodome is not found
[documentation] Improvements
Fix documentation of Extractor Options
Document all in format selection
Document playable_in_embed in output templates

Merge youtube-dl: Upto commit/cf2dbec (except kakao)
[viki] Fix extractor
[niconico] Extract channel and channel_id by kurumigi
[youtube] Multiple page support for hashtag URLs
[youtube] Add more invidious instances
[youtube] Fix comment extraction when comment text is empty
Option --windows-filenames to force use of windows compatible filenames
[ExtractAudio] Bugfix
Don't raise parser.error when exiting for update
[MoveFiles] Fix for when merger can't run
Changed --trim-file-name to --trim-filenames to be similar to related options
Format Sort improvements:
Prefer vp9.2 more than other vp9 codecs
Remove forced priority of quality
Remove unnecessary field_preference and misuse of preference from extractors
Build improvements:
Fix hash output by shirt
Lock python package versions for x86 and use wheels by shirt
Exclude vcruntime140.dll from UPX by jbruchon
Set version number based on UTC time, not local time
Publish on PyPi only if token is set
[documentation] Better document --prefer-free-formats and add --no-prefer-free-format

Merge youtube-dl: Upto 2021.02.10 (except
[niconico] Improved extraction and support encrypted/SMILE movies by kurumigi, tsukumi, bbepis, pukkandan
Fix HLS AES-128 with multiple keys in external downloaders by shirt
[youtube_live_chat] Fix by using POST API by siikamiika
[rumble] Add support for video page
Option --allow-unplayable-formats to allow downloading unplayable video formats
[ExtractAudio] Don't re-encode when file is already in a common audio format
[youtube] Fix search continuations
[youtube] Fix for new accounts
Improve build/updater: by pukkandan and shirt
Fix SHA256 calculation in build and implement hash checking for updater
Exit immediately in windows once the update process starts
Fix updater for x86.exe
Updater looks for both yt-dlp and youtube-dlc in releases for future-proofing
Change optional dependency to pycryptodome
Fix issue with unicode filenames in aria2c by shirt
Fix allow_playlist_files not being correctly passed through
Fix for empty HTTP head requests by shirt
Fix get_executable_path in UNIX
[sponskrub] Print ffmpeg output and errors to terminal
__real_download should be false when ffmpeg unavailable and no download
Show exe/zip/source and 32/64bit in verbose message

aria2c support for DASH/HLS: by shirt
Implement Updater (-U) by shirt
[youtube] Fix comment extraction
[youtube_live_chat] Improve extraction
[youtube] Fix for channel URLs sometimes not downloading all pages
[aria2c] Changed default arguments to --console-log-level=warn --summary-interval=0 --file-allocation=none -x16 -j16 -s16
Add fallback for thumbnails
[embedthumbnail] Keep original thumbnail after conversion if write_thumbnail given
[embedsubtitle] Keep original subtitle after conversion if write_subtitles given
[] Move back to root dir
[youtube] Simplified renderer parsing and bugfixes
[movefiles] Fix compatibility with python2
[remuxvideo] Fix validation of conditional remux
[sponskrub] Don't raise error when the video does not exist
[documentation] Crypto is an optional dependency

Merge youtube-dl: Upto 2021.02.04.1
Date/time formatting in output template:
You can use strftime to format date/time fields. Example: %(upload_date>%Y-%m-%d)s
Multiple output templates:
Separate output templates can be given for the different metadata files by using -o TYPE:TEMPLATE
The allowed types are: subtitle|thumbnail|description|annotation|infojson|pl_description|pl_infojson
[youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
New option --no-write-playlist-metafiles to prevent writing playlist metadata files
[audius] Fix extractor
[youtube_live_chat] Fix parse_yt_initial_data and add fragment_retries
[postprocessor] Raise errors correctly
[metadatafromtitle] Fix bug when extracting data from numeric fields
Fix issue with overwriting files
Fix "Default format spec" appearing in quiet mode
[FormatSort] Allow user to prefer av01 over vp9 (The default is still vp9)
[FormatSort] fix bug where quality had more priority than hasvid
[pyinst] Automatically detect python architecture and working directory
Strip out internal fields such as _filename from infojson

Features from animelover1984/youtube-dl: by animelover1984 and bbepis
Add --get-comments
[youtube] Extract comments
[billibilli] Added BiliBiliSearchIE, BilibiliChannelIE
[billibilli] Extract comments
[billibilli] Better video extraction
Write playlist data to infojson
[FFmpegMetadata] Embed infojson inside the video
[EmbedThumbnail] Try embedding in mp4 using ffprobe and -disposition
[EmbedThumbnail] Treat mka like mkv and mov like mp4
[EmbedThumbnail] Embed in ogg/opus
[VideoRemuxer] Conditionally remux video
[VideoRemuxer] Add -movflags +faststart when remuxing to mp4
[ffmpeg] Print entire stderr in verbose when there is error
[EmbedSubtitle] Warn when embedding ass in mp4
[anvato] Use NFLTokenGenerator if possible
Parse additional metadata: New option --parse-metadata to extract additional metadata from existing fields
The extracted fields can be used in --output
Deprecated --metadata-from-title
[Audius] Add extractor
[youtube] Extract playlist description and write it to .description file
Detect existing files even when using recode/remux (extract-audio is partially fixed)
Fix wrong user config from v2021.01.24
[youtube] Report error message from youtube as error instead of warning
[FormatSort] Fix some fields not sorting from v2021.01.24
[postprocessor] Deprecate avconv/avprobe. All current functionality is left untouched. But don't expect any new features to work with avconv
[postprocessor] fix write_debug to not throw error when there is no _downloader
[movefiles] Don't give "cant find" warning when move is unnecessary
Refactor update-version, and related files
[ffmpeg] Document more formats that are supported for remux/recode

Merge youtube-dl: Upto 2021.01.24
Plugin support (documentation)
Multiple paths: New option -P/--paths to give different paths for different types of files
The syntax is -P "type:path" -P "type:path" (documentation)
Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
Additionally, configuration file is taken from home directory or current directory (documentation)
Allow passing different arguments to different external downloaders (documentation)
[mildom] Add extractor by nao20010128nao
Warn when using old style --external-downloader-args and --post-processor-args
Fix --no-overwrite when using --write-link
[sponskrub] Output unrecognized argument error message correctly
[cbs] Make failure to extract title non-fatal
Fix typecasting when pre-checking archive
Fix issue with setting title on UNIX
Deprecate redundant aliases in formatSort. The aliases remain functional for backward compatibility, but will be left undocumented
[tests] Fix test_post_hooks
[tests] Split core and download tests

[TrovoLive] Add extractor (only VODs)
[pokemon] Add /#/player URLs
Improved parsing of multiple postprocessor-args, add --ppa as alias
[EmbedThumbnail] Simplify embedding in mkv
[sponskrub] Encode filenames correctly, better debug output and error message
[readme] Cleanup options

Merge youtube-dl: Upto 2021.01.16
Configuration files:
Portable configuration file: ./yt-dlp.conf
Allow the configuration files to be named yt-dlp instead of youtube-dlc. See this for details
Add PyPI release

Added option --break-on-reject
[] Fix for bonus episodes by Zocker1999NET
[tiktok] Fix for when share_info is empty
[EmbedThumbnail] Fix bug due to incorrect function name
[documentation] Changed sponskrub links to point to yt-dlp/SponSkrub since I am now providing both linux and windows releases
[documentation] Change all links to correctly point to new fork URL
[documentation] Fixes typos

[] Add subtitle support by samiksome
Added --force-overwrites, --no-force-overwrites by alxnull
Changed fork name to yt-dlp
Fix typos by FelixFrog
[ci] Option to skip
[changelog] Added unreleased changes in blackjack4494/yt-dlc

[] Fix extractor and add support for audio and playlists by wporr
[Animelab] Added by mariuszskon
[youtube:search] Fix view_count by ohnonot
[youtube] Show if video is embeddable in info
Update version badge automatically in README
Enable test_youtube_search_matching
Create to_screen and similar functions in postprocessor/common

[youtube] Fix bug in automatic caption extraction
Add post_hooks to YoutubeDL by alexmerkel
Batch file enumeration improvements by glenn-slayden
Stop immediately when reaching --max-downloads by glenn-slayden
Fix incorrect ANSI sequence for restoring console-window title by glenn-slayden
Kill child processes when yt-dlc is killed by Unrud

Merge youtube-dl: Upto 2021.01.08
Extractor stitcher (1, 2) have not been merged
Moved changelog to seperate file
[Akamai] fix by nixxo
[Tiktok] merge youtube-dl tiktok extractor by GreyAlien502
[vlive] add support for playlists by kyuyeunk
[youtube_live_chat] make sure playerOffsetMs is positive by siikamiika
Ignore extra data streams in ffmpeg by jbruchon
Allow passing different arguments to different postprocessors using --postprocessor-args
Deprecated --sponskrub-args. The same can now be done using --postprocessor-args "sponskrub:<args>"
[CI] Split tests into core-test and full-test

Removed priority of av01 codec in -S since most devices don't support it yet
Added duration_string to be used in --output
Created First Release
Changed defaults:
Enabled --ignore
Disabled --video-multistreams and --audio-multistreams
Changed default format selection to bv*+ba/b when --audio-multistreams is disabled
Changed default format sort order to res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id
Changed webm to be more preferable than flv in format sorting
Changed default output template to %(title)s [%(id)s].%(ext)s
Enabled --list-formats-as-table

Format Sort: Added --format-sort (-S), --format-sort-force (--S-force) - See Sorting Formats for details
Format Selection: See Format Selection for details
New format selectors: best*, worst*, bestvideo*, bestaudio*, worstvideo*, worstaudio*
Changed video format sorting to show video only files and video+audio files together.
Added --video-multistreams, --no-video-multistreams, --audio-multistreams, --no-audio-multistreams
Added b,w,v,a as alias for best, worst, video and audio respectively
Shortcut Options: Added --write-link, --write-url-link, --write-webloc-link, --write-desktop-link by h-h-h-h - See Internet Shortcut Options for details
Sponskrub integration: Added --sponskrub, --sponskrub-cut, --sponskrub-force, --sponskrub-location, --sponskrub-args - See SponSkrub Options for details
Added --force-download-archive (--force-write-archive) by h-h-h-h
Added --list-formats-as-table, --list-formats-old
Negative Options: Makes it possible to negate most boolean options by adding a no- to the switch. Usefull when you want to reverse an option that is defined in a config file
Added --no-ignore-dynamic-mpd, --no-allow-dynamic-mpd, --allow-dynamic-mpd, --youtube-include-hls-manifest, --no-youtube-include-hls-manifest, --no-youtube-skip-hls-manifest, --no-download, --no-download-archive, --resize-buffer, --part, --mtime, --no-keep-fragments, --no-cookies, --no-write-annotations, --no-write-info-json, --no-write-description, --no-write-thumbnail, --youtube-include-dash-manifest, --post-overwrites, --no-keep-video, --no-embed-subs, --no-embed-thumbnail, --no-add-metadata, --no-include-ads, --no-write-sub, --no-write-auto-sub, --no-playlist-reverse, --no-restrict-filenames, --youtube-include-dash-manifest, --no-format-sort-force, --flat-videos, --no-list-formats-as-table, --no-sponskrub, --no-sponskrub-cut, --no-sponskrub-force
Renamed: --write-subs, --no-write-subs, --no-write-auto-subs, --write-auto-subs. Note that these can still be used without the ending "s"
Relaxed validation for format filters so that any arbitrary field can be used
Fix for embedding thumbnail in mp3 by pauldubois98 (ytdl-org/youtube-dl#21569)
Make Twitch Video ID output from Playlist and VOD extractor same. This is only a temporary fix
Merge youtube-dl: Upto 2021.01.03 - See blackjack4494/yt-dlc#280 for details
Extractors tiktok and hotstar have not been merged
Cleaned up the fork for public use
Unreleased changes in blackjack4494/yt-dlc
Updated to youtube-dl release 2020.11.26
Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
Fix ytsearch not returning results sometimes due to promoted content
Temporary fix for automatic captions - disable json3
Fix some improper Youtube URLs
Redirect channel home to /video
Print youtube's warning message
Multiple pages are handled better for feeds
Add --break-on-existing by gergesh
Pre-check video IDs in the archive before downloading
[] New extractor
[Gedi] Add extractor
[Rcs] Add new extractor
[skyit] Add support for multiple Sky Italia website and removed old skyitalia extractor
[] Fix thumbnail URL
[ina] support mobile links
[instagram] Fix extractor
[itv] BTCC new pages' URL update (articles instead of races)
[SouthparkDe] Support for English URLs
[spreaker] fix SpreakerShowIE test URL
[Vlive] Fix playlist handling when downloading a channel
[generic] Detect embedded bitchute videos
[generic] Extract embedded youtube and twitter videos
[ffmpeg] Ensure all streams are copied
Fix for os.rename error when embedding thumbnail to video in a different drive
make_win.bat: don't use UPX to pack vcruntime140.dll

Search   Contact us   Privacy Policy   About   Advertise   Forum   RSS Feeds   Statistics   Software   

Site layout: Default Classic Blue