Releases: xibr/ytdlp-lazy
Releases · xibr/ytdlp-lazy
yt-dlp 2022.08.14
- Merge youtube-dl: Upto commit/d231b56
- [jsinterp] Handle new youtube signature functions
- [jsinterp] Truncate error messages
- [extractor] Fix format sorting of
channels
- [ffmpeg] Disable avconv unless
--prefer-avconv
- [ffmpeg] Smarter detection of ffprobe filename
- [patreon] Ignore erroneous media attachments by coletdjnz
- [postprocessor/embedthumbnail] Detect
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
- 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
- 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
- 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
- [build] Fix updating homebrew formula
2022.06.22
- 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 e6ae51c123897927eb3c9899923d8ffd31c7f85d
- [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
- 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
yt-dlp 2022.04.08
- Use certificates from
certifi
if installed by coletdjnz - Treat multiple
--match-filters
as OR - File locking improvevemnts:
- De-prioritize automatic-subtitles when no
--sub-lang
is given - Exit after
--dump-user-agent
- Fallback to video-only format when selecting by extension
- Fix
--abort-on-error
for subtitles - Fix
--no-overwrite
for playlist infojson - Fix
--print
with--ignore-no-formats
when url isNone
by flashdagger - Fix
--sleep-interval
- Fix
--throttled-rate
- Fix
autonumber
- Fix case of
http_headers
- Fix filepath sanitization in
--print-to-file
- Handle float in
--wait-for-video
- Ignore
mhtml
formats from-f mergeall
- Ignore format-specific fields in initial pass of
--match-filter
- Protect stdout from unexpected progress and console-title
- Remove
Accept-Encoding
header fromstd_headers
by coletdjnz - Remove incorrect warning for
--dateafter
- Show warning when all media formats have DRM
- [downloader] Fix invocation of
HttpieFD
- [http] Fix #3215
- [http] Reject broken range before request by Lesmiscore, Jules-A, pukkandan
- [fragment] Read downloaded fragments only when needed by Lesmiscore
- [http] Retry on more errors by coletdjnz
- [mhtml] Fix fragments with absolute urls by coletdjnz
- [extractor] Add
_perform_login
function - [extractor] Allow control characters inside json
- [extractor] Support merging subtitles with data by coletdjnz
- [generic] Extract subtitles from video.js by Lesmiscore
- [ffmpeg] Cache version data
- [FFmpegConcat] Ensure final directory exists
- [FfmpegMetadata] Write id3v1 tags
- [FFmpegVideoConvertor] Add more formats to
--remux-video
- [FFmpegVideoConvertor] Ensure all streams are copied
- [MetadataParser] Validate outtmpl early
- [outtmpl] Fix replacement/default when used with alternate
- [outtmpl] Limit changes during sanitization
- [phantomjs] Fix bug
- [test] Add
test_locked_file
- [utils]
format_decimal_suffix
: Fix for very large numbers by s0u1h - [utils]
traverse_obj
: Allow filtering by value - [utils] Add
filter_dict
,get_first
,try_call
- [utils] ExtractorError: Fix for older python versions
- [utils] WebSocketsWrapper: Allow omitting
__enter__
invocation by Lesmiscore - [docs] Add an
.editorconfig
file by fstirlitz - [docs] Clarify the exact
BSD
license of dependencies by MrRawes - [docs] Minor improvements by pukkandan, cffswb, danielyli
- [docs] Remove readthedocs
- [build] Add
requirements.txt
to pip distributions - [cleanup, postprocessor] Create
_download_json
- [cleanup, vimeo] Fix tests
- [cleanup] Misc fixes and minor cleanup
- [cleanup] Use
_html_extract_title
- [AfreecaTV] Add
AfreecaTVUserIE
by hatienl0i261299 - [arte] Add
format_note
to m3u8 formats - [azmedien] Add TVO Online to supported hosts by 1-Byte
- [BanBye] Add extractor by mehq
- [bilibili] Fix extraction of title with quotes by dzek69
- [Craftsy] Add extractor by Bricio
- [Cybrary] Add extractor by aaearon
- [Huya] Add extractor by hatienl0i261299
- [ITProTV] Add extractor by aaearon
- [Jable] Add extractors by mehq
- [LastFM] Add extractors by mehq
- [Moviepilot] Add extractor by panatexxa
- [panopto] Add extractors by coletdjnz, kmark
- [PokemonSoundLibrary] Add extractor by Lesmiscore
- [WasdTV] Add extractor by un-def, hatienl0i261299
- [adobepass] Fix Suddenlink MSO by CplPwnies
- [afreecatv] Match new vod url by wlritchi
- [AZMedien] Support
tv.telezueri.ch
by goggle - [BiliIntl] Support user-generated videos by wlritchi
- [BRMediathek] Fix VALID_URL
- [crunchyroll:playlist] Implement beta API by tejing1
- [crunchyroll] Fix inheritance
- [daftsex] Fix extractor by Soebb
- [dailymotion] Support
geo.dailymotion.com
by hatienl0i261299 - [ellentube] Extract subtitles from manifest
- [elonet] Rewrite extractor by Fam0r, pukkandan
- [fptplay] Fix metadata extraction by hatienl0i261299
- [FranceCulture] Support playlists by bohwaz
- [go, viu] Extract subtitles from the m3u8 manifest by fstirlitz
- [Imdb] Improve extractor by hatienl0i261299
- [MangoTV] Improve extractor by hatienl0i261299
- [Nebula] Fix bug in 52efa4b31200119adaa8acf33e50b84fcb6948f0
- [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.com
by rozari0 - [youtube] Add new age-gate bypass by zerodytrash, pukkandan
- [youtube] Add extractor-arg to skip auto-translated subs
- [youtube] Avoid false positives when detecting damaged formats
- [youtube] Detect DRM better by shirt
- [youtube] Fix auto-translated automatic captions
- [youtube] Fix pagination of
membership
tab - [youtube] Fix uploader for collaborative playlists by coletdjnz
- [youtube] Improve video upload date handling by coletdjnz
- [youtube:api] Prefer minified JSON response by coletdjnz
- [youtube:search] Support hashtag entries by coletdjnz
- [youtube:tab] Fix duration extraction for shorts by coletdjnz
- [youtube:tab] Minor improvements
- [youtube:tab] Return shorts url if video is a short by coletdjnz
- [Zattoo] Fix extractors by goggle
- [Zingmp3] Fix signature by hatienl0i261299
yt-dlp 2022.03.08.1
- [cleanup] Refactor
__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-start
format - Create necessary directories for
--print-to-file
- Fill more fields for playlists by Lesmiscore
- Fix
-all
for--sub-langs
- Fix doubling of
video_id
inExtractorError
- Fix for when stdout/stderr encoding is
None
- Handle negative duration from extractor
- Implement
--add-header
without modifyingstd_headers
- Obey
--abort-on-error
for "ffmpeg not installed" - Set
webpage_url_...
fromwebpage_url
and not input URL - Tolerate failure to
--write-link
due to unknown URL - [aria2c] Add
--http-accept-gzip=true
- [build] Update pyinstaller to 4.10 by shirt-dev
- [cookies] Update MacOS12
Cookies.binarycookies
location by mdpauley - [devscripts] Improve
prepare_manpage
- [downloader] Do not use aria2c for non-native
m3u8
- [downloader] Obey
--file-access-retries
when deleting/renaming by ehoogeveen-medweb - [extractor] Allow
http_headers
to 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-watched
without_NETRC_MACHINE
by coletdjnz - [FFmpegConcat] Abort on
--simulate
- [FormatSort] Consider
acodec
=ogg
asvorbis
- [fragment] Fix bugs around resuming with Range by Lesmiscore
- [fragment] Improve
--live-from-start
for YouTube livestreams by Lesmiscore - [generic] Pass referer to extracted formats
- [generic] Set rss
guid
as video id by Bricio - [options] Better ambiguous option resolution
- [options] Rename
--clean-infojson
to--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_file
forsanitize_open
by jakeogh - [utils] Validate
DateRange
input - [utils] WebSockets wrapper for non-async functions by Lesmiscore
- [cleanup] Don't pass protocol to
_extract_m3u8_formats
for 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
GettrStreamingIE
by 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
uploader
by 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.tiktok
URLs - [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_date
extractor-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_name
regex 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
yt-dlp 2022.02.04
- [youtube:search] Fix extractor by coletdjnz
- [youtube:search] Add tests
- [twitcasting] Enforce UTF-8 for POST payload by Lesmiscore
- [mediaset] Fix extractor by nixxo
- [websocket] Make syntax error in
websockets
module non-fatal
yt-dlp 2022.02.03
- Merge youtube-dl: Upto commit/78ce962
- Add option
--print-to-file
- Make nested --config-locations relative to parent file
- Ensure
_type
is 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 convinience function
_yes_playlist
- [extractor] Allow non-fatal
title
extraction - [extractor] Extract video inside
Article
json_ld - [generic] Allow further processing of json_ld URL
- [cookies] Fix keyring selection for unsupported desktops
- [utils] Strip double spaces in
clean_html
by dirkf - [aes] Add
unpad_pkcs7
- [test] Fix
test_youtube_playlist_noplaylist
- [docs,cleanup] Misc cleanup
- [dplay] Add extractors for site changes by Sipherdrakon
- [ertgr] Add extractors by zmousm, dirkf
- [Musicdex] Add extractors by Ashish0804
- [YandexVideoPreview] Add extractor by KiberInfinity
- [youtube] Add extractor
YoutubeMusicSearchURLIE
- [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