Releases: yt-dlp/yt-dlp
Releases · yt-dlp/yt-dlp
yt-dlp 2022.09.01
A description of the various files are in the README
Changelog
- Add option
--use-extractors
- Merge youtube-dl: Upto commit/ed5c44e
- Add yt-dlp version to infojson
- Fix
--break-per-url --max-downloads
- Fix bug in
--alias
- [cookies] Support firefox container in
--cookies-from-browser
by bashonly, coletdjnz, pukkandan - [downloader/external] Smarter detection of executable
- [extractor/generic] Don't return JW player without formats
- [FormatSort] Fix
aext
for--prefer-free-formats
- [jsinterp] Various improvements by pukkandan, dirkf, elyse0
- [cache] Mechanism to invalidate old cache
- [utils] Add
deprecation_warning
- [utils] Add
orderedSet_from_options
- [utils]
Popen
: RestoreLD_LIBRARY_PATH
when using PyInstaller by Lesmiscore - [build]
make tar
should not followDESTDIR
by satan1st - [build] Update pyinstaller by shirt-dev
- [test] Fix
test_youtube_signature
- [cleanup] Misc fixes and cleanup by DavidH-2022, MrRawes, pukkandan
- [extractor/epoch] Add extractor by tejasa97
- [extractor/eurosport] Add extractor by HobbyistDev
- [extractor/IslamChannel] Add extractors by Lesmiscore
- [extractor/newspicks] Add extractor by Lesmiscore
- [extractor/triller] Add extractor by bashonly
- [extractor/VQQ] Add extractors by elyse0
- [extractor/youtube] Improvements to nsig extraction
- [extractor/youtube] Fix bug in format sorting
- [extractor/youtube] Update iOS Innertube clients by SamantazFox
- [extractor/youtube] Use device-specific user agent by coletdjnz
- [extractor/youtube] Add
--compat-option no-youtube-prefer-utc-upload-date
by coletdjnz - [extractor/arte] Bug fix by cgrigis
- [extractor/bilibili] Extract
flac
with premium account by jackyyf - [extractor/BiliBiliSearch] Don't sort by date
- [extractor/BiliBiliSearch] Fix infinite loop
- [extractor/bitchute] Mark errors as expected
- [extractor/crunchyroll:beta] Use anonymous access by tejing1
- [extractor/huya] Fix stream extraction by ohaiibuzzle
- [extractor/medaltv] Fix extraction by xenova
- [extractor/mediaset] Fix embed extraction
- [extractor/mixcloud] All formats are audio-only
- [extractor/rtbf] Fix jwt extraction by elyse0
- [extractor/screencastomatic] Support
--video-password
by shreyasminocha - [extractor/stripchat] Don't modify input URL by dfaker
- [extractor/uktv] Improve
_VALID_URL
by dirkf - [extractor/vimeo:user] Fix
_VALID_URL
yt-dlp 2022.08.19
A description of the various files are in the README
Changelog
- Fix bug in
--download-archive
- [jsinterp] Fix for new youtube players and related improvements by dirkf, pukkandan
- You may need to
--rm-cache
after update for this to work
- You may need to
- [phantomjs] Add function to execute JS without a DOM by MinePlayersPE, pukkandan
- [build] Exclude devscripts from installs by Lesmiscore
- [cleanup] Misc fixes and cleanup
- [extractor/youtube] Add fallback to phantomjs for nsig
- [extractor/youtube] Fix error reporting of "Incomplete data"
- [extractor/youtube] Improve format sorting for IOS formats
- [extractor/youtube] Improve signature caching
- [extractor/instagram] Fix extraction by bashonly, pritam20ps05
- [extractor/rai] Minor fix by nixxo
- [extractor/rtbf] Fix stream extractor by elyse0
- [extractor/SovietsCloset] Fix extractor by ChillingPepper
- [extractor/zattoo] Fix Zattoo resellers by goggle
yt-dlp 2022.08.18.36
2022.08.19 compatible release for Py3.6
GHA: https://github.com/pukkandan/yt-dlp-dev/actions/runs/2887110156
yt-dlp 2022.08.14
A description of the various files are in the README
Changelog
- Merge youtube-dl: Upto commit/d231b56
- [jsinterp] Handle new youtube signature functions
- [jsinterp] Truncate error messages
- [extractor] Fix format sorting of
channels
- [ffmpeg] Disable avconv unless
--prefer-avconv
- [ffmpeg] Smarter detection of ffprobe filename
- [patreon] Ignore erroneous media attachments by coletdjnz
- [postprocessor/embedthumbnail] Detect
libatomicparsley.so
- [ThumbnailsConvertor] Fix conversion after
fixup_webp
- [utils] Fix
get_compatible_ext
- [build] Fix changelog
- [update] Set executable bit-mask by pukkandan, Lesmiscore
- [devscripts] Fix import
- [docs] Consistent use of
e.g.
by Lesmiscore - [cleanup] Misc fixes and cleanup
- [extractor/moview] Add extractor by HobbyistDev
- [extractor/parler] Add extractor by palewire
- [extractor/truth] Add extractor by palewire
- [extractor/aenetworks] Add formats parameter by jacobtruman
- [extractor/crunchyroll] Improve
_VALID_URL
s - [extractor/doodstream] Add
wf
domain by aldoridhoni - [extractor/facebook] Add reel support by bashonly
- [extractor/MLB] New extractor by ischmidt20
- [extractor/rai] Misc fixes by nixxo
- [extractor/toggo] Improve
_VALID_URL
by masta79 - [extractor/tubitv] Extract additional formats by shirt-dev
- [extractor/zattoo] Potential fix for resellers
yt-dlp 2022.08.08
A description of the various files are in the README
Changelog
- Remove Python 3.6 support
- Determine merge container better by pukkandan, selfisekai
- Framework for embed detection by coletdjnz, pukkandan
- Merge youtube-dl: Upto commit/adb5294
--compat-option no-live-chat
should disable danmaku- Fix misleading DRM message
- Import ctypes only when necessary
- Minor bugfixes by pukkandan
- Reject entire playlists faster with
--match-filter
by pukkandan - Remove filtered entries from
-J
- Standardize retry mechanism by pukkandan
- Validate
--merge-output-format
- [downloader] Add average speed to final progress line
- [extractor] Add field
audio_channels
- [extractor] Support multiple archive ids for one video
- [ffmpeg] Set
ffmpeg_location
in a contextvar - [FFmpegThumbnailsConvertor] Fix conversion from GIF
- [MetadataParser] Don't set
None
when the field didn't match - [outtmpl] Smarter replacing of unsupported characters by pukkandan
- [outtmpl] Treat empty values as None in filenames
- [utils] sanitize_open: Allow any IO stream as stdout
- [build, devscripts] Add devscript to set a build variant
- [build] Improve build process by shirt-dev
- [build] Update pyinstaller
- [devscripts] Create
utils
and refactor - [docs] Clarify
best*
- [docs] Fix bug report issue template
- [docs] Fix capitalization in references by christoph-heinrich
- [cleanup, mhtml] Use imghdr
- [cleanup, utils] Consolidate known media extensions
- [cleanup] Misc fixes and cleanup
- [extractor/angel] Add extractor by AxiosDeminence
- [extractor/dplay] Add MotorTrend extractor by Sipherdrakon
- [extractor/harpodeon] Add extractor by eren-kemer
- [extractor/holodex] Add extractor by pukkandan, sqrtNOT
- [extractor/kompas] Add extractor by HobbyistDev
- [extractor/rai] Add raisudtirol extractor by nixxo
- [extractor/tempo] Add extractor by HobbyistDev
- [extractor/youtube] Fixes for third party client detection by coletdjnz
- [extractor/youtube] Add
live_status=post_live
by lazypete365 - [extractor/youtube] Extract more format info
- [extractor/youtube] Parse translated subtitles only when requested
- [extractor/youtube, extractor/twitch] Allow waiting for channels to become live
- [extractor/youtube, webvtt] Extract auto-subs from livestream VODs by fstirlitz, pukkandan
- [extractor/AbemaTVTitle] Implement paging by Lesmiscore
- [extractor/archiveorg] Improve handling of formats by coletdjnz, pukkandan
- [extractor/arte] Fix title extraction
- [extractor/arte] Move to v2 API by fstirlitz, pukkandan
- [extractor/bbc] Fix news articles by ajj8
- [extractor/camtasia] Separate into own extractor by coletdjnz
- [extractor/cloudflarestream] Fix video_id padding by haobinliang
- [extractor/crunchyroll] Fix conversion of thumbnail from GIF by pukkandan
- [extractor/crunchyroll] Handle missing metadata correctly by Burve, pukkandan
- [extractor/crunchyroll:beta] Extract timestamp and fix tests by tejing1
- [extractor/crunchyroll:beta] Use streams API by tejing1
- [extractor/doodstream] Support more domains by Galiley
- [extractor/ESPN] Extract duration by ischmidt20
- [extractor/FIFA] Change API endpoint by Bricio, yashkc2025
- [extractor/globo:article] Remove false positives by Bricio
- [extractor/Go] Extract timestamp by ischmidt20
- [extractor/hidive] Fix cookie login when netrc is also given by winterbird-code
- [extractor/html5] Separate into own extractor by coletdjnz, pukkandan
- [extractor/ina] Improve extractor by elyse0
- [extractor/NaverNow] Change endpoint by ping
- [extractor/ninegag] Extract uploader by DjesonPV
- [extractor/NovaPlay] Fix extractor by Bojidarist
- [extractor/orf:radio] Rewrite extractors
- [extractor/patreon] Fix and improve extractors by coletdjnz, pukkandan
- [extractor/rai] Fix RaiNews extraction by nixxo
- [extractor/redbee] Unify and update extractors by elyse0
- [extractor/stripchat] Fix _VALID_URL by freezboltz
- [extractor/tubi] Exclude playlists from playlist entries by sqrtNOT
- [extractor/tviplayer] Improve
_VALID_URL
by HobbyistDev - [extractor/twitch] Extract chapters for single chapter VODs by mpeter50
- [extractor/vgtv] Support tv.vg.no by sqrtNOT
- [extractor/vidio] Support embed link by HobbyistDev
- [extractor/vk] Fix extractor by Mehavoid
- [extractor/WASDTV:record] Fix
_VALID_URL
- [extractor/xfileshare] Add Referer by Galiley
- [extractor/YahooJapanNews] Fix extractor by Lesmiscore
- [extractor/yandexmusic] Extract higher quality format
- [extractor/zee5] Update Device ID by m4tu4g
yt-dlp 2022.07.18
A description of the various files are in the README
Deprecation Warning
Support for Python version 3.6 has been deprecated. See #3764 for more details. You will no longer receive updates on this version! Please update to Python 3.7 or above
Changelog
- Allow users to specify encoding in each config files by Lesmiscore
- Discard infodict from memory if no longer needed
- Do not allow extractors to return
None
- Do not load system certificates when
certifi
is used - Fix rounding of integers in format table
- Improve chapter sanitization
- Skip some fixup if remux/recode is needed by Lesmiscore
- Support
--no-progress
for--wait-for-video
- Fix bug in 612f2be
- [outtmpl] Add alternate form
h
for HTML escaping - [aes] Add multiple padding modes in CBC by elyse0
- [extractor/common] Passthrough
errnote=False
to parsers - [extractor/generic] Remove HEAD request
- [http] Ensure the file handle is always closed
- [ModifyChapters] Modify duration in infodict
- [options] Fix aliases to
--config-location
- [utils] Fix
get_domain
- [build] Consistent order for lazy extractors by lamby
- [build] Fix architecture suffix of executables by odo2063
- [build] Improve
setup.py
- [update] Do not check
_update_spec
when up to date - [update] Prepare to remove Python 3.6 support
- [compat] Let PyInstaller detect _legacy module
- [devscripts/update-formulae] Do not change dependency section
- [test] Split download tests so they can be more easily run in CI
- [docs] Improve docstring of
download_ranges
by FirefoxMetzger - [docs] Improve issue templates
- [build] Fix bug in 6d916fe
- [cleanup, utils] Refactor parse_codecs
- [cleanup] Misc fixes and cleanup
- [extractor/acfun] Add extractors by lockmatrix
- [extractor/Audiodraft] Add extractors by Ashish0804, fstirlitz
- [extractor/cellebrite] Add extractor by HobbyistDev
- [extractor/detik] Add extractor by HobbyistDev
- [extractor/hytale] Add extractor by llamasblade, pukkandan
- [extractor/liputan6] Add extractor by HobbyistDev
- [extractor/mocha] Add extractor by HobbyistDev
- [extractor/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_URL
by IONECarter, dirkf - [extractor/WSJArticle] Fix video id extraction by sqrtNOT
- [extractor/Ximalaya] Fix extractors by lockmatrix
- [cleanup, extractor/youtube] Fix tests by sheerluck
yt-dlp 2022.06.29
A description of the various files are in the README
Deprecation Warning
Support for Python version 3.6 has been deprecated. See #3764 for more details. You will receive only one more update on Py3.6! Please update to Python 3.7 or above
Changelog
- Fix
--downloader native
- Fix
section_end
of clips - Fix playlist error handling
- Sanitize
chapters
- [extractor] Fix
_create_request
when headers is None - [extractor] Fix empty
BaseURL
in MPD - [ffmpeg] Write full output to debug on error
- [hls] Warn user when trying to download live HLS
- [options] Fix
parse_known_args
for--
- [utils] Fix inconsistent default handling between HTTP and HTTPS requests by coletdjnz
- [build] Draft release until complete
- [build] Fix release tag commit
- [build] Standalone x64 builds for MacOS 10.9 by StefanLobbenmeier
- [update] Ability to set a maximum version for specific variants
- [compat] Fix
compat.WINDOWS_VT_MODE
- [compat] Remove deprecated functions from core code
- [compat] Remove more functions
- [cleanup, extractor] Reduce direct use of
_downloader
- [cleanup] Consistent style for file heads
- [cleanup] Fix some typos by crazymoose77756
- [cleanup] Misc fixes and cleanup
- [extractor/Scrolller] Add extractor by LunarFang416
- [extractor/ViMP] Add playlist extractor by FestplattenSchnitzel
- [extractor/fuyin] Add extractor by HobbyistDev
- [extractor/livestreamfails] Add extractor by nomevi
- [extractor/premiershiprugby] Add extractor by HobbyistDev
- [extractor/steam] Add broadcast extractor by HobbyistDev
- [extractor/youtube] Mark videos as fully watched by Brett824
- [extractor/CWTV] Extract thumbnail by ischmidt20
- [extractor/ViMP] Add thumbnail and support more sites by FestplattenSchnitzel
- [extractor/dropout] Support cookies and login only as needed by pingiun, pukkandan
- [extractor/ertflix] Improve
_VALID_URL
- [extractor/lbry] Use HEAD request for redirect URL by flashdagger
- [extractor/mediaset] Improve
_VALID_URL
- [extractor/npr] Implement e50c350 differently
- [extractor/tennistv] Rewrite extractor by pukkandan, zenerdi0de
yt-dlp 2022.06.22.1
A description of the various files are in the README
Changelog
- Deprecate support for Python 3.6
- Add option
--download-sections
to download video partially- Chapter regex and time ranges are accepted (Eg:
--download-sections *1:10-2:20
)
- Chapter regex and time ranges are accepted (Eg:
- Add option
--alias
- Add option
--lazy-playlist
to process entries as they are received - Add option
--retry-sleep
- Add slicing notation to
--playlist-items
- Adds support for negative indices and step
- Add
-I
as alias for--playlist-index
- Makes
--playlist-start
,--playlist-end
,--playlist-reverse
,--no-playlist-reverse
redundant
--config-location -
to provide options interactively- [build] Add Linux standalone builds
- [update] Self-restart after update
- Merge youtube-dl: Upto commit/8a158a9
- Add
--no-update
- Allow extractors to specify section_start/end for clips
- Do not print progress to
stderr
with-q
- Ensure pre-processor errors do not block video download
- Fix
--simulate --max-downloads
- Improve error handling of bad config files
- Return an error code if update fails
- Fix bug in 3a408f9
- [ExtractAudio] Allow conditional conversion
- [ModifyChapters] Fix repeated removal of small segments
- [ThumbnailsConvertor] Allow conditional conversion
- [cookies] Detect profiles for cygwin/BSD by moench-tegeder
- [dash] Show fragment count with
--live-from-start
by flashdagger - [extractor] Add
_search_json
by coletdjnz, pukkandan - [extractor] Add
default
parameter to_search_json
by coletdjnz, pukkandan - [extractor] Add dev option
--load-pages
- [extractor] Handle
json_ld
with multiple@type
s - [extractor] Import
_ALL_CLASSES
lazily - [extractor] Recognize
src
attribute from HTML5 media elements by Lesmiscore - [extractor/generic] Revert e6ae51c
- [f4m] Bugfix
- [ffmpeg] Check version lazily
- [jsinterp] Some optimizations and refactoring by dirkf, pukkandan
- [utils] Improve performance using
functools.cache
- [utils] Send HTTP/1.1 ALPN extension by coletdjnz
- [utils]
ExtractorError
: Fixexc_info
- [utils]
ISO3166Utils
: AddEU
andAP
- [utils]
Popen
: Refactor to use contextmanager - [utils]
locked_file
: Fix for PyPy on Windows - [update] Expose more functionality to API
- [update] Use
.git
folder to distinguishsource
/unknown
- [build] Fix updating homebrew formula
- [compat] Add
functools.cached_property
- [test] Fix
FakeYDL
signatures by coletdjnz - [docs] Improvements
- [cleanup, ExtractAudio] Refactor
- [cleanup, downloader] Refactor
report_progress
- [cleanup, extractor] Refactor
_download_...
methods - [cleanup, extractor] Rename
extractors.py
to_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_host
andinnertube_key
extractor args by coletdjnz - [extractor/youtube] Add warning for PostLiveDvr
- [extractor/youtube] Bring back
_extract_chapters_from_description
- [extractor/youtube] Extract
comment_count
from webpage - [extractor/youtube] Fix
:ytnotifications
extractor by coletdjnz - [extractor/youtube] Fix initial player response extraction by coletdjnz, pukkandan
- [extractor/youtube] Fix live chat for videos with content warning by coletdjnz
- [extractor/youtube] Make signature extraction non-fatal
- [extractor/youtube:tab] Detect
videoRenderer
in_post_thread_continuation_entries
- [extractor/BiliIntl] Fix metadata extraction
- [extractor/BiliIntl] Fix subtitle extraction by HobbyistDev
- [extractor/FranceCulture] Fix extractor by aurelg, pukkandan
- [extractor/PokemonSoundLibrary] Remove extractor by Lesmiscore
- [extractor/StreamCZ] Fix extractor by adamanldo, dirkf
- [extractor/WatchESPN] Support free videos and BAM_DTC by ischmidt20
- [extractor/animelab] Remove extractor by gamer191
- [extractor/bloomberg] Change playback endpoint by m4tu4g
- [extractor/ccc] Extract view_count by vkorablin
- [extractor/crunchyroll:beta] Fix extractor after API change by Burve, tejing1
- [extractor/curiositystream] Get
auth_token
from cookie by mnn - [extractor/digitalconcerthall] Fix extractor by ZhymabekRoman
- [extractor/dropbox] Extract the correct
mountComponent
- [extractor/dropout] Login is not mandatory
- [extractor/duboku] Fix for hostname change by mozbugbox
- [extractor/espn] Add
WatchESPN
extractor by ischmidt20, pukkandan - [extractor/expressen] Fix extractor by aejdl
- [extractor/foxnews] Update embed extraction by elyse0
- [extractor/ina] Fix extractor by elyse0
- [extractor/iwara:user] Make paging better by Lesmiscore
- [extractor/jwplatform] Look for
data-video-jw-id
- [extractor/lbry] Update livestream API by flashdagger
- [extractor/mediaset] Improve
_VALID_URL
- [extractor/naver] Add
navernow
extractor by ping - [extractor/niconico:series] Fix extractor by sqrtNOT
- [extractor/npr] Use stream url from json-ld by r5d
- [extractor/pornhub] Extract
uploader_id
field by Lesmiscore - [extractor/radiofrance] Add more radios by bubbleguuum
- [extractor/rumble] Detect JS embed
- [extractor/rumble] Extract subtitles by fstirlitz
- [extractor/southpark] Add
southpark.lat
extractor by darkxex - [extractor/spotify:show] Fix extractor
- [extractor/tiktok] Detect embeds
- [extractor/tiktok] Extract
SIGI_STATE
by dirkf, pukkandan, sulyi - [extractor/tver] Fix extractor by Lesmiscore
- [extractor/vevo] Fix extractor by Lesmiscore
- [extractor/yahoo:gyao] Fix extractor
- [extractor/zattoo] Fix live streams by miseran
- [extractor/zdf] Improve format sorting by elyse0
yt-dlp 2022.06.22
A description of the various files are in the README
Changelog
- Deprecate support for Python 3.6
- Add option
--download-sections
to download video partially- Chapter regex and time ranges are accepted (Eg:
--download-sections *1:10-2:20
)
- Chapter regex and time ranges are accepted (Eg:
- Add option
--alias
- Add option
--lazy-playlist
to process entries as they are received - Add option
--retry-sleep
- Add slicing notation to
--playlist-items
- Adds support for negative indices and step
- Add
-I
as alias for--playlist-index
- Makes
--playlist-start
,--playlist-end
,--playlist-reverse
,--no-playlist-reverse
redundant
--config-location -
to provide options interactively- [build] Add Linux standalone builds
- [update] Self-restart after update
- Merge youtube-dl: Upto commit/8a158a9
- Add
--no-update
- Allow extractors to specify section_start/end for clips
- Do not print progress to
stderr
with-q
- Ensure pre-processor errors do not block video download
- Fix
--simulate --max-downloads
- Improve error handling of bad config files
- Return an error code if update fails
- Fix bug in 3a408f9
- [ExtractAudio] Allow conditional conversion
- [ModifyChapters] Fix repeated removal of small segments
- [ThumbnailsConvertor] Allow conditional conversion
- [cookies] Detect profiles for cygwin/BSD by moench-tegeder
- [dash] Show fragment count with
--live-from-start
by flashdagger - [extractor] Add
_search_json
by coletdjnz, pukkandan - [extractor] Add
default
parameter to_search_json
by coletdjnz, pukkandan - [extractor] Add dev option
--load-pages
- [extractor] Handle
json_ld
with multiple@type
s - [extractor] Import
_ALL_CLASSES
lazily - [extractor] Recognize
src
attribute from HTML5 media elements by Lesmiscore - [extractor/generic] Revert e6ae51c
- [f4m] Bugfix
- [ffmpeg] Check version lazily
- [jsinterp] Some optimizations and refactoring by dirkf, pukkandan
- [utils] Improve performance using
functools.cache
- [utils] Send HTTP/1.1 ALPN extension by coletdjnz
- [utils]
ExtractorError
: Fixexc_info
- [utils]
ISO3166Utils
: AddEU
andAP
- [utils]
Popen
: Refactor to use contextmanager - [utils]
locked_file
: Fix for PyPy on Windows - [update] Expose more functionality to API
- [update] Use
.git
folder to distinguishsource
/unknown
- [compat] Add
functools.cached_property
- [test] Fix
FakeYDL
signatures by coletdjnz - [docs] Improvements
- [cleanup, ExtractAudio] Refactor
- [cleanup, downloader] Refactor
report_progress
- [cleanup, extractor] Refactor
_download_...
methods - [cleanup, extractor] Rename
extractors.py
to_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_host
andinnertube_key
extractor args by coletdjnz - [extractor/youtube] Add warning for PostLiveDvr
- [extractor/youtube] Bring back
_extract_chapters_from_description
- [extractor/youtube] Extract
comment_count
from webpage - [extractor/youtube] Fix
:ytnotifications
extractor by coletdjnz - [extractor/youtube] Fix initial player response extraction by coletdjnz, pukkandan
- [extractor/youtube] Fix live chat for videos with content warning by coletdjnz
- [extractor/youtube] Make signature extraction non-fatal
- [extractor/youtube:tab] Detect
videoRenderer
in_post_thread_continuation_entries
- [extractor/BiliIntl] Fix metadata extraction
- [extractor/BiliIntl] Fix subtitle extraction by HobbyistDev
- [extractor/FranceCulture] Fix extractor by aurelg, pukkandan
- [extractor/PokemonSoundLibrary] Remove extractor by Lesmiscore
- [extractor/StreamCZ] Fix extractor by adamanldo, dirkf
- [extractor/WatchESPN] Support free videos and BAM_DTC by ischmidt20
- [extractor/animelab] Remove extractor by gamer191
- [extractor/bloomberg] Change playback endpoint by m4tu4g
- [extractor/ccc] Extract view_count by vkorablin
- [extractor/crunchyroll:beta] Fix extractor after API change by Burve, tejing1
- [extractor/curiositystream] Get
auth_token
from cookie by mnn - [extractor/digitalconcerthall] Fix extractor by ZhymabekRoman
- [extractor/dropbox] Extract the correct
mountComponent
- [extractor/dropout] Login is not mandatory
- [extractor/duboku] Fix for hostname change by mozbugbox
- [extractor/espn] Add
WatchESPN
extractor by ischmidt20, pukkandan - [extractor/expressen] Fix extractor by aejdl
- [extractor/foxnews] Update embed extraction by elyse0
- [extractor/ina] Fix extractor by elyse0
- [extractor/iwara:user] Make paging better by Lesmiscore
- [extractor/jwplatform] Look for
data-video-jw-id
- [extractor/lbry] Update livestream API by flashdagger
- [extractor/mediaset] Improve
_VALID_URL
- [extractor/naver] Add
navernow
extractor by ping - [extractor/niconico:series] Fix extractor by sqrtNOT
- [extractor/npr] Use stream url from json-ld by r5d
- [extractor/pornhub] Extract
uploader_id
field by Lesmiscore - [extractor/radiofrance] Add more radios by bubbleguuum
- [extractor/rumble] Detect JS embed
- [extractor/rumble] Extract subtitles by fstirlitz
- [extractor/southpark] Add
southpark.lat
extractor by darkxex - [extractor/spotify:show] Fix extractor
- [extractor/tiktok] Detect embeds
- [extractor/tiktok] Extract
SIGI_STATE
by dirkf, pukkandan, sulyi - [extractor/tver] Fix extractor by Lesmiscore
- [extractor/vevo] Fix extractor by Lesmiscore
- [extractor/yahoo:gyao] Fix extractor
- [extractor/zattoo] Fix live streams by miseran
- [extractor/zdf] Improve format sorting by elyse0
yt-dlp 2022.05.18
A description of the various files are in the README
Changelog:
- 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-downloads
should obey--break-per-input
- Allow use of weaker ciphers with
--legacy-server-connect
- Don't imply
-s
for later stages of-O
- Fix
--date today
- Fix
--skip-unavailable-fragments
- Fix color in
-q -F
- Fix redirect HTTP method handling by coletdjnz
- Improve
--clean-infojson
- Remove warning for videos with an empty title
- Run
FFmpegFixupM3u8PP
for live-streams if needed - Show name of downloader in verbose log
- [cookies] Allow
cookiefile
to be a text stream - [cookies] Report progress when importing cookies
- [downloader/ffmpeg] Specify headers for each URL by elyse0
- [fragment] Do not change chunk-size when
--test
- [fragment] Make single thread download work for
--live-from-start
by Lesmiscore - [hls] Fix
byte_range
forEXT-X-MAP
fragment by fstirlitz - [http] Fix retrying on read timeout by coletdjnz
- [ffmpeg] Fix features detection
- [EmbedSubtitle] Enable for more video extensions
- [EmbedThumbnail] Disable thumbnail conversion for mkv by evansp
- [EmbedThumbnail] Do not obey
-k
- [EmbedThumbnail] Do not remove id3v1 tags
- [FFmpegMetadata] Remove
\0
from metadata - [FFmpegMetadata] Remove filename from attached info-json
- [FixupM3u8] Obey
--hls-prefer-mpegts
- [Sponsorblock] Don't crash when duration is unknown
- [XAttrMetadata] Refactor and document dependencies
- [extractor] Document netrc machines
- [extractor] Update
manifest_url
s after redirect by elyse0 - [extractor] Update dash
manifest_url
after redirects by elyse0 - [extractor] Use
classmethod
/property
where possible - [generic] Refactor
_extract_rss
- [utils]
is_html
: Handle double BOM - [utils]
locked_file
: Ignore illegal seek ontruncate
by 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 uninstall
by MrRawes - [build] Avoid use of
install -D
- [build] Fix
Makefile
by putnam - [build] Fix
--onedir
on macOS - [build] Add more test-runners
- [cleanup] Deprecate some compat vars by fstirlitz, pukkandan
- [cleanup] Remove unused code paths, extractors, scripts and tests by fstirlitz
- [cleanup] Upgrade syntax (
pyupgrade
) and sort imports (isort
) - [cleanup, docs, build] Misc fixes
- [BilibiliLive] Add extractor by HE7086, pukkandan
- [Fifa] Add Extractor by Bricio
- [goodgame] Add extractor by nevack
- [gronkh] Add playlist extractors by hatienl0i261299
- [icareus] Add extractor by tpikonen, pukkandan
- [iwara] Add playlist extractors by i6t
- [Likee] Add extractor by hatienl0i261299
- [masters] Add extractor by m4tu4g
- [nebula] Add support for subscriptions by hheimbuerger
- [Podchaser] Add extractors by connercsbn
- [rokfin:search] Add extractor by P-reducible, pukkandan
- [youtube] Add
:ytnotifications
extractor by krichbanana - [youtube] Add YoutubeStoriesIE (
ytstories:<channel UCID>
) by coletdjnz - [ZingMp3] Add chart and user extractors by hatienl0i261299
- [adn] Update AES key by elyse0
- [adobepass] Allow cookies for authenticating MSO
- [bandcamp] Exclude merch links by Yipten
- [chingari] Fix archiving and tests
- [DRTV] Improve
_VALID_URL
by vertan - [facebook] Improve thumbnail extraction by Wikidepia
- [fc2] Stop heatbeating once FFmpeg finishes by Lesmiscore
- [Gofile] Fix extraction and support password-protected links by mehq
- [hotstar, cleanup] Refactor extractors
- [InfoQ] Don't fail on missing audio format by evansp
- [Jamendo] Extract more metadata by evansp
- [kaltura] Update API calls by flashdagger
- [KhanAcademy] Fix extractor by rand-net
- [LCI] Fix extractor by MarwenDallel
- [lrt] Support livestreams by GiedriusS
- [niconico] Set
expected_protocol
to a public field - [Niconico] Support 2FA by ekangmonyet
- [Olympics] Fix format extension
- [openrec:movie] Enable fallback for /movie/ URLs
- [PearVideo] Add fallback for formats by hatienl0i261299
- [radiko] Fix extractor by Lesmiscore
- [rai] Add
release_year
- [reddit] Prevent infinite loop
- [rokfin] Implement login by P-reducible, pukkandan
- [ruutu] Support 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_URL
by ca-za - [trovo] Update to new API by nyuszika7h
- [TVer] Improve extraction by Lesmiscore
- [twitcasting] Pass headers for each formats by Lesmiscore
- [VideocampusSachsen] Improve extractor by FestplattenSchnitzel
- [vimeo] Fix extractors
- [wat] Fix extraction of multi-language videos and subtitles by elyse0
- [wistia] Fix
_VALID_URL
by dirkf - [youtube, cleanup] Minor refactoring by coletdjnz, pukkandan
- [youtube] Added piped instance urls by JordanWeatherby
- [youtube] Deprioritize auto-generated thumbnails
- [youtube] Deprioritize format 22 (often damaged)
- [youtube] Fix episode metadata extraction
- [zee5] Fix extractor by Ashish0804
- [zingmp3, cleanup] Refactor extractors