166 KiB
Changelog
2022.07.18
- 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
certifiis used - Fix rounding of integers in format table
- Improve chapter sanitization
- Skip some fixup if remux/recode is needed by Lesmiscore
- Support
--no-progressfor--wait-for-video - Fix bug in 612f2be
- [outtmpl] Add alternate form
hfor HTML escaping - [aes] Add multiple padding modes in CBC by elyse0
- [extractor/common] Passthrough
errnote=Falseto 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
setup.py - [update] Do not check
_update_specwhen 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_rangesby 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/rtl.lu] 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_URLby IONECarter, dirkf - [extractor/WSJArticle] Fix video id extraction by sqrtNOT
- [extractor/Ximalaya] Fix extractors by lockmatrix
- [cleanup, extractor/youtube] Fix tests by sheerluck
2022.06.29
- Fix
--downloader native - Fix
section_endof clips - Fix playlist error handling
- Sanitize
chapters - [extractor] Fix
_create_requestwhen headers is None - [extractor] Fix empty
BaseURLin MPD - [ffmpeg] Write full output to debug on error
- [hls] Warn user when trying to download live HLS
- [options] Fix
parse_known_argsfor-- - [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
2022.06.22.1
- [build] Fix updating homebrew formula
2022.06.22
- Deprecate support for Python 3.6
- Add option
--download-sectionsto download video partially- Chapter regex and time ranges are accepted (Eg:
--download-sections *1:10-2:20)
- Chapter regex and time ranges are accepted (Eg:
- Add option
--alias - Add option
--lazy-playlistto process entries as they are received - Add option
--retry-sleep - Add slicing notation to
--playlist-items- Adds support for negative indices and step
- Add
-Ias alias for--playlist-index - Makes
--playlist-start,--playlist-end,--playlist-reverse,--no-playlist-reverseredundant
--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
stderrwith-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-startby flashdagger - [extractor] Add
_search_jsonby coletdjnz, pukkandan - [extractor] Add
defaultparameter to_search_jsonby coletdjnz, pukkandan - [extractor] Add dev option
--load-pages - [extractor] Handle
json_ldwith multiple@types - [extractor] Import
_ALL_CLASSESlazily - [extractor] Recognize
srcattribute from HTML5 media elements by Lesmiscore - [extractor/generic] Revert
e6ae51c123 - [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: Fixexc_info - [utils]
ISO3166Utils: AddEUandAP - [utils]
Popen: Refactor to use contextmanager - [utils]
locked_file: Fix for PyPy on Windows - [update] Expose more functionality to API
- [update] Use
.gitfolder to distinguishsource/unknown - [compat] Add
functools.cached_property - [test] Fix
FakeYDLsignatures by coletdjnz - [docs] Improvements
- [cleanup, ExtractAudio] Refactor
- [cleanup, downloader] Refactor
report_progress - [cleanup, extractor] Refactor
_download_...methods - [cleanup, extractor] Rename
extractors.pyto_extractors.py - [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/kicker.de] 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_hostandinnertube_keyextractor args by coletdjnz - [extractor/youtube] Add warning for PostLiveDvr
- [extractor/youtube] Bring back
_extract_chapters_from_description - [extractor/youtube] Extract
comment_countfrom webpage - [extractor/youtube] Fix
:ytnotificationsextractor 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
videoRendererin_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_tokenfrom 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
WatchESPNextractor 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
navernowextractor by ping - [extractor/niconico:series] Fix extractor by sqrtNOT
- [extractor/npr] Use stream url from json-ld by r5d
- [extractor/pornhub] Extract
uploader_idfield by Lesmiscore - [extractor/radiofrance] Add more radios by bubbleguuum
- [extractor/rumble] Detect JS embed
- [extractor/rumble] Extract subtitles by fstirlitz
- [extractor/southpark] Add
southpark.latextractor by darkxex - [extractor/spotify:show] Fix extractor
- [extractor/tiktok] Detect embeds
- [extractor/tiktok] Extract
SIGI_STATEby 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
2022.05.18
- Add support for SSL client certificate authentication by coletdjnz, dirkf
- Adds
--client-certificate,--client-certificate-key,--client-certificate-password
- Adds
- Add
--match-filter -to interactively ask for each video --max-downloadsshould obey--break-per-input- Allow use of weaker ciphers with
--legacy-server-connect - Don't imply
-sfor 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
FFmpegFixupM3u8PPfor live-streams if needed - Show name of downloader in verbose log
- [cookies] Allow
cookiefileto 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-startby Lesmiscore - [hls] Fix
byte_rangeforEXT-X-MAPfragment 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
\0from 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_urlafter redirects by elyse0 - [extractor] Use
classmethod/propertywhere possible - [generic] Refactor
_extract_rss - [utils]
is_html: Handle double BOM - [utils]
locked_file: Ignore illegal seek ontruncateby jakeogh - [utils]
sanitize_path: Fix when path is empty string - [utils]
write_string: Workaround newline issue inconhost - [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 uninstallby MrRawes - [build] Avoid use of
install -D - [build] Fix
Makefileby putnam - [build] Fix
--onediron 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
:ytnotificationsextractor 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_URLby 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_protocolto 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 hs.fi embeds by tpikonen, pukkandan
- [spotify] Detect iframe embeds by fstirlitz
- [telegram] Fix metadata extraction
- [tmz, cleanup] Update tests by diegorodriguezv
- [toggo] Fix
_VALID_URLby 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_URLby 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
2022.04.08
- Use certificates from
certifiif installed by coletdjnz - Treat multiple
--match-filtersas OR - File locking improvements:
- De-prioritize automatic-subtitles when no
--sub-langis given - Exit after
--dump-user-agent - Fallback to video-only format when selecting by extension
- Fix
--abort-on-errorfor subtitles - Fix
--no-overwritefor playlist infojson - Fix
--printwith--ignore-no-formatswhen url isNoneby 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
mhtmlformats from-f mergeall - Ignore format-specific fields in initial pass of
--match-filter - Protect stdout from unexpected progress and console-title
- Remove
Accept-Encodingheader fromstd_headersby 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_loginfunction - [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
.editorconfigfile by fstirlitz - [docs] Clarify the exact
BSDlicense of dependencies by MrRawes - [docs] Minor improvements by pukkandan, cffswb, danielyli
- [docs] Remove readthedocs
- [build] Add
requirements.txtto pip distributions - [cleanup, postprocessor] Create
_download_json - [cleanup, vimeo] Fix tests
- [cleanup] Misc fixes and minor cleanup
- [cleanup] Use
_html_extract_title - [AfreecaTV] Add
AfreecaTVUserIEby hatienl0i261299 - [arte] Add
format_noteto 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
tv.telezueri.chby 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
geo.dailymotion.comby 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
52efa4b312 - [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
xnxx3.comby 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
membershiptab - [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
2022.03.08.1
- [cleanup] Refactor
__init__.py - [build] Fix bug
2022.03.08
- Merge youtube-dl: Upto commit/6508688 (except NDR)
- Add regex operator and quoting to format filters by lukasfink1
- Add brotli content-encoding support by coletdjnz
- Add pre-processor stage
after_filter - Better error message when no
--live-from-startformat - Create necessary directories for
--print-to-file - Fill more fields for playlists by Lesmiscore
- Fix
-allfor--sub-langs - Fix doubling of
video_idinExtractorError - Fix for when stdout/stderr encoding is
None - Handle negative duration from extractor
- Implement
--add-headerwithout modifyingstd_headers - Obey
--abort-on-errorfor "ffmpeg not installed" - Set
webpage_url_...fromwebpage_urland not input URL - Tolerate failure to
--write-linkdue to unknown URL - [aria2c] Add
--http-accept-gzip=true - [build] Update pyinstaller to 4.10 by shirt
- [cookies] Update MacOS12
Cookies.binarycookieslocation by mdpauley - [devscripts] Improve
prepare_manpage - [downloader] Do not use aria2c for non-native
m3u8 - [downloader] Obey
--file-access-retrieswhen deleting/renaming by ehoogeveen-medweb - [extractor] Allow
http_headersto be specified forthumbnails - [extractor] Extract subtitles from manifests for vimeo, globo, kaltura, svt by fstirlitz
- [extractor] Fix for manifests without period duration by dirkf, pukkandan
- [extractor] Support
--mark-watchedwithout_NETRC_MACHINEby coletdjnz - [FFmpegConcat] Abort on
--simulate - [FormatSort] Consider
acodec=oggasvorbis - [fragment] Fix bugs around resuming with Range by Lesmiscore
- [fragment] Improve
--live-from-startfor YouTube livestreams by Lesmiscore - [generic] Pass referer to extracted formats
- [generic] Set rss
guidas video id by Bricio - [options] Better ambiguous option resolution
- [options] Rename
--clean-infojsonto--clean-info-json - [SponsorBlock] Fixes for highlight and "full video labels" by nihil-admirari
- [Sponsorblock] minor fixes by nihil-admirari
- [utils] Better traceback for
ExtractorError - [utils] Fix file locking for AOSP by jakeogh
- [utils] Improve file locking
- [utils] OnDemandPagedList: Do not download pages after error
- [utils] render_table: Fix character calculation for removing extra gap by Lesmiscore
- [utils] Use
locked_fileforsanitize_openby jakeogh - [utils] Validate
DateRangeinput - [utils] WebSockets wrapper for non-async functions by Lesmiscore
- [cleanup] Don't pass protocol to
_extract_m3u8_formatsfor live videos - [cleanup] Remove extractors for some dead websites by marieell
- [cleanup, docs] Misc cleanup
- [AbemaTV] Add extractors by Lesmiscore
- [adobepass] Add Suddenlink MSO by CplPwnies
- [ant1newsgr] Add extractor by zmousm
- [bigo] Add extractor by Lesmiscore
- [Caltrans] Add extractor by Bricio
- [daystar] Add extractor by hatienl0i261299
- [fc2:live] Add extractor by Lesmiscore
- [fptplay] Add extractor by hatienl0i261299
- [murrtube] Add extractor by cyberfox1691
- [nfb] Add extractor by ofkz
- [niconico] Add playlist extractors and refactor by Lesmiscore
- [peekvids] Add extractor by schn0sch
- [piapro] Add extractor by pycabbage, Lesmiscore
- [rokfin] Add extractor by P-reducible, pukkandan
- [rokfin] Add stack and channel extractors by P-reducible, pukkandan
- [ruv.is] Add extractor by iw0nderhow
- [telegram] Add extractor by hatienl0i261299
- [VideocampusSachsen] Add extractors by FestplattenSchnitzel
- [xinpianchang] Add extractor by hatienl0i261299
- [abc] Support 1080p by Ronnnny
- [afreecatv] Support password-protected livestreams by wlritchi
- [ard] Fix valid URL
- [ATVAt] Detect geo-restriction by marieell
- [bandcamp] Detect acodec
- [bandcamp] Fix user URLs by lyz-code
- [bbc] Fix extraction of news articles by ajj8
- [beeg] Fix extractor by Bricio
- [bigo] Fix extractor to not to use
form_params - [Bilibili] Pass referer for all formats by blackgear
- [Biqle] Fix extractor by Bricio
- [ccma] Fix timestamp parsing by nyuszika7h
- [crunchyroll] Better error reporting on login failure by tejing1
- [cspan] Support of C-Span congress videos by Grabien
- [dropbox] fix regex by zenerdi0de
- [fc2] Fix extraction by Lesmiscore
- [fujitv] Extract resolution for free sources by YuenSzeHong
- [Gettr] Add
GettrStreamingIEby i6t - [Gettr] Fix formats order by i6t
- [Gettr] Improve extractor by i6t
- [globo] Expand valid URL by Bricio
- [lbry] Fix
--ignore-no-formats-error - [manyvids] Extract
uploaderby regarten - [mildom] Fix linter
- [mildom] Rework extractors by Lesmiscore
- [mirrativ] Cleanup extractor code by Lesmiscore
- [nhk] Add support for NHK for School by Lesmiscore
- [niconico:tag] Add support for searching tags
- [nrk] Add fallback API
- [peekvids] Use JSON-LD by schn0sch
- [peertube] Add media.fsfe.org by mxmehl
- [rtvs] Fix extractor by Bricio
- [spiegel] Fix
_VALID_URL - [ThumbnailsConvertor] Support
webp - [tiktok] Fix
vm.tiktok/vt.tiktokURLs - [tubitv] Fix/improve TV series extraction by bbepis
- [tumblr] Fix extractor by foghawk
- [twitcasting] Add fallback for finding running live by Lesmiscore
- [TwitCasting] Check for password protection by Lesmiscore
- [twitcasting] Fix extraction by Lesmiscore
- [twitch] Fix field name of
view_count - [twitter] Fix for private videos by iphoting
- [washingtonpost] Fix extractor by Bricio
- [youtube:tab] Add
approximate_dateextractor-arg - [youtube:tab] Follow redirect to regional channel by coletdjnz
- [youtube:tab] Reject webpage data if redirected to home page
- [youtube] De-prioritize potentially damaged formats
- [youtube] Differentiate descriptive audio by language code
- [youtube] Ensure subtitle urls are absolute by coletdjnz
- [youtube] Escape possible
$in_extract_n_function_nameregex by Lesmiscore - [youtube] Fix automatic captions
- [youtube] Fix n-sig extraction for phone player JS by MinePlayersPE
- [youtube] Further de-prioritize 3gp format
- [youtube] Label original auto-subs
- [youtube] Prefer UTC upload date for videos by coletdjnz
- [zaq1] Remove dead extractor by marieell
- [zee5] Support web-series by Aniruddh-J
- [zingmp3] Fix extractor by hatienl0i261299
- [zoom] Add support for screen cast by Mipsters
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
websocketsmodule non-fatal
2022.02.03
- Merge youtube-dl: Upto commit/78ce962
- Add option
--print-to-file - Make nested --config-locations relative to parent file
- Ensure
_typeis present ininfo.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 convenience function
_yes_playlist - [extractor] Allow non-fatal
titleextraction - [extractor] Extract video inside
Articlejson_ld - [generic] Allow further processing of json_ld URL
- [cookies] Fix keyring selection for unsupported desktops
- [utils] Strip double spaces in
clean_htmlby 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 - [archive.org] 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
- [iq.com] 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
2022.01.21
- Add option
--concat-playlistto concat videos in a playlist - Allow multiple and nested configuration files
- Add more post-processing stages (
after_video,playlist) - Allow
--execto be run at any post-processing stage (Deprecates--exec-before-download) - Allow
--printto be run at any post-processing stage - Allow listing formats, thumbnails, subtitles using
--printby pukkandan, Zirro - Add fields
video_autonumber,modified_date,modified_timestamp,playlist_count,channel_follower_count - Add key
requested_downloadsin the rootinfo_dict - Write
download_archiveonly after all formats are downloaded - [FfmpegMetadata] Allow setting metadata of individual streams using
meta<n>_prefix - Add option
--legacy-server-connectby 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
Noneinsanitize_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
Dand fix suffix's case - [utils] Add
Sec-Fetch-Modetostd_headers - [utils] Fix
format_bytesoutput for Bytes by pukkandan, mdawar - [utils] Handle
ss:xxxinparse_duration - [utils] Improve parsing for nested HTML elements by zmousm, pukkandan
- [utils] Use key
Noneintraverse_objto 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_resultand 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
- [iq.com] 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
httpfor 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
tv.line.meby sian1468 - [mixch] Add
MixchArchiveIEby 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
clipURLs - [vk] Fix VKUserVideosIE by Ashish0804
- [vk] Improve
_VALID_URLby 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_datefor 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
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_keyused in archive - [youtube] End
live-from-startproperly when stream ends with 403 - [Zee5] Fix VALID_URL for tv-shows by Ashish0804
2021.12.25
- [dash,youtube] Download live from start to end by nao20010128nao, pukkandan
- Add option
--live-from-startto enable downloading live videos from start - Add key
is_from_startin formats to identify formats (of live videos) that downloads from start - [dash] Create protocol
http_dash_segments_generatorthat 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
FFmpegFixupDuplicateMoovPPto fixup duplicated moov atoms - Known issues:
- Ctrl+C doesn't work on Windows when downloading multiple formats
- If video becomes private, download hangs
- Add option
- [SponsorBlock] Add
FillerandHighlightcategories by nihil-admirari, pukkandan- Change
--sponsorblock-cut allto--sponsorblock-cut defaultif you do not want filler sections to be removed
- Change
- Add field
webpage_url_domain - Add interactive format selection with
-f - - Add option
--file-access-retriesby ehoogeveen-medweb - [outtmpl] Add alternate forms
S,Dand improveiddetection - [outtmpl] Add operator
&for replacement text by PilzAdam - [EmbedSubtitle] Disable duration check temporarily
- [extractor] Add
_search_nuxt_databy nao20010128nao - [extractor] Ignore errors in comment extraction when
-iis 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
YYYYMMDDdates in Nov/Dec by wlritchi - [utils] Improve
parse_count - [utils] Update
std_headersby kikuyan, fstirlitz - [lazy_extractors] Fix for search IEs
- [extractor] Support default implicit graph in JSON-LD by zmousm
- Allow
--no-write-thumbnailto 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_durationfor--wait-for-videoand some minor fix - [test/download] Add more fields
- [test/download] Ignore field
webpage_url_domainby 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
RTVEAudioIEby 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
discoveryplus.com/it - [DiscoveryPlusShowBaseIE] yield actual video id by Ashish0804
- [Facebook] Handle redirect URLs
- [fujitv] Extract 1080p from
tv_androidm3u8 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_REby 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
- [ok.ru] add mobile fallback by nao20010128nao
- [olympics] Add uploader and cleanup by u-spec-png
- [ondemandkorea] Update
jw_configregex 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
2021.12.01
- Add option
--wait-for-videoto wait for scheduled streams - Add option
--break-per-inputto apply --break-on... to each input URL - Add option
--embed-info-jsonto 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_dispatchfor 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
wavandvorbis - [ExtractAudio] Support
alac - [extractor] Extract
average_ratingfrom 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_tableand 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-archivewhen pre-checking - Fix
--check-formatsformhtml - Fix
--load-info-jsonof playlists with failed entries - Fix
--trim-filenamewhen filename has. - Fix bug in parsing
--add-header - Fix error in
report_unplayable_conflictby 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
DiscoveryPlusItalyShowIEby Ashish0804 - [ESPNCricInfo] Add extractor by Ashish0804
- [LinkedIn] Add extractor by u-spec-png
- [mixch] Add extractor by nao20010128nao
- [nebula] Add
NebulaCollectionIEand rewrite extractor by hheimbuerger - [OneFootball] Add extractor by Ashish0804
- [peer.tv] 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
- [Senate.gov] Add SenateGovIE and fix SenateISVPIE by Grabien, pukkandan
- [soundcloud:search] Fix pagination
- [tiktok:user] Set
webpage_urlcorrectly - [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
defaultplayer 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] Refactor
JSInterpreter._seperate - [Cleanup] Remove some unnecessary groups in regexes by Ashish0804
- [cleanup] Misc cleanup
2021.11.10.1
- Temporarily disable MacOS Build
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
- [extractor] Add
- Separate
--check-all-formatsfrom--check-formats - Approximate filesize from bitrate
- Don't create console in
windows_enable_vt_mode - Fix bug in
--load-infojsonof playlists - [minicurses] Add colors to
-Fand standardize color-printing code - [outtmpl] Add type
linkfor internet shortcut files - [outtmpl] Add alternate forms for
qandj - [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-qualitycorrectly by CrypticSignal, pukkandan - [ExtractAudio] Use
libfdk_aacif available by CrypticSignal - [FormatSort]
eac3is better thanac3 - [FormatSort] Fix some fields' defaults
- [generic] Detect more json_ld
- [generic] parse jwplayer with only the json URL
- [extractor] Add keyword automatically to SearchIE descriptions
- [extractor] Fix some errors being converted to
ExtractorError - [utils] Add
join_nonempty - [utils] Add
jwt_decode_hs256by Ashish0804 - [utils] Create
DownloadCancelledexception - [utils] Parse
vp09as vp9 - [utils] Sanitize URL when determining protocol
- [test/download] Fallback test to
bv - [docs] Minor documentation improvements
- [cleanup] Improvements to error and debug messages
- [cleanup] Minor fixes and cleanup
- [3speak] Add extractors by Ashish0804
- [AmazonStore] Add extractor by Ashish0804
- [Gab] Add extractor by u-spec-png
- [mediaset] Add playlist support by nixxo
- [MLSScoccer] Add extractor by Ashish0804
- [N1] Add support for nova.rs by u-spec-png
- [PlanetMarathi] Add extractor by Ashish0804
- [RaiplayRadio] Add extractors by frafra
- [roosterteeth] Add series extractor
- [sky] Add
SkyNewsStoryIEby ajj8 - [youtube] Fix sorting for some videos
- [youtube] Populate
thumbnailwith 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
languageandhardsub - [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
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_EXTRACTORSto forcefully disable this (experimental)
- Set env var
- Clean up error reporting in update
- Refactor
pyinst.py, misc cleanup and improve docs
- [docs] Migrate issues to use forms by Ashish0804
- [downloader] Fix slow progress hooks
- This was causing HLS/DASH downloads to be extremely slow in some situations
- [downloader/ffmpeg] Improve simultaneous download and merge
- [EmbedMetadata] Allow overwriting all default metadata with
meta_defaultkey - [ModifyChapters] Add ability for
--remove-chaptersto remove sections by timestamp - [utils] Allow duration strings in
--match-filter - Add HDR information to formats
- Add negative option
--no-batch-fileby Zirro - Calculate more fields for merged formats
- Do not verify thumbnail URLs unless
--check-formatsis specified - Don't create console for subprocesses on Windows
- Fix
--restrict-filenamewhen used with default template - Fix
check_formatsoutput 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_stringandresolutionavailable 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-KEYApple FairPlay - [utils] Use
importlibto 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-retriesandsleep-requests - [Merger] Do not add
aac_adtstoascto 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
- [crunchyroll] Add support for
beta.crunchyrollURLs 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_idby 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
getcommentsimplementation for extractors - [cleanup] Simplify search extractors code
- [cleanup] misc
2021.10.10
- [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
2021.10.09
- Improved progress reporting
- Separate
--console-titleand--no-progress - Add option
--progressto show progress-bar even in quiet mode - Fix and refactor
minicursesand use it for all progress reporting - Standardize use of terminal sequences and enable color support for windows 10
- Add option
--progress-templateto customize progress-bar and console-title - Add postprocessor hooks and progress reporting
- Separate
- [postprocessor] Add plugin support with option
--use-postprocessor - [extractor] Extract storyboards from SMIL manifests by fstirlitz
- [outtmpl] Alternate form of format type
lfor\ndelimited list - [outtmpl] Format type
Ufor unicode normalization - [outtmpl] Allow empty output template to skip a type of file
- Merge webm formats into mkv if thumbnails are to be embedded
- [adobepass] Add RCN as MSO by jfogelman
- [ciscowebex] Add extractor by damianoamatruda
- [Gettr] Add extractor by i6t
- [GoPro] Add extractor by i6t
- [N1] Add extractor by u-spec-png
- [Theta] Add video extractor by alerikaisattera
- [Veo] Add extractor by i6t
- [Vupload] Add extractor by u-spec-png
- [bbc] Extract better quality videos by ajj8
- [Bilibili] Add subtitle converter by u-spec-png
- [CBC] Cleanup tests by makeworld-the-better-one
- [Douyin] Rewrite extractor by MinePlayersPE
- [Funimation] Fix for /v/ urls by pukkandan, Jules-A
- [Funimation] Sort formats according to the relevant extractor-args
- [Hidive] Fix duplicate and incorrect formats
- [HotStarSeries] Fix cookies by Ashish0804
- [LinkedInLearning] Add subtitles by Ashish0804
- [Mediaite] Relax valid url by coletdjnz
- [Newgrounds] Add age_limit and fix duration by u-spec-png
- [Newgrounds] Fix view count on songs by u-spec-png
- [parliamentlive.tv] Fix extractor by u-spec-png
- [PolskieRadio] Fix extractors by jakubadamw, u-spec-png
- [reddit] Add embedded url by u-spec-png
- [reddit] Fix 429 by generating a random
reddit_sessionby 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-playlistwhen neither IE nor id is known - Fix
-f mp4behaving 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
2021.09.25
- Add new option
--netrc-location - [outtmpl] Allow alternate fields using
, - [outtmpl] Add format type
Bto treat the value as bytes (eg: to limit the filename to a certain number of bytes) - Separate the options
--ignore-errorsand--no-abort-on-error - Basic framework for simultaneous download of multiple formats by nao20010128nao
- [17live] Add 17.live extractor by nao20010128nao
- [bilibili] Add BiliIntlIE and BiliIntlSeriesIE by Ashish0804
- [CAM4] Add extractor by alerikaisattera
- [Chingari] Add extractors by Ashish0804
- [CGTN] Add extractor by chao813
- [damtomo] Add extractor by nao20010128nao
- [gotostage] Add extractor by poschi3
- [Koo] Add extractor by Ashish0804
- [Mediaite] Add Extractor by Ashish0804
- [Mediaklikk] Add Extractor by tmarki, mrx23dot, coletdjnz
- [MuseScore] Add Extractor by Ashish0804
- [Newgrounds] Add NewgroundsUserIE and improve extractor by u-spec-png
- [nzherald] Add NZHeraldIE by coletdjnz
- [Olympics] Add replay extractor by Ashish0804
- [Peertube] Add channel and playlist extractors by u-spec-png
- [radlive] Add extractor by nyuszika7h
- [SovietsCloset] Add extractor by ChillingPepper
- [Streamanity] Add Extractor by alerikaisattera
- [Theta] Add extractor by alerikaisattera
- [Yandex] Add ZenYandexIE and ZenYandexChannelIE by Ashish0804
- [9Now] handle episodes of series by dalanmiller
- [AnimalPlanet] Fix extractor by Sipherdrakon
- [Arte] Improve description extraction by renalid
- [atv.at] Use jwt for API by NeroBurner
- [brightcove] Extract subtitles from manifests
- [CBC] Fix CBC Gem extractors by makeworld-the-better-one
- [cbs] Report appropriate error for DRM
- [comedycentral] Support
collection-playlistby nixxo - [DIYNetwork] Support new format by Sipherdrakon
- [downloader/niconico] Pass custom headers by nao20010128nao
- [dw] Fix extractor
- [Fancode] Fix live streams by zenerdi0de
- [funimation] Fix for locations outside US by Jules-A, pukkandan
- [globo] Fix GloboIE by Ashish0804
- [HiDive] Fix extractor by Ashish0804
- [Hotstar] Add referer for subs by Ashish0804
- [itv] Fix extractor, add subtitles and thumbnails by coletdjnz, sleaux-meaux, Vangelis66
- [lbry] Show error message from API response
- [Mxplayer] Use mobile API by Ashish0804
- [NDR] Rewrite NDRIE by Ashish0804
- [Nuvid] Fix extractor by u-spec-png
- [Oreilly] Handle new web url by MKSherbini
- [pbs] Fix subtitle extraction by coletdjnz, gesa, raphaeldore
- [peertube] Update instances by u-spec-png
- [plutotv] Fix extractor for URLs with
/en - [reddit] Workaround for 429 by redirecting to old.reddit.com
- [redtube] Fix exts
- [soundcloud] Make playlist extraction lazy
- [soundcloud] Retry playlist pages on
502error 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-watchedwith--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-archiveto work with--flat-playlist - Download subtitles in order of
--sub-langs - Allow
0in--playlist-items - Handle more playlist errors with
-i - Fix
--no-get-comments - Fix
extra_infobeing reused across runs - Fix compat options
no-direct-mergeandplaylist-index - Dump files should obey
--trim-filenameby sulyi - [aes] Add
aes_gcm_decrypt_and_verifyby 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_adtstoascwhen merging if needed - [fragment,aria2c] Generalize and refactor some code
- [fragment] Avoid repeated request for AES key
- [fragment] Fix range header when using
-Nand media sequence by shirt - [hls,aes] Fallback to native implementation for AES-CBC and detect
Cryptodomein addition toCrypto - [hls] Byterange + AES128 is supported by native downloader
- [ModifyChapters] Improve sponsor chapter merge algorithm by nihil-admirari
- [ModifyChapters] Minor fixes
- [WebVTT] Adjust parser to accommodate PBS subtitles
- [utils] Improve
extract_timezoneby dirkf - [options] Fix
--no-configand 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
--onedirzip for windows - [cleanup,docs] Add deprecation warning in docs for some counter intuitive behaviour
- [cleanup] Fix line endings for
nebula.pyby glenn-slayden - [cleanup] Improve
make clean-testby sulyi - [cleanup] Misc
2021.09.02
- Native SponsorBlock implementation by nihil-admirari, pukkandan
--sponsorblock-remove CATSremoves specified chapters from file--sponsorblock-mark CATSmarks the specified sponsor sections as chapters--sponsorblock-chapter-title TMPLto specify sponsor chapter template--sponsorblock-api URLto use a different API- No re-encoding is done unless
--force-keyframes-at-cutsis 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-chaptersfrom--embed-metadata(it still implies the former by default) - Add option
--remove-chaptersto remove arbitrary chapters by nihil-admirari, pukkandan - Add option
--force-keyframes-at-cutsfor more accurate cuts when removing and splitting chapters by nihil-admirari - Let
--match-filterreject entries early- Makes redundant:
--match-title,--reject-title,--min-views,--max-views
- Makes redundant:
- [lazy_extractor] Improvements (It now passes all tests)
- Bugfix for when plugin directory doesn't exist by kidonng
- Create instance only after pre-checking archive
- Import actual class if an attribute is accessed
- Fix
suitableand 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 - [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
HungamaSongIEand addHungamaAlbumPlaylistIEby Ashish0804 - [ManotoTV] Add new extractors by tandy1000
- [Niconico] Add Search extractors by animelover1984, pukkandan
- [Patreon] Add
PatreonUserIEby zenerdi0de - [peloton] Add extractor by IONECarter, capntrips, pukkandan
- [ProjectVeritas] Add extractor by Ashish0804
- [radiko] Add extractors by nao20010128nao
- [StarTV] Add extractor for
startv.com.trby mrfade, coletdjnz - [tiktok] Add
TikTokUserIEby Ashish0804, pukkandan - [Tokentube] Add extractor by u-spec-png
- [TV2Hu] Fix
TV2HuIEand addTV2HuSeriesIEby Ashish0804 - [voicy] Add extractor by nao20010128nao
- [adobepass] Fix Verizon SAML login by nyuszika7h, ParadoxGBB
- [afreecatv] Fix adult VODs by wlritchi
- [afreecatv] Tolerate failure to parse date string by wlritchi
- [aljazeera] Fix extractor by MinePlayersPE
- [ATV.at] Fix extractor for ATV.at by NeroBurner, coletdjnz
- [bitchute] Fix test by mahanstreamer
- [camtube] Remove obsolete extractor by alerikaisattera
- [CDA] Add more formats by u-spec-png
- [eroprofile] Fix page skipping in albums by jhwgh1968
- [facebook] Fix format sorting
- [facebook] Fix metadata extraction by kikuyan
- [facebook] Update onion URL by Derkades
- [HearThisAtIE] Fix extractor by Ashish0804
- [instagram] Add referrer to prevent throttling by u-spec-png, kikuyan
- [iwara.tv] Extract more metadata by BunnyHelp
- [iwara] Add thumbnail by i6t
- [kakao] Fix extractor
- [mediaset] Fix extraction for some videos by nyuszika7h
- [Motherless] Fix extractor by coletdjnz
- [Nova] fix extractor by std-move
- [ParamountPlus] Fix geo verification by shirt
- [peertube] handle new video URL format by Chocobozzz
- [pornhub] Separate and fix playlist extractor by mzbaulhaque
- [reddit] Fix for quarantined subreddits by ouwou
- [ShemarooMe] Fix extractor by Ashish0804
- [soundcloud] Refetch
client_idon 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_idby octotherp - [youtube] Add
shortsto_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-annotationsby coletdjnz - [Zee5] Fix extractor and add subtitles by Ashish0804
- [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-overwriteswhen using-k - Fix
--no-prefer-free-formatsby CeruleanSky - Fix
-Ffor extractors that directly return url - Fix
-Jwhen there are failed videos - Fix
extra_infobeing reused across runs - Fix
playlist_indexnot obeyingplaylist_startand add tests - Fix resuming of single formats when using
--no-part - Revert erroneous use of the
Content-Lengthheader by fstirlitz - Use
os.replacewhere applicable by; paulwrubel - [build] Add homebrew taps
yt-dlp/taps/yt-dlpby 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
2021.08.10
- Add option
--replace-in-metadata - Add option
--no-simulateto not simulate even when--printor--list...are used - Deprecates--print-json - Allow entire infodict to be printed using
%()s- makes--dump-jsonredundant - Allow multiple
--execand--exec-before-download - Add regex to
--match-filter - Add all format filtering operators also to
--match-filterby max-te - Add compat-option
no-keep-subs - [adobepass] Add MSO Cablevision by Jessecar96
- [BandCamp] Add BandcampMusicIE by Ashish0804
- [blackboardcollaborate] Add new extractor by mzbaulhaque
- [eroprofile] Add album downloader by jhwgh1968
- [mirrativ] Add extractors by nao20010128nao
- [openrec] Add extractors by nao20010128nao
- [nbcolympics:stream] Fix extractor by nchilada, pukkandan
- [nbcolympics] Update extractor for 2020 olympics by wesnm
- [paramountplus] Separate extractor and fix some titles by shirt, pukkandan
- [RCTIPlus] Support events and TV by MinePlayersPE
- [Newgrounds] Improve extractor and fix playlist by u-spec-png
- [aenetworks] Update
_THEPLATFORM_KEYand_THEPLATFORM_SECRETby 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_idby 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-dashto 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_filecloses file handle on error - Fix
--compat-options filenameby stdedos - Fix issues with infodict sanitization
- Fix resuming when using
--no-part - Fix wrong extension for intermediate files
- Handle
BrokenPipeErrorby kikuyan - Show libraries present in verbose head
- [extractor] Detect
sttpas subtitles in MPD by fstirlitz - [extractor] Reset non-repeating warnings per video
- [ffmpeg] Fix streaming
mp4tostdout - [ffpmeg] Allow
--ffmpeg-locationto be a file with different name - [utils] Fix
InAdvancePagedList.__getitem__ - [utils] Fix
traverse_objdepth whenis_user_input - [webvtt] Merge daisy-chained duplicate cues by fstirlitz
- [build] Use custom build of
pyinstallerby shirt - [tests:download] Add batch testing for extractors (
test_YourExtractor_all) - [docs] Document which fields
--add-metadataadds to the file - [docs] Fix some mistakes and improve doc
- [cleanup] Misc code cleanup
2021.08.02
- Add logo, banner and donate links
- [outtmpl] Expand and escape environment variables
- [outtmpl] Add format types
j(json),l(comma delimited list),q(quoted for terminal) - [downloader] Allow streaming some unmerged formats to stdout using ffmpeg
- [youtube] Age-gate bypass
- Add
agegateclients by pukkandan, MinePlayersPE - Add
thirdPartyto agegate clients to bypass more videos - Simplify client definitions, expose
embeddedclients - Improve age-gate detection by coletdjnz
- Fix default global API key by coletdjnz
- Add
creatorclients for age-gate bypass using unverified accounts by zerodytrash, coletdjnz, pukkandan
- Add
- [adobepass] Add MSO Sling TV by wesnm
- [CBS] Add ParamountPlusSeriesIE by Ashish0804
- [dplay] Add
ScienceChannelIEby Sipherdrakon - [UtreonIE] Add extractor by Ashish0804
- [youtube] Add
mwebclient by coletdjnz - [youtube] Add
player_client=all - [youtube] Force
hl=enfor 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
asrappearing 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
2021.07.24
- [youtube:tab] Extract video duration early
- [downloader] Pass
info_dicttoprogress_hooks - [youtube] Fix age-gated videos for API clients when cookies are supplied by coletdjnz
- [youtube] Disable
get_video_infoage-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
sqliteImportErrorgracefully by mbway - [cookies] Handle errors when importing
keyring
2021.07.21
- Add option
--cookies-from-browserto 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,
keyringis needed for UNIX andpycryptodomefor Windows
- Usage:
- Add option
--exec-before-download - Add field
live_status - [FFmpegMetadata] Add language of each stream and some refactoring
- [douyin] Add extractor by pukkandan, pyx
- [pornflip] Add extractor by mzbaulhaque
- [youtube] Extract data from multiple clients by pukkandan, coletdjnz
player_clientnow accepts multiple clients- Default
player_client=android,web- This uses twice as many requests, but avoids throttling for most videos while also not losing any formats
- Music clients can be specifically requested and is enabled by default if
music.youtube.com - Added
player_client=ios(Known issue: formats from ios are not sorted correctly) - Add age-gate bypass for android and ios clients
- [youtube] Extract more thumbnails
- The thumbnail URLs are hard-coded and their actual existence is tested lazily
- Added option
--no-check-formatsto 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 coletdjnz
- Fix controversial videos when requested via API by coletdjnz
- Fix session index extraction and headers for non-web player clients by coletdjnz
- Make
--extractor-retrieswork for more errors - Fix sorting of 3gp format
- Sanity check
chapters(and refactor related code) - Make
parse_time_textand_extract_chaptersnon-fatal - Misc cleanup and bug fixes by coletdjnz
- [youtube:tab] Fix channels tab
- [youtube:tab] Extract playlist availability by coletdjnz
- [youtube:comments] Move comment extraction to new API by coletdjnz
- Adds extractor-args
comment_sort(top/new),max_comments,max_comment_depth
- Adds extractor-args
- [youtube:comments] Fix
is_favorited, improvelike_countparsing by coletdjnz - [BravoTV] Improve metadata extraction by kevinoconnor7
- [crunchyroll:playlist] Force http
- [yahoo:gyao:player] Relax
_VALID_URLby 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_typestovikichannelby 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,mergealland add tests - Errors in playlist extraction should obey
--ignore-errors - Fix bug where
original_urlwas not propagated when_type=url - Revert "Merge webm formats into mkv if thumbnails are to be embedded (#173)"
- This was wrongly checking for
write_thumbnail
- This was wrongly checking for
- Improve
extractor_argsparsing - Rename
NOTEin-FtoMORE INFOsince it's often confused to be the same asformat_note - Add
only_onceparam forwrite_debugandreport_warning - [extractor] Allow extracting multiple groups in
_search_regexby fstirlitz - [utils] Improve
traverse_obj - [utils] Add
variadic - [utils] Improve
js_to_jsoncomment regex by fstirlitz - [webtt] Fix timestamps
- [compat] Remove unnecessary code
- [docs] fix default of multistreams
2021.07.07
- Merge youtube-dl: Upto commit/a803582
- Add
--extractor-argsto pass some extractor-specific arguments. See readme- Add extractor option
skipforyoutube. Eg:--extractor-args youtube:skip=hls,dash - Deprecates
--youtube-skip-dash-manifest,--youtube-skip-hls-manifest,--youtube-include-dash-manifest,--youtube-include-hls-manifest
- Add extractor option
- Allow
--list...options to work with--print,--quietand other--list...options - [youtube] Use
playerAPI for additional video extraction requests by coletdjnz- Fixes youtube premium music (format 141) extraction
- Adds extractor option
player_client=web/android--extractor-args youtube:player_client=androidworks 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
itctto params by coletdjnz - [youtube_live_chat] Fix download with cookies by siikamiika
- [youtube_live_chat] use
clickTrackingParamsby siikamiika - [Funimation] Rewrite extractor
- Add
FunimationShowIEby Mevious - Treat the different versions of an episode as different formats of a single video
- This changes the video
idand will break break existing archives - Compat option
seperate-video-versionsto fall back to old behavior including using the old video ids
- This changes the video
- Support direct
/player/URL - Extractor options
languageandversionto 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
-ffilters instead
- Add
- [AdobePass] Add Spectrum MSO by kevinoconnor7, ohmybahgosh
- [facebook] Extract description and fix title
- [fancode] Fix extraction, support live and allow login with refresh token by zenerdi0de
- [plutotv] Improve
_VALID_URL - [RCTIPlus] Add extractor by MinePlayersPE
- [Soundcloud] Allow login using oauth token by blackjack4494
- [TBS] Support livestreams by llacb47
- [videa] Fix extraction by nyuszika7h
- [yahoo] Fix extraction by llacb47, pukkandan
- Process videos when using
--ignore-no-formats-errorby krichbanana - Fix
--throttled-ratewhen using--load-info-json - Fix
--flat-playlistwhen entry has noie_key - Fix
check_formatscatchingExtractorErrorinstead ofDownloadError - Fix deprecated option
--list-formats-old - [downloader/ffmpeg] Fix
--ppawhen 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
jpegasjpg - [utils] Fix issues with
LazyListreversal - [extractor] Allow extractors to set their own login hint
- [cleanup] Simplify format selector code with
LazyListandyield from - [cleanup] Clean
extractor.common._merge_subtitlessignature - [cleanup] Fix some typos
2021.06.23
- Merge youtube-dl: Upto commit/379f52a
- Add option
--throttled-ratebelow which video data is re-extracted - [fragment] Merge during download for
-N, and refactorhls/dash - [websockets] Add
WebSocketFragmentFDby nao20010128nao, pukkandan - Allow
imagesformats 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 coletdjnz
- [youtube] Login is not needed for
:ytrec - [youtube] Non-fatal alert reporting for unavailable videos page by coletdjnz
- [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-formatsto thumbnails - Fix id sanitization in filenames
- Skip fixup of existing files and add
--fixup forceto force it - Better error handling of syntax errors in
-f - Use
NamedTemporaryFilefor--check-formats - [aria2c] Lower
--min-split-sizefor HTTP downloads - [options] Rename
--add-metadatato--embed-metadata - [utils] Improve
LazyListand add tests - [build] Build Windows x86 version with py3.7 and remove redundant tests by pukkandan, shirt
- [docs] Clarify that
--embed-metadataembeds chapter markers - [cleanup] Refactor fixup
2021.06.09
- Fix bug where
%(field)din filename template throws error - [outtmpl] Improve offset parsing
- [test] More rigorous tests for
prepare_filename
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 ytdl-org/youtube-dl@59e583f
- [youtube] Support shorts URL
- [zoom] Extract transcripts as subtitles
- Add field
original_urlwith the user-inputted URL - Fix and refactor
prepare_outtmpl - Make more fields available for
--printwhen used with--flat-playlist - [utils] Generalize
traverse_dicttotraverse_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 similar 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
python3by fstirlitz - [cleanup] Remove duplicate file
trovolive.py
2021.06.01
- Merge youtube-dl: Upto commit/d495292
- Pre-check archive and filters during playlist extraction
- Handle Basic Auth
user:passin URLs by hhirtz and pukkandan - [archiveorg] Add YoutubeWebArchiveIE by coletdjnz and alex-gedeon
- [fancode] Add extractor by rhsmachine
- [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
pngand make it the default by louie-github - [VideoConvertor] Generalize with remuxer and allow conditional recoding
- [EmbedThumbnail] Embed in
mp4/m4ausing 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_playlistby creatingLazyList - Write messages to
stderrwhen bothquietandverbose - Sanitize and sort playlist thumbnails
- Remove
Nonevalues frominfo.json - [extractor] Always prefer native hls downloader by default
- [extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
- [extractor] Functions to parse
socket.ioresponse asjsonby pukkandan and llacb47 - [extractor] Allow
note=Falsewhen extracting manifests - [utils] Escape URLs in
sanitized_Request, notsanitize_url - [hls] Disable external downloader for
webtt - [youtube]
/liveURLs should raise error if channel is not live - [youtube] Bug fixes
- [zee5] Fix m3u8 formats' extension
- [ard] Allow URLs without
-before id by olifre - [cleanup]
YoutubeDL._match_entry - [cleanup] Refactor updater
- [cleanup] Refactor ffmpeg convertors
- [cleanup] setup.py
2021.05.20
- Youtube improvements:
- Support youtube music
MP,VLandbrowsepages - Extract more formats for youtube music by craftingmod, coletdjnz and pukkandan
- Extract multiple subtitles in same language by pukkandan and tpikonen
- Redirect channels that doesn't have a
videostab to theirUUplaylists - Support in-channel search
- Sort audio-only formats correctly
- Always extract
maxresdefaultthumbnail - Extract audio language
- Add subtitle language names by nixxo and tpikonen
- Show alerts only from the final webpage
- Add
html5=1param toget_video_infopage requests by coletdjnz - Better message when login required
- Support youtube music
- Add option
--print: to print any field/template- Makes redundant:
--get-description,--get-duration,--get-filename,--get-format,--get-id,--get-thumbnail,--get-title,--get-url
- Makes redundant:
- Field
additional_urlsto download additional videos from metadata using--parse-metadata - Merge youtube-dl: Upto commit/dfbbe29
- Write thumbnail of playlist and add
pl_thumbnailouttmpl key - [embedthumbnail] Add
flacsupport and refactormutagencode 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
namefor subtitles - Ensure
post_extractandpre_processonly run once - Fix
--check-formatswhen there is network error - Standardize
write_debugandget_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_optsis not given - [build] Fix x86 build by shirt
- [cleanup] code formatting, youtube tests and readme
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
- Allow slicing lists/strings using
- Merge youtube-dl: Upto commit/a726009
- Remove options
-l,-t,-Acompletely and disable--auto-number,--title,--literal,--id - [Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
- [downloader] Fix
quietandto_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_URLto support movies - [crackle] Improve extraction
- [curiositystream] Fix collections
- [francetvinfo] Improve video id extraction
- [generic] Respect the encoding in manifest
- [limelight] Obey
allow_unplayable_formats - [mediasite] Generalize URL pattern by fstirlitz
- [mxplayer] Add MxplayerShowIE by Ashish0804
- [nebula] Move to nebula.app by Lamieur
- [niconico] Fix HLS formats by CXwudi, tsukumijima, nao20010128nao and pukkandan
- [niconico] Fix title and thumbnail extraction by CXwudi
- [plutotv] Extract subtitles from manifests
- [plutotv] Fix format extraction for some urls
- [rmcdecouverte] Improve
_VALID_URL - [sonyliv] Fix
titleandseriesextraction by Ashish0804 - [tubi] Raise "no video formats" error when video url is empty
- [youtube:tab] Detect playlists inside community posts
- [youtube] Add
oembedto reserved names - [zee5] Fix extraction for some URLs by Hadi0609
- [zee5] Fix py2 compatibility
- Fix
playlist_indexand addplaylist_autonumber. See #302 for details - Add experimental option
--check-formatsto test the URLs before format selection - Option
--compat-optionsto revert some of yt-dlp's changes- Deprecates
--list-formats-as-table,--list-formats-old
- Deprecates
- Fix number of digits in
%(playlist_index)s - Fix case sensitivity of format selector
- Revert "[core] be able to hand over id and title using url_result"
- Do not strip out whitespaces in
-oand-P - Fix
preload_download_archivewriting verbose message tostdout - Move option warnings to
YoutubeDLso that they obey--no-warningsand can output colors - Py2 compatibility for
FileNotFoundError
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
- Objects can be traversed like
- Improve
--sub-langs:- Treat
--sub-langsentries as regex allcan be used to refer to all the subtitles- language codes can be prefixed with
-to exclude it - Deprecates
--all-subs
- Treat
- Add option
--ignore-no-formats-errorto ignore the "no video format" and similar errors - Add option
--skip-playlist-after-errorsto 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 and pukkandan
- [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 and pukkandan
- [youtube:tab] Show unavailable videos in playlists by coletdjnz
- [youtube:tab] Reload with unavailable videos for all playlists
- [youtube] Ignore invalid stretch ratio
- [youtube] Improve channel syncid extraction to support ytcfg by coletdjnz
- [youtube] Standardize API calls for tabs, mixes and search by coletdjnz
- [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
mergeallselects best format when multistreams are disabled - Improve the yt-dlp.sh script by fstirlitz
- [lazy_extractor] Do not load plugins
- [ci] Disable fail-fast
- [docs] Clarify which deprecated options still work
- [docs] Fix typos
2021.04.11
- Add option
--convert-thumbnails(only jpg currently supported) - Format selector
mergeallto download and merge all formats - Pass any field to
--execusing similar syntax to output template - Choose downloader for each protocol using
--downloader PROTO:NAME- Alias
--downloaderfor--external-downloader - Added
nativeas an option for the downloader
- Alias
- Merge youtube-dl: Upto commit/4fb25ff (except vimeo)
- [DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE by Ashish0804
- [NFHSNetwork] Add extractor by llacb47
- [nebula] Add extractor (watchnebula.com) by hheimbuerger
- [nitter] Fix extraction of reply tweets and update instance list by B0pol
- [nitter] Fix thumbnails by B0pol
- [youtube] Fix thumbnail URL
- [youtube] Parse API parameters from initial webpage by coletdjnz
- [youtube] Extract comments' approximate timestamp by coletdjnz
- [youtube] Fix alert extraction
- [bilibili] Fix uploader
- [utils] Add
datetime_from_stranddatetime_add_monthsby coletdjnz - Run some
postprocessorsbefore actual download - Improve argument parsing for
-P,-o,-S - Fix some
m3u8not obeying--allow-unplayable-formats - Fix default of
dynamic_mpd - Deprecate
--all-formats,--include-ads,--hls-prefer-native,--hls-prefer-ffmpeg - [docs] Improvements
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 discoveryplus.in
- [la7] Add podcasts and podcast playlists by nixxo
- [mildom] Update extractor with current proxy by nao20010128nao
- [ard:mediathek] Fix video id extraction
- [generic] Detect Invidious' link element
- [youtube] Show premium state in
availabilityby coletdjnz - [viewsource] Add extractor to handle
view-source: - [sponskrub] Run before embedding thumbnail
- [docs] Improve
--parse-metadatadocumentation
2021.03.24.1
- Revert commit/8562218
2021.03.24
- Merge youtube-dl: Upto 2021.03.25 (commit/8562218)
- 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
2021.03.21
-
Merge youtube-dl: Upto commit/7e79ba7
-
Option
--no-clean-infojsonto 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
qualitybeing ignored -
[splitchapters] Fix for older ffmpeg
-
[sponskrub] Pass proxy to sponskrub
-
Make sure
post_hookgets the final filename -
Recursively remove any private keys from infojson
-
Embed video URL metadata inside
mp4by damianoamatruda and pukkandan -
Merge
webmformats intomkvif 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
-
[docs] Add deprecated options and aliases in readme
-
[docs] 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,unlistedetc in info (availability) by coletdjnz and pukkandan -
[youtube] bugfix for channel playlist extraction
-
[nbc] Improve metadata extraction by 2ShedsJackson
2021.03.15
- Split video by chapters: using option
--split-chapters- The output file of the split files can be set with
-o/-Pusing the prefixchapter: - Additional keys
section_title,section_number,section_start,section_endare available in the output template
- The output file of the split files can be set with
- Parallel fragment downloads by shirt
- Use option
--concurrent-fragments(-N) to set the number of threads (default 1)
- Use option
- Merge youtube-dl: Upto commit/3be0980
- [zee5] Add Show Extractor by Ashish0804 and pukkandan
- [rai] fix drm check nixxo
- [wimtv] Add extractor by nixxo
- [mtv] Add mtv.it and extract series metadata by nixxo
- [pluto.tv] Add extractor by kevinoconnor7
- [youtube] Rewrite comment extraction by coletdjnz
- [embedthumbnail] Set mtime correctly
- Refactor some postprocessor/downloader code by pukkandan and shirt
2021.03.07
- [youtube] Fix history, mixes, community pages and trending by pukkandan and coletdjnz
- [youtube] Fix private feeds/playlists on multi-channel accounts by coletdjnz
- [youtube] Extract alerts from continuation by coletdjnz
- [cbs] Add support for ParamountPlus by shirt
- [mxplayer] Rewrite extractor with show support by pukkandan and Ashish0804
- [gedi] Improvements from youtube-dl by nixxo
- [vimeo] Fix videos with password by teesid
- [lbry] Support
lbry://url by nixxo - [bilibili] Change
Acceptheader 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
- [docs] Include wget/curl/aria2c install instructions for Unix by Ashish0804
- Fix some videos downloading with
m3u8extension - Remove "fixup is ignored" warning when fixup wasn't passed by user
2021.03.03.2
- [build] Fix bug
2021.03.03
- [youtube] Use new browse API for continuation page extraction by coletdjnz 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-retriesare exhausted - Reduce default of
--extractor-retriesto 3 - Fix packaging bugs by hseg
2021.03.01
- Allow specifying path in
--external-downloader - Add option
--sleep-requeststo sleep b/w requests - Add option
--extractor-retriesto retry on known extractor errors - Extract comments only when needed
--get-commentsdoesn't imply--write-info-jsonif-J,-jor--print-jsonare used- Fix
get_executable_pathby 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-mpegtsby 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
2021.02.24
- Moved project to an organization yt-dlp
- Completely changed project name to yt-dlp by Pccode66 and pukkandan
- Also,
youtube-dlcconfig files are no longer loaded
- Also,
- 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 Ashish0804 and pukkandan
- [jwplatform] Add support for
hyland.com - [tennistv] Fix extractor
- [hls] Support media initialization by shirt
- [hls] Added options
--hls-split-discontinuityto better support media discontinuity by shirt - [ffmpeg] Allow passing custom arguments before -i using
--ppa "ffmpeg_i1:ARGS"syntax - Fix
--windows-filenamesremoving/from UNIX paths - [hls] Show warning if pycryptodome is not found
- [docs] Improvements
- Fix documentation of
Extractor Options - Document
allin format selection - Document
playable_in_embedin output templates
- Fix documentation of
2021.02.19
- Merge youtube-dl: Upto commit/cf2dbec (except kakao)
- [viki] Fix extractor
- [niconico] Extract
channelandchannel_idby kurumigi - [youtube] Multiple page support for hashtag URLs
- [youtube] Add more invidious instances
- [youtube] Fix comment extraction when comment text is empty
- Option
--windows-filenamesto force use of windows compatible filenames - [ExtractAudio] Bugfix
- Don't raise
parser.errorwhen exiting for update - [MoveFiles] Fix for when merger can't run
- Changed
--trim-file-nameto--trim-filenamesto be similar to related options - Format Sort improvements:
- Prefer
vp9.2more than othervp9codecs - Remove forced priority of
quality - Remove unnecessary
field_preferenceand misuse ofpreferencefrom extractors
- Prefer
- Build improvements:
- [docs] Better document
--prefer-free-formatsand add--no-prefer-free-format
2021.02.15
- Merge youtube-dl: Upto 2021.02.10 (except archive.org)
- [niconico] Improved extraction and support encrypted/SMILE movies by kurumigi, tsukumijima, 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-formatsto 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-dlpandyoutube-dlcin releases for future-proofing - Change optional dependency to
pycryptodome
- Fix issue with unicode filenames in aria2c by shirt
- Fix
allow_playlist_filesnot being correctly passed through - Fix for empty HTTP head requests by shirt
- Fix
get_executable_pathin UNIX - [sponskrub] Print ffmpeg output and errors to terminal
__real_downloadshould be false when ffmpeg unavailable and no download- Show
exe/zip/sourceand 32/64bit in verbose message
2021.02.09
- 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
- [pyinst.py] 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
- [docs] Crypto is an optional dependency
2021.02.04
- Merge youtube-dl: Upto 2021.02.04.1
- Date/time formatting in output template:
- You can use
strftimeto format date/time fields. Example:%(upload_date>%Y-%m-%d)s
- You can use
- 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
- Separate output templates can be given for the different metadata files by using
- [youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
- New option
--no-write-playlist-metafilesto prevent writing playlist metadata files - [audius] Fix extractor
- [youtube_live_chat] Fix
parse_yt_initial_dataand addfragment_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
qualityhad more priority thanhasvid - [pyinst] Automatically detect python architecture and working directory
- Strip out internal fields such as
_filenamefrom infojson
2021.01.29
- 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 +faststartwhen 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
- Add
- Parse additional metadata: New option
--parse-metadatato extract additional metadata from existing fields- The extracted fields can be used in
--output - Deprecated
--metadata-from-title
- The extracted fields can be used in
- [Audius] Add extractor
- [youtube] Extract playlist description and write it to
.descriptionfile - Detect existing files even when using
recode/remux(extract-audiois 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_debugto not throw error when there is no_downloader - [movefiles] Don't give "cant find" warning when move is unnecessary
- Refactor
update-version,pyinst.pyand related files - [ffmpeg] Document more formats that are supported for remux/recode
2021.01.24
- Merge youtube-dl: Upto 2021.01.24
- Plugin support (documentation)
- Multiple paths: New option
-P/--pathsto give different paths for different types of files- The syntax is
-P "type:path" -P "type:path" - Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
- Additionally, configuration file is taken from home directory or current directory
- The syntax is
- Allow passing different arguments to different external downloaders
- [mildom] Add extractor by nao20010128nao
- Warn when using old style
--external-downloader-argsand--post-processor-args - Fix
--no-overwritewhen using--write-link - [sponskrub] Output
unrecognized argumenterror 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
2021.01.20
- [TrovoLive] Add extractor (only VODs)
- [pokemon] Add
/#/playerURLs - Improved parsing of multiple postprocessor-args, add
--ppaas alias - [EmbedThumbnail] Simplify embedding in mkv
- [sponskrub] Encode filenames correctly, better debug output and error message
- [readme] Cleanup options
2021.01.16
- Merge youtube-dl: Upto 2021.01.16
- Configuration files:
- Portable configuration file:
./yt-dlp.conf - Allow the configuration files to be named
yt-dlpinstead ofyoutube-dlc. See this for details
- Portable configuration file:
- Add PyPI release
2021.01.14
- Added option
--break-on-reject - [roosterteeth.com] Fix for bonus episodes by Zocker1999NET
- [tiktok] Fix for when share_info is empty
- [EmbedThumbnail] Fix bug due to incorrect function name
- [docs] Changed sponskrub links to point to yt-dlp/SponSkrub since I am now providing both linux and windows releases
- [docs] Change all links to correctly point to new fork URL
- [docs] Fixes typos
2021.01.12
- [roosterteeth.com] Add subtitle support by samiksome
- Added
--force-overwrites,--no-force-overwritesby alxnull - Changed fork name to
yt-dlp - Fix typos by FelixFrog
- [ci] Option to skip
- [changelog] Added unreleased changes in blackjack4494/yt-dlc
2021.01.10
- [archive.org] 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 (
playable_in_embed) - Update version badge automatically in README
- Enable
test_youtube_search_matching - Create
to_screenand similar functions in postprocessor/common
2021.01.09
- [youtube] Fix bug in automatic caption extraction
- Add
post_hooksto YoutubeDL by alexmerkel - Batch file enumeration improvements by glenn-slayden
- Stop immediately when reaching
--max-downloadsby glenn-slayden - Fix incorrect ANSI sequence for restoring console-window title by glenn-slayden
- Kill child processes when yt-dlc is killed by Unrud
2021.01.08
- Merge youtube-dl: Upto 2021.01.08 except stitcher (1, 2)
- Moved changelog to separate file
2021.01.07-1
- [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
2021.01.07
- Removed priority of
av01codec in-Ssince most devices don't support it yet - Added
duration_stringto be used in--output - Created First Release
2021.01.05-1
- Changed defaults:
- Enabled
--ignore - Disabled
--video-multistreamsand--audio-multistreams - Changed default format selection to
bv*+ba/bwhen--audio-multistreamsis disabled - Changed default format sort order to
res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id - Changed
webmto be more preferable thanflvin format sorting - Changed default output template to
%(title)s [%(id)s].%(ext)s - Enabled
--list-formats-as-table
- Enabled
2021.01.05
- 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,aas alias forbest,worst,videoandaudiorespectively
- New format selectors:
- Shortcut Options: Added
--write-link,--write-url-link,--write-webloc-link,--write-desktop-linkby 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"
- Added
- 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
- Cleaned up the fork for public use
Note: All uncredited changes above this point are authored by pukkandan
Unreleased changes in blackjack4494/yt-dlc
- Updated to youtube-dl release 2020.11.26 by pukkandan
- Youtube improvements by pukkandan
- Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
- Fix some improper Youtube URLs
- Redirect channel home to /video
- Print youtube's warning message
- Handle Multiple pages for feeds better
- [youtube] Fix ytsearch not returning results sometimes due to promoted content by coletdjnz
- [youtube] Temporary fix for automatic captions - disable json3 by blackjack4494
- Add --break-on-existing by gergesh
- Pre-check video IDs in the archive before downloading by pukkandan
- [bitwave.tv] New extractor by lorpus
- [Gedi] Add extractor by nixxo
- [Rcs] Add new extractor by nixxo
- [skyit] New skyitalia extractor by nixxo
- [france.tv] Fix thumbnail URL by renalid
- [ina] support mobile links by B0pol
- [instagram] Fix thumbnail extractor by nao20010128nao
- [SouthparkDe] Support for English URLs by xypwn
- [spreaker] fix SpreakerShowIE test URL by pukkandan
- [Vlive] Fix playlist handling when downloading a channel by kyuyeunk
- [tmz] Fix extractor by diegorodriguezv
- [ITV] BTCC URL update by WolfganP
- [generic] Detect embedded bitchute videos by pukkandan
- [generic] Extract embedded youtube and twitter videos by diegorodriguezv
- [ffmpeg] Ensure all streams are copied by pukkandan
- [embedthumbnail] Fix for os.rename error by pukkandan
- make_win.bat: don't use UPX to pack vcruntime140.dll by jbruchon
Changelog of blackjack4494/yt-dlc till release 2020.11.11-3
Note: This was constructed from the merge commit messages and may not be entirely accurate
- [bandcamp] fix failing test. remove subclass hack by insaneracist
- [bandcamp] restore album downloads by insaneracist
- [francetv] fix extractor by Surkal
- [gdcvault] fix extractor by blackjack4494
- [hotstar] Move to API v1 by theincognito-inc
- [hrfernsehen] add extractor by blocktrron
- [kakao] new apis by blackjack4494
- [la7] fix missing protocol by nixxo
- [mailru] removed escaped braces, use urljoin, added tests by nixxo
- [MTV/Nick] universal mgid extractor + fix nick.de feed by blackjack4494
- [mtv] Fix a missing match_id by nixxo
- [Mtv] updated extractor logic & more by blackjack4494
- [ndr] support Daserste ndr by blackjack4494
- [Netzkino] Only use video id to find metadata by TobiX
- [newgrounds] fix: video download by insaneracist
- [nitter] Add new extractor by B0pol
- [soundcloud] Resolve audio/x-wav by tfvlrue
- [soundcloud] sets pattern and tests by blackjack4494
- [SouthparkDE/MTV] another mgid extraction (mtv_base) feed url updated by blackjack4494
- [StoryFire] Add new extractor by sgstair
- [twitch] by geauxlo
- [videa] Adapt to updates by adrianheine
- [Viki] subtitles, formats by blackjack4494
- [vlive] fix extractor for revamped website by exwm
- [xtube] fix extractor by insaneracist
- [youtube] Convert subs when download is skipped by blackjack4494
- [youtube] Fix age gate detection by random-nick
- [youtube] fix yt-only playback when age restricted/gated - requires cookies by blackjack4494
- [youtube] fix: extract artist metadata from ytInitialData by insaneracist
- [youtube] fix: extract mix playlist ids from ytInitialData by insaneracist
- [youtube] fix: mix playlist title by insaneracist
- [youtube] fix: Youtube Music playlists by insaneracist
- [Youtube] Fixed problem with new youtube player by peet1993
- [zoom] Fix url parsing for url's containing /share/ and dots by Romern
- [zoom] new extractor by insaneracist
- abc by adrianheine
- Added Comcast_SSO fix by merval
- Added DRM logic to brightcove by merval
- Added regex for ABC.com site. by kucksdorfs
- alura by hugohaa
- Arbitrary merges by fstirlitz
- ard.py_add_playlist_support by martin54
- Bugfix/youtube/chapters fix extractor by gschizas
- bugfix_youtube_like_extraction by RedpointsBots
- Create build workflow by blackjack4494
- deezer by LucBerge
- Detect embedded bitchute videos by pukkandan
- Don't install tests by l29ah
- Don't try to embed/convert json subtitles generated by youtube livechat by pukkandan
- Doodstream by sxvghd
- duboku by lkho
- elonet by tpikonen
- ext/remuxe-video by Zocker1999NET
- fall-back to the old way to fetch subtitles, if needed by RobinD42
- feature_subscriber_count by RedpointsBots
- Fix external downloader when there is no http_header by pukkandan
- Fix issue triggered by tubeup by nsapa
- Fix YoutubePlaylistsIE by ZenulAbidin
- fix-mitele' by DjMoren
- fix/google-drive-cookie-issue by legraphista
- fix_tiktok by mervel-mervel
- Fixed problem with JS player URL by peet1993
- fixYTSearch by xarantolus
- FliegendeWurst-3sat-zdf-merger-bugfix-feature
- gilou-bandcamp_update
- implement ThisVid extractor by rigstot
- JensTimmerman-patch-1 by JensTimmerman
- Keep download archive in memory for better performance by jbruchon
- la7-fix by iamleot
- magenta by adrianheine
- Merge 26564 from adrianheine
- Merge code from ddland
- Merge code from nixxo
- Merge code from ssaqua
- Merge code from zubearc
- mkvthumbnail by MrDoritos
- myvideo_ge by fonkap
- naver by SeonjaeHyeon
- ondemandkorea by julien-hadleyjack
- rai-update by iamleot
- RFC: youtube: Polymer UI and JSON endpoints for playlists by wlritchi
- rutv by adrianheine
- Sc extractor web auth by blackjack4494
- Switch from binary search tree to Python sets by jbruchon
- tiktok by skyme5
- tvnow by TinyToweringTree
- twitch-fix by lel-amri
- Twitter shortener by blackjack4494
- Update README.md by JensTimmerman
- Update to reflect website changes. by amigatomte
- use webarchive to fix a dead link in README by B0pol
- Viki the second by blackjack4494
- wdr-subtitles by mrtnmtth
- Webpfix by alexmerkel
- Youtube live chat by siikamiika