To find the state of this project's repository at the time of any of these versions, check out the tags.
Changelog.md 142.33 KiB
Changelog
2022.04.08
- Use certificates from
certifi
if installed by coletdjnz - Treat multiple
--match-filters
as OR - File locking improvements:
- 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 52efa4b3
- [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
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
- [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
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
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
2022.01.21
- Add option
--concat-playlist
to concat videos in a playlist - Allow multiple and nested configuration files
- Add more post-processing stages (
after_video
,playlist
) - Allow
--exec
to be run at any post-processing stage (Deprecates--exec-before-download
) - Allow
--print
to be run at any post-processing stage - Allow listing formats, thumbnails, subtitles using
--print
by pukkandan, Zirro - Add fields
video_autonumber
,modified_date
,modified_timestamp
,playlist_count
,channel_follower_count
- Add key
requested_downloads
in the rootinfo_dict
- Write
download_archive
only after all formats are downloaded - [FfmpegMetadata] Allow setting metadata of individual streams using
meta<n>_
prefix - Add option
--legacy-server-connect
by xtkoba - Allow escaped
,
in--extractor-args
- Allow unicode characters in
info.json
- Check for existing thumbnail/subtitle in final directory
- Don't treat empty containers as
None
insanitize_info
- Fix
-s --ignore-no-formats --force-write-archive
- Fix live title for multiple formats
- List playlist thumbnails in
--list-thumbnails
- Raise error if subtitle download fails
- [cookies] Fix bug when keyring is unspecified
- [ffmpeg] Ignore unknown streams, standardize use of
-map 0
- [outtmpl] Alternate form for
D
and fix suffix's case - [utils] Add
Sec-Fetch-Mode
tostd_headers
- [utils] Fix
format_bytes
output for Bytes by pukkandan, mdawar - [utils] Handle
ss:xxx
inparse_duration
- [utils] Improve parsing for nested HTML elements by zmousm, pukkandan
- [utils] Use key
None
intraverse_obj
to return as-is - [extractor] Detect more subtitle codecs in MPD manifests by fstirlitz
- [extractor] Extract chapters from JSON-LD by iw0nderhow, pukkandan
- [extractor] Extract thumbnails from JSON-LD by nixxo
- [extractor] Improve
url_result
and related - [generic] Improve KVS player extraction by trassshhub
- [build] Reduce dependency on third party workflows
- [extractor,cleanup] Use
_search_nextjs_data
,format_field
- [cleanup] Minor fixes and cleanup
- [docs] Improvements
- [test] Fix TestVerboseOutput
- [afreecatv] Add livestreams extractor by wlritchi
- [callin] Add extractor by foghawk
- [CrowdBunker] Add extractors by Ashish0804
- [daftsex] Add extractors by k3ns1n
- [digitalconcerthall] Add extractor by teridon
- [Drooble] Add extractor by u-spec-png
- [EuropeanTour] Add extractor by Ashish0804
- [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
http
for manifests - [CTVNewsIE] Add fallback for video search by Ashish0804
- [dplay] Migrate DiscoveryPlusItaly to DiscoveryPlus by timendum
- [dplay] Re-structure DiscoveryPlus extractors
- [Dropbox] Support password protected files and more formats by zenerdi0de
- [facebook] Fix extraction from groups
- [facebook] Improve title and uploader extraction
- [facebook] Parse dash manifests
- [fox] Extract m3u8 from preview by ischmidt20
- [funk] Support origin URLs
- [gfycat] Fix
uploader
- [gfycat] Support embeds by coletdjnz
- [hotstar] Add extractor args to ignore tags by Ashish0804
- [hrfernsehen] Fix ardloader extraction by CreaValix
- [instagram] Fix username extraction for stories and highlights by nyuszika7h
- [kakao] Detect geo-restriction
- [line] Remove
tv.line.me
by sian1468 - [mixch] Add
MixchArchiveIE
by Lesmiscore - [mixcloud] Detect restrictions by llacb47
- [NBCSports] Fix extraction of platform URLs by ischmidt20
- [Nexx] Extract more metadata by MinePlayersPE
- [Nexx] Support 3q CDN by MinePlayersPE
- [pbs] de-prioritize AD formats
- [PornHub,YouTube] Refresh onion addresses by unit193
- [RedBullTV] Parse subtitles from manifest by Ashish0804
- [streamcz] Fix extractor by arkamar, pukkandan
- [Ted] Rewrite extractor by pukkandan, trassshhub
- [Theta] Fix valid URL by alerikaisattera
- [ThisOldHouseIE] Add support for premium videos by Ashish0804
- [TikTok] Fix extraction for sigi-based webpages, add API fallback by MinePlayersPE
- [TikTok] Pass cookies to formats, and misc fixes by MinePlayersPE
- [TikTok] Extract captions, user thumbnail by MinePlayersPE
- [TikTok] Change app version by MinePlayersPE, llacb47
- [TVer] Extract message for unaired live by Lesmiscore
- [twitcasting] Refactor extractor by Lesmiscore
- [twitter] Fix video in quoted tweets
- [veoh] Improve extractor by foghawk
- [vk] Capture
clip
URLs - [vk] Fix VKUserVideosIE by Ashish0804
- [vk] Improve
_VALID_URL
by k3ns1n - [VrtNU] Handle empty title by pgaig
- [XVideos] Check HLS formats by MinePlayersPE
- [yahoo:gyao] Improved playlist handling by hyano
- [youtube:tab] Extract more playlist metadata by coletdjnz, pukkandan
- [youtube:tab] Raise error on tab redirect by krichbanana, coletdjnz
- [youtube] Update Innertube clients by coletdjnz
- [youtube] Detect live-stream embeds
- [youtube] Do not return
upload_date
for playlists - [youtube] Extract channel subscriber count by coletdjnz
- [youtube] Make invalid storyboard URL non-fatal
- [youtube] Enforce UTC, update innertube clients and tests by coletdjnz
- [zdf] Add chapter extraction by iw0nderhow
- [zee5] Add geo-bypass
2021.12.27
- Avoid recursion error when re-extracting info
- [ffmpeg] Fix position of
--ppa
- [aria2c] Don't show progress when
--no-progress
- [cookies] Support other keyrings by mbway
- [EmbedThumbnail] Prefer AtomicParsley over ffmpeg if available
- [generic] Fix HTTP KVS Player by git-anony-mouse
- [ThumbnailsConvertor] Fix for when there are no thumbnails
- [docs] Add examples for using
TYPES:
in-P
/-o
- [PixivSketch] Add extractors by nao20010128nao
- [tiktok] Add music, sticker and tag IEs by MinePlayersPE
- [BiliIntl] Fix extractor by MinePlayersPE
- [CBC] Fix URL regex
- [tiktok] Fix
extractor_key
used in archive - [youtube] End
live-from-start
properly when stream ends with 403 - [Zee5] Fix VALID_URL for tv-shows by Ashish0804
2021.12.25
- [dash,youtube] Download live from start to end by nao20010128nao, pukkandan
- Add option
--live-from-start
to enable downloading live videos from start - Add key
is_from_start
in formats to identify formats (of live videos) that downloads from start - [dash] Create protocol
http_dash_segments_generator
that allows a function to be passed instead of fragments - [fragment] Allow multiple live dash formats to download simultaneously
- [youtube] Implement fragment re-fetching for the live dash formats
- [youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
- [postprocessor/ffmpeg] Add
FFmpegFixupDuplicateMoovPP
to fixup duplicated moov atoms - Known issues:
- Ctrl+C doesn't work on Windows when downloading multiple formats
- If video becomes private, download hangs
- Add option
- [SponsorBlock] Add
Filler
andHighlight
categories by nihil-admirari, pukkandan- Change
--sponsorblock-cut all
to--sponsorblock-cut default
if 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-retries
by ehoogeveen-medweb - [outtmpl] Add alternate forms
S
,D
and improveid
detection - [outtmpl] Add operator
&
for replacement text by PilzAdam - [EmbedSubtitle] Disable duration check temporarily
- [extractor] Add
_search_nuxt_data
by nao20010128nao - [extractor] Ignore errors in comment extraction when
-i
is given - [extractor] Standardize
_live_title
- [FormatSort] Prevent incorrect deprecation warning
- [generic] Extract m3u8 formats from JSON-LD
- [postprocessor/ffmpeg] Always add
faststart
- [utils] Fix parsing
YYYYMMDD
dates in Nov/Dec by wlritchi - [utils] Improve
parse_count
- [utils] Update
std_headers
by kikuyan, fstirlitz - [lazy_extractors] Fix for search IEs
- [extractor] Support default implicit graph in JSON-LD by zmousm
- Allow
--no-write-thumbnail
to override--write-all-thumbnail
- Fix
--throttled-rate
- Fix control characters being printed to
--console-title
- Fix PostProcessor hooks not registered for some PPs
- Pre-process when using
--flat-playlist
- Remove known invalid thumbnails from
info_dict
- Add warning when using
-f best
- Use
parse_duration
for--wait-for-video
and some minor fix - [test/download] Add more fields
- [test/download] Ignore field
webpage_url_domain
by std-move - [compat] Suppress errors in enabling VT mode
- [docs] Improve manpage format by iw0nderhow, pukkandan
- [docs,cleanup] Minor fixes and cleanup
- [cleanup] Fix some typos by unit193
- [ABC:iview] Add show extractor by pabs3
- [dropout] Add extractor by TwoThousandHedgehogs, pukkandan
- [GameJolt] Add extractors by MinePlayersPE
- [gofile] Add extractor by Jertzukka, Ashish0804
- [hse] Add extractors by cypheron, pukkandan
- [NateTV] Add NateIE and NateProgramIE by Ashish0804, Hyeeji
- [OpenCast] Add extractors by bwildenhain, C0D3D3V
- [rtve] Add
RTVEAudioIE
by kebianizao - [Rutube] Add RutubeChannelIE by Ashish0804
- [skeb] Add extractor by nao20010128nao
- [soundcloud] Add related tracks extractor by Lapin0t
- [toggo] Add extractor by nyuszika7h
- [TrueID] Add extractor by MinePlayersPE
- [audiomack] Update album and song VALID_URL by abdullah-if, dirkf
- [CBC Gem] Extract 1080p formats by DavidSkrundz
- [ceskatelevize] Fetch iframe from nextJS data by mkubecek
- [crackle] Look for non-DRM formats by raleeper
- [dplay] Temporary fix for
discoveryplus.com/it
- [DiscoveryPlusShowBaseIE] yield actual video id by Ashish0804
- [Facebook] Handle redirect URLs
- [fujitv] Extract 1080p from
tv_android
m3u8 by YuenSzeHong - [gronkh] Support new URL pattern by Sematre
- [instagram] Expand valid URL by u-spec-png
- [Instagram] Try bypassing login wall with embed page by MinePlayersPE
- [Jamendo] Fix use of
_VALID_URL_RE
by jaller94 - [LBRY] Support livestreams by Ashish0804, pukkandan
- [NJPWWorld] Extract formats from m3u8 by aarubui
- [NovaEmbed] update player regex by std-move
- [npr] Make SMIL extraction non-fatal by r5d
- [ntvcojp] Extract NUXT data by nao20010128nao
- [ok.ru] add mobile fallback by nao20010128nao
- [olympics] Add uploader and cleanup by u-spec-png
- [ondemandkorea] Update
jw_config
regex by julien-hadleyjack - [PlutoTV] Expand
_VALID_URL
- [RaiNews] Fix extractor by nixxo
- [RCTIPlusSeries] Lazy extraction and video type selection by MinePlayersPE
- [redtube] Handle formats delivered inside a JSON by dirkf, nixxo
- [SonyLiv] Add OTP login support by Ashish0804
- [Steam] Fix extractor by u-spec-png
- [TikTok] Pass cookies to mobile API by MinePlayersPE
- [trovo] Fix inheritance of
TrovoChannelBaseIE
- [TVer] Extract better thumbnails by YuenSzeHong
- [vimeo] Extract chapters
- [web.archive:youtube] Improve metadata extraction by coletdjnz
- [youtube:comments] Add more options for limiting number of comments extracted by coletdjnz
- [youtube:tab] Extract more metadata from feeds/channels/playlists by coletdjnz
- [youtube:tab] Extract video thumbnails from playlist by coletdjnz, pukkandan
- [youtube:tab] Ignore query when redirecting channel to playlist and cleanup of related code
- [youtube] Fix
ytsearchdate
- [zdf] Support videos with different ptmd location by iw0nderhow
- [zee5] Support /episodes in URL
2021.12.01
- Add option
--wait-for-video
to wait for scheduled streams - Add option
--break-per-input
to apply --break-on... to each input URL - Add option
--embed-info-json
to embed info.json in mkv - Add compat-option
embed-metadata
- Allow using a custom format selector through API
- [AES] Add ECB mode by nao20010128nao
- [build] Fix MacOS Build
- [build] Save Git HEAD at release alongside version info
- [build] Use
workflow_dispatch
for release - [downloader/ffmpeg] Fix for direct videos inside mpd manifests
- [downloader] Add colors to download progress
- [EmbedSubtitles] Slightly relax duration check and related cleanup
- [ExtractAudio] Fix conversion to
wav
andvorbis
- [ExtractAudio] Support
alac
- [extractor] Extract
average_rating
from JSON-LD - [FixupM3u8] Fixup MPEG-TS in MP4 container
- [generic] Support mpd manifests without extension by shirt
- [hls] Better FairPlay DRM detection by nyuszika7h
- [jsinterp] Fix splice to handle float (for youtube js player f1ca6900)
- [utils] Allow alignment in
render_table
and add tests - [utils] Fix
PagedList
- [utils] Fix error when copying
LazyList
- Clarify video/audio-only formats in -F
- Ensure directory exists when checking formats
- Ensure path for link files exists by Zirro
- Ensure same config file is not loaded multiple times
- Fix
postprocessor_hooks
- Fix
--break-on-archive
when pre-checking - Fix
--check-formats
formhtml
- Fix
--load-info-json
of playlists with failed entries - Fix
--trim-filename
when filename has.
- Fix bug in parsing
--add-header
- Fix error in
report_unplayable_conflict
by shirt - Fix writing playlist infojson with
--no-clean-infojson
- Validate --get-bypass-country
- [blogger] Add extractor by pabs3
- [breitbart] Add extractor by Grabien
- [CableAV] Add extractor by j54vc1bk
- [CanalAlpha] Add extractor by Ashish0804
- [CozyTV] Add extractor by Ashish0804
- [CPTwentyFour] Add extractor by Ashish0804
- [DiscoveryPlus] Add
DiscoveryPlusItalyShowIE
by Ashish0804 - [ESPNCricInfo] Add extractor by Ashish0804
- [LinkedIn] Add extractor by u-spec-png
- [mixch] Add extractor by nao20010128nao
- [nebula] Add
NebulaCollectionIE
and rewrite extractor by hheimbuerger - [OneFootball] Add extractor by Ashish0804
- [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_url
correctly - [Tokentube] Fix description by u-spec-png
- [trovo] Fix extractor by nyuszika7h
- [tv2] Expand valid URL
- [Tvplayhome] Fix extractor by pukkandan, 18928172992817182
- [Twitch:vod] Add chapters by mpeter50
- [twitch:vod] Extract live status by DEvmIb
- [VidLii] Add 720p support by mrpapersonic
- [vimeo] Add fallback for config URL
- [vimeo] Sort http formats higher
- [WDR] Expand valid URL
- [willow] Add extractor by aarubui
- [xvideos] Detect embed URLs by 4a1e2y5
- [xvideos] Fix extractor by Yakabuff
- [youtube, cleanup] Reorganize Tab and Search extractor inheritances
- [youtube:search_url] Add playlist/channel support
- [youtube] Add
default
player client by coletdjnz - [youtube] Add storyboard formats
- [youtube] Decrypt n-sig for URLs with
ratebypass
- [youtube] Minor improvement to format sorting
- [cleanup] Add deprecation warnings
- [cleanup] 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-formats
from--check-formats
- Approximate filesize from bitrate
- Don't create console in
windows_enable_vt_mode
- Fix bug in
--load-infojson
of playlists - [minicurses] Add colors to
-F
and standardize color-printing code - [outtmpl] Add type
link
for internet shortcut files - [outtmpl] Add alternate forms for
q
andj
- [outtmpl] Do not traverse
None
- [fragment] Fix progress display in fragmented downloads
- [downloader/ffmpeg] Fix vtt download with ffmpeg
- [ffmpeg] Detect presence of setts and libavformat version
- [ExtractAudio] Rescale
--audio-quality
correctly by CrypticSignal, pukkandan - [ExtractAudio] Use
libfdk_aac
if available by CrypticSignal - [FormatSort]
eac3
is better thanac3
- [FormatSort] Fix some fields' defaults
- [generic] Detect more json_ld
- [generic] parse jwplayer with only the json URL
- [extractor] Add keyword automatically to SearchIE descriptions
- [extractor] Fix some errors being converted to
ExtractorError
- [utils] Add
join_nonempty
- [utils] Add
jwt_decode_hs256
by Ashish0804 - [utils] Create
DownloadCancelled
exception - [utils] Parse
vp09
as vp9 - [utils] Sanitize URL when determining protocol
- [test/download] Fallback test to
bv
- [docs] Minor documentation improvements
- [cleanup] Improvements to error and debug messages
- [cleanup] Minor fixes and cleanup
- [3speak] Add extractors by Ashish0804
- [AmazonStore] Add extractor by Ashish0804
- [Gab] Add extractor by u-spec-png
- [mediaset] Add playlist support by nixxo
- [MLSScoccer] Add extractor by Ashish0804
- [N1] Add support for nova.rs by u-spec-png
- [PlanetMarathi] Add extractor by Ashish0804
- [RaiplayRadio] Add extractors by frafra
- [roosterteeth] Add series extractor
- [sky] Add
SkyNewsStoryIE
by ajj8 - [youtube] Fix sorting for some videos
- [youtube] Populate
thumbnail
with the best "known" thumbnail - [youtube] Refactor itag processing
- [youtube] Remove unnecessary no-playlist warning
- [youtube:tab] Add Invidious list for playlists/channels by rhendric
- [Bilibili:comments] Fix infinite loop by u-spec-png
- [ceskatelevize] Fix extractor by flashdagger
- [Coub] Fix media format identification by wlritchi
- [crunchyroll] Add extractor-args
language
andhardsub
- [DiscoveryPlus] Allow language codes in URL
- [imdb] Fix thumbnail by ozburo
- [instagram] Add IOS URL support by u-spec-png
- [instagram] Improve login code by u-spec-png
- [Instagram] Improve metadata extraction by u-spec-png
- [iPrima] Fix extractor by stanoarn
- [itv] Add support for ITV News by ajj8
- [la7] Fix extractor by nixxo
- [linkedin] Don't login multiple times
- [mtv] Fix some videos by Sipherdrakon
- [Newgrounds] Fix description by u-spec-png
- [Nrk] Minor fixes by fractalf
- [Olympics] Fix extractor by u-spec-png
- [piksel] Fix sorting
- [twitter] Do not sort by codec
- [viewlift] Add cookie-based login and series support by Ashish0804, pukkandan
- [vimeo] Detect source extension and misc cleanup by flashdagger
- [vimeo] Fix ondemand videos and direct URLs with hash
- [vk] Fix login and add subtitles by kaz-us
- [VLive] Add upload_date and thumbnail by Ashish0804
- [VRT] Fix login by pgaig
- [Vupload] Fix extractor by u-spec-png
- [wakanim] Add support for MPD manifests by nyuszika7h
- [wakanim] Detect geo-restriction by nyuszika7h
- [ZenYandex] Fix extractor by u-spec-png
2021.10.22
- [build] Improvements
- Build standalone MacOS packages by smplayer-dev
- Release windows exe built with
py2exe
- Enable lazy-extractors in releases.
- Set env var
YTDLP_NO_LAZY_EXTRACTORS
to forcefully disable this (experimental)
- Set env var
- Clean up error reporting in update
- Refactor
pyinst.py
, misc cleanup and improve docs
- [docs] Migrate issues to use forms by Ashish0804
- [downloader] Fix slow progress hooks
- This was causing HLS/DASH downloads to be extremely slow in some situations
- [downloader/ffmpeg] Improve simultaneous download and merge
- [EmbedMetadata] Allow overwriting all default metadata with
meta_default
key - [ModifyChapters] Add ability for
--remove-chapters
to remove sections by timestamp - [utils] Allow duration strings in
--match-filter
- Add HDR information to formats
- Add negative option
--no-batch-file
by Zirro - Calculate more fields for merged formats
- Do not verify thumbnail URLs unless
--check-formats
is specified - Don't create console for subprocesses on Windows
- Fix
--restrict-filename
when used with default template - Fix
check_formats
output being written to stdout when-qv
- Fix bug in storyboards
- Fix conflict b/w id and ext in format selection
- Fix verbose head not showing custom configs
- Load archive only after printing verbose head
- Make
duration_string
andresolution
available in --match-filter - Re-implement deprecated option
--id
- Reduce default
--socket-timeout
- Write verbose header to logger
- [outtmpl] Fix bug in expanding environment variables
- [cookies] Local State should be opened as utf-8
- [extractor,utils] Detect more codecs/mimetypes
- [extractor] Detect
EXT-X-KEY
Apple FairPlay - [utils] Use
importlib
to load plugins by sulyi - [http] Retry on socket timeout and show the last encountered error
- [fragment] Print error message when skipping fragment
- [aria2c] Fix
--skip-unavailable-fragment
- [SponsorBlock] Obey
extractor-retries
andsleep-requests
- [Merger] Do not add
aac_adtstoasc
to non-hls audio - [ModifyChapters] Do not mutate original chapters by nihil-admirari
- [devscripts/run_tests] Use markers to filter tests by sulyi
- [7plus] Add cookie based authentication by nyuszika7h
- [AdobePass] Fix RCN MSO by jfogelman
- [CBC] Fix Gem livestream by makeworld-the-better-one
- [CBC] Support CBC Gem member content by makeworld-the-better-one
- [crunchyroll] Add season to flat-playlist
- [crunchyroll] Add support for
beta.crunchyroll
URLs and fix series URLs with language code - [EUScreen] Add Extractor by Ashish0804
- [Gronkh] Add extractor by Ashish0804
- [hidive] Fix typo
- [Hotstar] Mention Dynamic Range in
format_id
by Ashish0804 - [Hotstar] Raise appropriate error for DRM
- [instagram] Add login by u-spec-png
- [instagram] Show appropriate error when login is needed
- [microsoftstream] Add extractor by damianoamatruda, nixklai
- [on24] Add extractor by damianoamatruda
- [patreon] Fix vimeo player regex by zenerdi0de
- [SkyNewsAU] Add extractor by Ashish0804
- [tagesschau] Fix extractor by u-spec-png
- [tbs] Add tbs live streams by llacb47
- [tiktok] Fix typo and update tests
- [trovo] Support channel clips and VODs by Ashish0804
- [Viafree] Add support for Finland by 18928172992817182
- [vimeo] Fix embedded
player.vimeo
- [vlive:channel] Fix extraction by kikuyan, pukkandan
- [youtube] Add auto-translated subtitles
- [youtube] Expose different formats with same itag
- [youtube:comments] Fix for new layout by coletdjnz
- [cleanup] Cleanup bilibili code by pukkandan, u-spec-png
- [cleanup] Remove broken youtube login code
- [cleanup] Standardize timestamp formatting code
- [cleanup] Generalize
getcomments
implementation for extractors - [cleanup] Simplify search extractors code
- [cleanup] misc
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-title
and--no-progress
- Add option
--progress
to show progress-bar even in quiet mode - Fix and refactor
minicurses
and use it for all progress reporting - Standardize use of terminal sequences and enable color support for windows 10
- Add option
--progress-template
to customize progress-bar and console-title - Add postprocessor hooks and progress reporting
- Separate
- [postprocessor] Add plugin support with option
--use-postprocessor
- [extractor] Extract storyboards from SMIL manifests by fstirlitz
- [outtmpl] Alternate form of format type
l
for\n
delimited list - [outtmpl] Format type
U
for unicode normalization - [outtmpl] Allow empty output template to skip a type of file
- Merge webm formats into mkv if thumbnails are to be embedded
- [adobepass] Add RCN as MSO by jfogelman
- [ciscowebex] Add extractor by damianoamatruda
- [Gettr] Add extractor by i6t
- [GoPro] Add extractor by i6t
- [N1] Add extractor by u-spec-png
- [Theta] Add video extractor by alerikaisattera
- [Veo] Add extractor by i6t
- [Vupload] Add extractor by u-spec-png
- [bbc] Extract better quality videos by ajj8
- [Bilibili] Add subtitle converter by u-spec-png
- [CBC] Cleanup tests by makeworld-the-better-one
- [Douyin] Rewrite extractor by MinePlayersPE
- [Funimation] Fix for /v/ urls by pukkandan, Jules-A
- [Funimation] Sort formats according to the relevant extractor-args
- [Hidive] Fix duplicate and incorrect formats
- [HotStarSeries] Fix cookies by Ashish0804
- [LinkedInLearning] Add subtitles by Ashish0804
- [Mediaite] Relax valid url by coletdjnz
- [Newgrounds] Add age_limit and fix duration by u-spec-png
- [Newgrounds] Fix view count on songs by u-spec-png
- [parliamentlive.tv] Fix extractor by u-spec-png
- [PolskieRadio] Fix extractors by jakubadamw, u-spec-png
- [reddit] Add embedded url by u-spec-png
- [reddit] Fix 429 by generating a random
reddit_session
by AjaxGb - [Rumble] Add RumbleChannelIE by Ashish0804
- [soundcloud:playlist] Detect last page correctly
- [SovietsCloset] Add duration from m3u8 by ChillingPepper
- [Streamable] Add codecs by u-spec-png
- [vidme] Remove extractor by alerikaisattera
- [youtube:tab] Fallback to API when webpage fails to download by coletdjnz
- [youtube] Fix non-fatal errors in fetching player
- Fix
--flat-playlist
when neither IE nor id is known - Fix
-f mp4
behaving differently from youtube-dl - Workaround for bug in
ssl.SSLContext.load_default_certs
- [aes] Improve performance slightly by sulyi
- [cookies] Fix keyring fallback by mbway
- [embedsubtitle] Fix error when duration is unknown
- [ffmpeg] Fix error when subtitle file is missing
- [ffmpeg] Set max probesize to workaround AAC HLS stream issues by shirt
- [FixupM3u8] Remove redundant run if merged is needed
- [hls] Fix decryption issues by shirt, pukkandan
- [http] Respect user-provided chunk size over extractor's
- [utils] Let traverse_obj accept functions as keys
- [docs] Add note about our custom ffmpeg builds
- [docs] Write embedding and contributing documentation by pukkandan, timethrow
- [update] Check for new version even if not updateable
- [build] Add more files to the tarball
- [build] Allow building with py2exe (and misc fixes)
- [build] Use pycryptodomex by shirt, pukkandan
- [cleanup] Some minor refactoring, improve docs and misc cleanup