60 KiB
Changelog
2021.08.10
- Add option
--replace-in-metadata - Add option
--no-simulateto not simulate even when--printor--list...are used - Deprecates--print-json - Allow entire infodict to be printed using
%()s- makes--dump-jsonredundant - Allow multiple
--execand--exec-before-download - Add regex to
--match-filter - Add all format filtering operators also to
--match-filterby max-te - Add compat-option
no-keep-subs - [adobepass] Add MSO Cablevision by Jessecar96
- [BandCamp] Add BandcampMusicIE by Ashish0804
- [blackboardcollaborate] Add new extractor by mzbaulhaque
- [eroprofile] Add album downloader by jhwgh1968
- [mirrativ] Add extractors by nao20010128nao
- [openrec] Add extractors by nao20010128nao
- [nbcolympics:stream] Fix extractor by nchilada, pukkandan
- [nbcolympics] Update extractor for 2020 olympics by wesnm
- [paramountplus] Separate extractor and fix some titles by shirt, pukkandan
- [RCTIPlus] Support events and TV by MinePlayersPE
- [Newgrounds] Improve extractor and fix playlist by u-spec-png
- [aenetworks] Update
_THEPLATFORM_KEYand_THEPLATFORM_SECRETby wesnm - [crunchyroll] Fix thumbnail by funniray
- [HotStar] Use API for metadata and extract subtitles by Ashish0804
- [instagram] Fix comments extraction by u-spec-png
- [peertube] Fix videos without description by u-spec-png
- [twitch:clips] Extract
display_idby dirkf - [viki] Print error message from API request
- [Vine] Remove invalid formats by u-spec-png
- [VrtNU] Fix XSRF token by pgaig
- [vrv] Fix thumbnail extraction by funniray
- [youtube] Add extractor-arg
include-live-dashto show live dash formats - [youtube] Improve signature function detection by PSlava
- [youtube] Raise appropriate error when API pages can't be downloaded
- Ensure
_write_ytdl_filecloses file handle on error - Fix
--compat-options filenameby stdedos - Fix issues with infodict sanitization
- Fix resuming when using
--no-part - Fix wrong extension for intermediate files
- Handle
BrokenPipeErrorby kikuyan - Show libraries present in verbose head
- [extractor] Detect
sttpas subtitles in MPD by fstirlitz - [extractor] Reset non-repeating warnings per video
- [ffmpeg] Fix streaming
mp4tostdout - [ffpmeg] Allow
--ffmpeg-locationto be a file with different name - [utils] Fix
InAdvancePagedList.__getitem__ - [utils] Fix
traverse_objdepth whenis_user_input - [webvtt] Merge daisy-chained duplicate cues by fstirlitz
- [build] Use custom build of
pyinstallerby shirt - [tests:download] Add batch testing for extractors (
test_YourExtractor_all) - [docs] Document which fields
--add-metadataadds to the file - [docs] Fix some mistakes and improve doc
- [cleanup] Misc code cleanup
2021.08.02
- Add logo, banner and donate links
- Expand and escape environment variables correctly in output template
- Add format types
j(json),l(comma delimited list),q(quoted for terminal) in output template - [downloader] Allow streaming some unmerged formats to stdout using ffmpeg
- [youtube] Age-gate bypass
- Add
agegateclients by pukkandan, MinePlayersPE - Add
thirdPartyto agegate clients to bypass more videos - Simplify client definitions, expose
embeddedclients - Improve age-gate detection by coletdjnz
- Fix default global API key by coletdjnz
- Add
creatorclients for age-gate bypass using unverified accounts by zerodytrash, coletdjnz, pukkandan
- Add
- [adobepass] Add MSO Sling TV by wesnm
- [CBS] Add ParamountPlusSeriesIE by Ashish0804
- [dplay] Add
ScienceChannelIEby Sipherdrakon - [UtreonIE] Add extractor by Ashish0804
- [youtube] Add
mwebclient by coletdjnz - [youtube] Add
player_client=all - [youtube] Force
hl=enfor comments by coletdjnz - [youtube] Fix format sorting when using alternate clients
- [youtube] Misc cleanup by pukkandan, coletdjnz
- [youtube] Extract SAPISID only once
- [CBS] Add fallback by llacb47, pukkandan
- [Hotstar] Support cookies by Ashish0804
- [HotStarSeriesIE] Fix regex by Ashish0804
- [bilibili] Improve
_VALID_URL - [mediaset] Fix extraction by nixxo
- [Mxplayer] Add h265 formats by Ashish0804
- [RCTIPlus] Remove PhantomJS dependency by MinePlayersPE
- [tenplay] Add MA15+ age limit by pento
- [vidio] Fix login error detection by MinePlayersPE
- [vimeo] Better extraction of original file by Ashish0804
- [generic] Support KVS player (replaces ThisVidIE) by rigstot
- Add compat-option
no-clean-infojson - Remove
asrappearing twice in-F - Set
home:as the default key for-P - [utils] Fix slicing of reversed
LazyList - [FormatSort] Fix bug for audio with unknown codec
- [test:download] Support testing with
ignore_no_formats_error - [cleanup] Refactor some code
2021.07.24
- [youtube:tab] Extract video duration early
- [downloader] Pass
info_dicttoprogress_hooks - [youtube] Fix age-gated videos for API clients when cookies are supplied by coletdjnz
- [youtube] Disable
get_video_infoage-gate workaround - This endpoint seems to be completely dead - [youtube] Try all clients even if age-gated
- [youtube] Fix subtitles only being extracted from the first client
- [youtube] Simplify
_get_text - [cookies] bugfix for microsoft edge on macOS
- [cookies] Handle
sqliteImportErrorgracefully by mbway - [cookies] Handle errors when importing
keyring
2021.07.21
- Add option
--cookies-from-browserto load cookies from a browser by mbway- Usage:
--cookies-from-browser BROWSER[:PROFILE_NAME_OR_PATH] - Also added
--no-cookies-from-browser - To decrypt chromium cookies,
keyringis needed for UNIX andpycryptodomefor Windows
- Usage:
- Add option
--exec-before-download - Add field
live_status - [FFmpegMetadata] Add language of each stream and some refactoring
- [douyin] Add extractor by pukkandan, pyx
- [pornflip] Add extractor by mzbaulhaque
- [youtube] Extract data from multiple clients by pukkandan, coletdjnz
player_clientnow accepts multiple clients- Default
player_client=android,web- This uses twice as many requests, but avoids throttling for most videos while also not losing any formats
- Music clients can be specifically requested and is enabled by default if
music.youtube.com - Added
player_client=ios(Known issue: formats from ios are not sorted correctly) - Add age-gate bypass for android and ios clients
- [youtube] Extract more thumbnails
- The thumbnail URLs are hard-coded and their actual existence is tested lazily
- Added option
--no-check-formatsto not test them
- [youtube] Misc fixes
- Improve extraction of livestream metadata by pukkandan, krichbanana
- Hide live dash formats since they can't be downloaded anyway
- Fix authentication when using multiple accounts by coletdjnz
- Fix controversial videos when requested via API by coletdjnz
- Fix session index extraction and headers for non-web player clients by coletdjnz
- Make
--extractor-retrieswork for more errors - Fix sorting of 3gp format
- Sanity check
chapters(and refactor related code) - Make
parse_time_textand_extract_chaptersnon-fatal - Misc cleanup and bug fixes by coletdjnz
- [youtube:tab] Fix channels tab
- [youtube:tab] Extract playlist availability by coletdjnz
- [youtube:comments] Move comment extraction to new API by coletdjnz
- Adds extractor-args
comment_sort(top/new),max_comments,max_comment_depth
- Adds extractor-args
- [youtube:comments] Fix
is_favorited, improvelike_countparsing by coletdjnz - [BravoTV] Improve metadata extraction by kevinoconnor7
- [crunchyroll:playlist] Force http
- [yahoo:gyao:player] Relax
_VALID_URLby nao20010128nao - [nebula] Authentication via tokens from cookie jar by hheimbuerger, TpmKranz
- [RTP] Fix extraction and add subtitles by fstirlitz
- [viki] Rewrite extractors and add extractor-arg
video_typestovikichannelby zackmark29, pukkandan - [vlive] Extract thumbnail directly in addition to the one from Naver
- [generic] Extract previously missed subtitles by fstirlitz
- [generic] Extract everything in the SMIL manifest and detect discarded subtitles by fstirlitz
- [embedthumbnail] Fix
_get_thumbnail_resolution - [metadatafromfield] Do not detect numbers as field names
- Fix selectors
all,mergealland add tests - Errors in playlist extraction should obey
--ignore-errors - Fix bug where
original_urlwas not propagated when_type=url - Revert "Merge webm formats into mkv if thumbnails are to be embedded (#173)"
- This was wrongly checking for
write_thumbnail
- This was wrongly checking for
- Improve
extractor_argsparsing - Rename
NOTEin-FtoMORE INFOsince it's often confused to be the same asformat_note - Add
only_onceparam forwrite_debugandreport_warning - [extractor] Allow extracting multiple groups in
_search_regexby fstirlitz - [utils] Improve
traverse_obj - [utils] Add
variadic - [utils] Improve
js_to_jsoncomment regex by fstirlitz - [webtt] Fix timestamps
- [compat] Remove unnecessary code
- [docs] fix default of multistreams
2021.07.07
- Merge youtube-dl: Upto commit/a803582
- Add
--extractor-argsto pass some extractor-specific arguments. See readme- Add extractor option
skipforyoutube. Eg:--extractor-args youtube:skip=hls,dash - Deprecates
--youtube-skip-dash-manifest,--youtube-skip-hls-manifest,--youtube-include-dash-manifest,--youtube-include-hls-manifest
- Add extractor option
- Allow
--list...options to work with--print,--quietand other--list...options - [youtube] Use
playerAPI for additional video extraction requests by coletdjnz- Fixes youtube premium music (format 141) extraction
- Adds extractor option
player_client=web/android--extractor-args youtube:player_client=androidworks around the throttling for the time-being
- Adds extractor option
player_skip=config - Adds age-gate fallback using embedded client
- [youtube] Choose correct Live chat API for upcoming streams by krichbanana
- [youtube] Fix subtitle names for age-gated videos
- [youtube:comments] Fix error handling and add
itctto params by coletdjnz - [youtube_live_chat] Fix download with cookies by siikamiika
- [youtube_live_chat] use
clickTrackingParamsby siikamiika - [Funimation] Rewrite extractor
- Add
FunimationShowIEby Mevious - Treat the different versions of an episode as different formats of a single video
- This changes the video
idand will break break existing archives - Compat option
seperate-video-versionsto fall back to old behavior including using the old video ids
- This changes the video
- Support direct
/player/URL - Extractor options
languageandversionto pre-select them during extraction- These options may be removed in the future if we can extract all formats without additional network requests
- Do not rely on these for format selection and use
-ffilters instead
- Add
- [AdobePass] Add Spectrum MSO by kevinoconnor7, ohmybahgosh
- [facebook] Extract description and fix title
- [fancode] Fix extraction, support live and allow login with refresh token by zenerdi0de
- [plutotv] Improve
_VALID_URL - [RCTIPlus] Add extractor by MinePlayersPE
- [Soundcloud] Allow login using oauth token by blackjack4494
- [TBS] Support livestreams by llacb47
- [videa] Fix extraction by nyuszika7h
- [yahoo] Fix extraction by llacb47, pukkandan
- Process videos when using
--ignore-no-formats-errorby krichbanana - Fix
--throttled-ratewhen using--load-info-json - Fix
--flat-playlistwhen entry has noie_key - Fix
check_formatscatchingExtractorErrorinstead ofDownloadError - Fix deprecated option
--list-formats-old - [downloader/ffmpeg] Fix
--ppawhen using simultaneous download - [extractor] Prevent unnecessary download of hls manifests and refactor
hls_split_discontinuity - [fragment] Handle status of download and errors in threads correctly; and minor refactoring
- [thumbnailsconvertor] Treat
jpegasjpg - [utils] Fix issues with
LazyListreversal - [extractor] Allow extractors to set their own login hint
- [cleanup] Simplify format selector code with
LazyListandyield from - [cleanup] Clean
extractor.common._merge_subtitlessignature - [cleanup] Fix some typos
2021.06.23
- Merge youtube-dl: Upto commit/379f52a
- Add option
--throttled-ratebelow which video data is re-extracted - [fragment] Merge during download for
-N, and refactorhls/dash - [websockets] Add
WebSocketFragmentFDby nao20010128nao, pukkandan - Allow
imagesformats in addition to video/audio - [downloader/mhtml] Add new downloader for slideshows/storyboards by fstirlitz
- [youtube] Temporary fix for age-gate
- [youtube] Support ongoing live chat by siikamiika
- [youtube] Improve SAPISID cookie handling by coletdjnz
- [youtube] Login is not needed for
:ytrec - [youtube] Non-fatal alert reporting for unavailable videos page by coletdjnz
- [twitcasting] Websocket support by nao20010128nao
- [mediasite] Extract slides by fstirlitz
- [funimation] Extract subtitles
- [pornhub] Extract
cast - [hotstar] Use server time for authentication instead of local time
- [EmbedThumbnail] Fix for already downloaded thumbnail
- [EmbedThumbnail] Add compat-option
embed-thumbnail-atomicparsley - Expand
--check-formatsto thumbnails - Fix id sanitization in filenames
- Skip fixup of existing files and add
--fixup forceto force it - Better error handling of syntax errors in
-f - Use
NamedTemporaryFilefor--check-formats - [aria2c] Lower
--min-split-sizefor HTTP downloads - [options] Rename
--add-metadatato--embed-metadata - [utils] Improve
LazyListand add tests - [build] Build Windows x86 version with py3.7 and remove redundant tests by pukkandan, shirt
- [docs] Clarify that
--embed-metadataembeds chapter markers - [cleanup] Refactor fixup
2021.06.09
- Fix bug where
%(field)din filename template throws error - Improve offset parsing in outtmpl
- [test] More rigorous tests for
prepare_filename
2021.06.08
- Remove support for obsolete Python versions: Only 3.6+ is now supported
- Merge youtube-dl: Upto commit/c2350ca
- [hls] Fix decryption for multithreaded downloader
- [extractor] Fix pre-checking archive for some extractors
- [extractor] Fix FourCC fallback when parsing ISM by fstirlitz
- [twitcasting] Add TwitCastingUserIE, TwitCastingLiveIE by pukkandan, nao20010128nao
- [vidio] Add VidioPremierIE and VidioLiveIE by MinePlayersPE
- [viki] Fix extraction from ytdl-org/youtube-dl@59e583f
- [youtube] Support shorts URL
- [zoom] Extract transcripts as subtitles
- Add field
original_urlwith the user-inputted URL - Fix and refactor
prepare_outtmpl - Make more fields available for
--printwhen used with--flat-playlist - [utils] Generalize
traverse_dicttotraverse_obj - [downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode by fstirlitz
- [build] Release
yt-dlp.tar.gz - [build,update] Add GNU-style SHA512 and prepare updater for simlar SHA256 by nihil-admirari
- [pyinst] Show Python version in exe metadata by nihil-admirari
- [docs] Improve documentation of dependencies
- [cleanup] Mark unused files
- [cleanup] Point all shebang to
python3by fstirlitz - [cleanup] Remove duplicate file
trovolive.py
2021.06.01
- Merge youtube-dl: Upto commit/d495292
- Pre-check archive and filters during playlist extraction
- Handle Basic Auth
user:passin URLs by hhirtz and pukkandan - [archiveorg] Add YoutubeWebArchiveIE by coletdjnz and alex-gedeon
- [fancode] Add extractor by rhsmachine
- [patreon] Support vimeo embeds by rhsmachine
- [Saitosan] Add new extractor by llacb47
- [ShemarooMe] Add extractor by Ashish0804 and pukkandan
- [telemundo] Add extractor by king-millez
- [SonyLIV] Add SonyLIVSeriesIE and subtitle support by Ashish0804
- [Hotstar] Add HotStarSeriesIE by Ashish0804
- [Voot] Add VootSeriesIE by Ashish0804
- [vidio] Support login and premium videos by MinePlayersPE
- [fragment] When using
-N, do not keep the fragment content in memory - [ffmpeg] Download and merge in a single step if possible
- [ThumbnailsConvertor] Support conversion to
pngand make it the default by louie-github - [VideoConvertor] Generalize with remuxer and allow conditional recoding
- [EmbedThumbnail] Embed in
mp4/m4ausing mutagen by tripulse and pukkandan - [EmbedThumbnail] Embed if any thumbnail was downloaded, not just the best
- [EmbedThumbnail] Correctly escape filename
- [update] replace self without launching a subprocess in windows
- [update] Block further update for unsupported systems
- Refactor
__process_playlistby creatingLazyList - Write messages to
stderrwhen bothquietandverbose - Sanitize and sort playlist thumbnails
- Remove
Nonevalues frominfo.json - [extractor] Always prefer native hls downloader by default
- [extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
- [extractor] Functions to parse
socket.ioresponse asjsonby pukkandan and llacb47 - [extractor] Allow
note=Falsewhen extracting manifests - [utils] Escape URLs in
sanitized_Request, notsanitize_url - [hls] Disable external downloader for
webtt - [youtube]
/liveURLs should raise error if channel is not live - [youtube] Bug fixes
- [zee5] Fix m3u8 formats' extension
- [ard] Allow URLs without
-before id by olifre - [cleanup]
YoutubeDL._match_entry - [cleanup] Refactor updater
- [cleanup] Refactor ffmpeg convertors
- [cleanup] setup.py
2021.05.20
- Youtube improvements:
- Support youtube music
MP,VLandbrowsepages - Extract more formats for youtube music by craftingmod, coletdjnz and pukkandan
- Extract multiple subtitles in same language by pukkandan and tpikonen
- Redirect channels that doesn't have a
videostab to theirUUplaylists - Support in-channel search
- Sort audio-only formats correctly
- Always extract
maxresdefaultthumbnail - Extract audio language
- Add subtitle language names by nixxo and tpikonen
- Show alerts only from the final webpage
- Add
html5=1param toget_video_infopage requests by coletdjnz - Better message when login required
- Support youtube music
- Add option
--print: to print any field/template- Makes redundant:
--get-description,--get-duration,--get-filename,--get-format,--get-id,--get-thumbnail,--get-title,--get-url
- Makes redundant:
- Field
additional_urlsto download additional videos from metadata using--parse-metadata - Merge youtube-dl: Upto commit/dfbbe29
- Write thumbnail of playlist and add
pl_thumbnailouttmpl key - [embedthumbnail] Add
flacsupport and refactormutagencode by pukkandan and tripulse - [audius:artist] Add extractor by king-millez
- [parlview] Add extractor by king-millez
- [tenplay] Fix extractor by king-millez
- [rmcdecouverte] Generalize
_VALID_URL - Add compat-option
no-attach-infojson - Add field
namefor subtitles - Ensure
post_extractandpre_processonly run once - Fix
--check-formatswhen there is network error - Standardize
write_debugandget_param - [options] Alias
--write-comments,--no-write-comments - [options] Refactor callbacks
- [test:download] Only extract enough videos for
playlist_mincount - [extractor] bugfix for when
compat_optsis not given - [build] Fix x86 build by shirt
- [cleanup] code formatting, youtube tests and readme
2021.05.11
- Deprecate support for python versions < 3.6
- Subtitle extraction from manifests by fstirlitz. See be6202f for details
- Improve output template:
- Allow slicing lists/strings using
field.start:end:step - A field can also be used as offset like
field1+num+field2 - A default value can be given using
field|default - Prevent invalid fields from causing errors
- Allow slicing lists/strings using
- Merge youtube-dl: Upto commit/a726009
- Remove options
-l,-t,-Acompletely and disable--auto-number,--title,--literal,--id - [Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
- [downloader] Fix
quietandto_stderr - [fragment] Ensure the file is closed on error
- [fragment] Make sure first segment is not skipped
- [aria2c] Fix whitespace being stripped off
- [embedthumbnail] Fix bug where jpeg thumbnails were converted again
- [FormatSort] Fix for when some formats have quality and others don't
- [utils] Add
network_exceptions - [utils] Escape URL while sanitizing
- [ukcolumn] Add Extractor
- [whowatch] Add extractor by nao20010128nao
- [CBS] Improve
_VALID_URLto support movies - [crackle] Improve extraction
- [curiositystream] Fix collections
- [francetvinfo] Improve video id extraction
- [generic] Respect the encoding in manifest
- [limelight] Obey
allow_unplayable_formats - [mediasite] Generalize URL pattern by fstirlitz
- [mxplayer] Add MxplayerShowIE by Ashish0804
- [nebula] Move to nebula.app by Lamieur
- [niconico] Fix HLS formats by CXwudi, tsukumijima, nao20010128nao and pukkandan
- [niconico] Fix title and thumbnail extraction by CXwudi
- [plutotv] Extract subtitles from manifests
- [plutotv] Fix format extraction for some urls
- [rmcdecouverte] Improve
_VALID_URL - [sonyliv] Fix
titleandseriesextraction by Ashish0804 - [tubi] Raise "no video formats" error when video url is empty
- [youtube:tab] Detect playlists inside community posts
- [youtube] Add
oembedto reserved names - [zee5] Fix extraction for some URLs by Hadi0609
- [zee5] Fix py2 compatibility
- Fix
playlist_indexand addplaylist_autonumber. See #302 for details - Add experimental option
--check-formatsto test the URLs before format selection - Option
--compat-optionsto revert some of yt-dlp's changes- Deprecates
--list-formats-as-table,--list-formats-old
- Deprecates
- Fix number of digits in
%(playlist_index)s - Fix case sensitivity of format selector
- Revert "[core] be able to hand over id and title using url_result"
- Do not strip out whitespaces in
-oand-P - Fix
preload_download_archivewriting verbose message tostdout - Move option warnings to
YoutubeDLso that they obey--no-warningsand can output colors - Py2 compatibility for
FileNotFoundError
2021.04.22
- Improve output template:
- Objects can be traversed like
%(field.key1.key2)s - An offset can be added to numeric fields as
%(field+N)s - Deprecates
--autonumber-start
- Objects can be traversed like
- Improve
--sub-langs:- Treat
--sub-langsentries as regex allcan be used to refer to all the subtitles- language codes can be prefixed with
-to exclude it - Deprecates
--all-subs
- Treat
- Add option
--ignore-no-formats-errorto ignore the "no video format" and similar errors - Add option
--skip-playlist-after-errorsto skip the rest of a playlist after a given number of errors are encountered - Merge youtube-dl: Upto commit/7e8b3f9
- [downloader] Fix bug in downloader selection
- [BilibiliChannel] Fix pagination by nao20010128nao and pukkandan
- [rai] Add support for http formats by nixxo
- [TubiTv] Add TubiTvShowIE by Ashish0804
- [twitcasting] Fix extractor
- [viu:ott] Fix extractor and support series by lkho and pukkandan
- [youtube:tab] Show unavailable videos in playlists by coletdjnz
- [youtube:tab] Reload with unavailable videos for all playlists
- [youtube] Ignore invalid stretch ratio
- [youtube] Improve channel syncid extraction to support ytcfg by coletdjnz
- [youtube] Standardize API calls for tabs, mixes and search by coletdjnz
- [youtube] Bugfix in
_extract_ytcfg - [mildom:user:vod] Download only necessary amount of pages
- [mildom] Remove proxy completely by fstirlitz
- [go] Fix
_VALID_URL - [MetadataFromField] Improve regex and add tests
- [Exec] Ensure backward compatibility when the command contains
% - [extractor] Fix inconsistent use of
report_warning - Ensure
mergeallselects best format when multistreams are disabled - Improve the yt-dlp.sh script by fstirlitz
- [lazy_extractor] Do not load plugins
- [ci] Disable fail-fast
- [docs] Clarify which deprecated options still work
- [docs] Fix typos
2021.04.11
- Add option
--convert-thumbnails(only jpg currently supported) - Format selector
mergeallto download and merge all formats - Pass any field to
--execusing similar syntax to output template - Choose downloader for each protocol using
--downloader PROTO:NAME- Alias
--downloaderfor--external-downloader - Added
nativeas an option for the downloader
- Alias
- Merge youtube-dl: Upto commit/4fb25ff (except vimeo)
- [DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE by Ashish0804
- [NFHSNetwork] Add extractor by llacb47
- [nebula] Add extractor (watchnebula.com) by hheimbuerger
- [nitter] Fix extraction of reply tweets and update instance list by B0pol
- [nitter] Fix thumbnails by B0pol
- [youtube] Fix thumbnail URL
- [youtube] Parse API parameters from initial webpage by coletdjnz
- [youtube] Extract comments' approximate timestamp by coletdjnz
- [youtube] Fix alert extraction
- [bilibili] Fix uploader
- [utils] Add
datetime_from_stranddatetime_add_monthsby coletdjnz - Run some
postprocessorsbefore actual download - Improve argument parsing for
-P,-o,-S - Fix some
m3u8not obeying--allow-unplayable-formats - Fix default of
dynamic_mpd - Deprecate
--all-formats,--include-ads,--hls-prefer-native,--hls-prefer-ffmpeg - [docs] Improvements
2021.04.03
- Merge youtube-dl: Upto commit/654b4f4
- Ability to set a specific field in the file's metadata using
--parse-metadata - Ability to select n'th best format like
-f bv*.2 - [DiscoveryPlus] Add discoveryplus.in
- [la7] Add podcasts and podcast playlists by nixxo
- [mildom] Update extractor with current proxy by nao20010128nao
- [ard:mediathek] Fix video id extraction
- [generic] Detect Invidious' link element
- [youtube] Show premium state in
availabilityby coletdjnz - [viewsource] Add extractor to handle
view-source: - [sponskrub] Run before embedding thumbnail
- [docs] Improve
--parse-metadatadocumentation
2021.03.24.1
- Revert commit/8562218
2021.03.24
- Merge youtube-dl: Upto 2021.03.25 (commit/8562218)
- Parse metadata from multiple fields using
--parse-metadata - Ability to load playlist infojson using
--load-info-json - Write current epoch to infojson when using
--no-clean-infojson - [youtube_live_chat] fix bug when trying to set cookies
- [niconico] Fix for when logged in by CXwudi and xtkoba
- [linuxacadamy] Fix login
2021.03.21
-
Merge youtube-dl: Upto commit/7e79ba7
-
Option
--no-clean-infojsonto keep private keys in the infojson -
[aria2c] Support retry/abort unavailable fragments by damianoamatruda
-
[aria2c] Better default arguments
-
[movefiles] Fix bugs and make more robust
-
[formatSort] Fix
qualitybeing ignored -
[splitchapters] Fix for older ffmpeg
-
[sponskrub] Pass proxy to sponskrub
-
Make sure
post_hookgets the final filename -
Recursively remove any private keys from infojson
-
Embed video URL metadata inside
mp4by damianoamatruda and pukkandan -
Merge
webmformats intomkvif thumbnails are to be embedded by damianoamatruda -
Use headers and cookies when downloading subtitles by damianoamatruda
-
Parse resolution in info dictionary by damianoamatruda
-
More consistent warning messages by damianoamatruda and pukkandan
-
[docs] Add deprecated options and aliases in readme
-
[docs] Fix some minor mistakes
-
[niconico] Partial fix adapted from animelover1984/youtube-dl@b5eff52 (login and smile formats still don't work)
-
[niconico] Add user extractor by animelover1984
-
[bilibili] Add anthology support by animelover1984
-
[amcnetworks] Fix extractor by 2ShedsJackson
-
[stitcher] Merge from youtube-dl by nixxo
-
[rcs] Improved extraction by nixxo
-
[linuxacadamy] Improve regex
-
[youtube] Show if video is
private,unlistedetc in info (availability) by coletdjnz and pukkandan -
[youtube] bugfix for channel playlist extraction
-
[nbc] Improve metadata extraction by 2ShedsJackson
2021.03.15
- Split video by chapters: using option
--split-chapters- The output file of the split files can be set with
-o/-Pusing the prefixchapter: - Additional keys
section_title,section_number,section_start,section_endare available in the output template
- The output file of the split files can be set with
- Parallel fragment downloads by shirt
- Use option
--concurrent-fragments(-N) to set the number of threads (default 1)
- Use option
- Merge youtube-dl: Upto commit/3be0980
- [zee5] Add Show Extractor by Ashish0804 and pukkandan
- [rai] fix drm check nixxo
- [wimtv] Add extractor by nixxo
- [mtv] Add mtv.it and extract series metadata by nixxo
- [pluto.tv] Add extractor by kevinoconnor7
- [youtube] Rewrite comment extraction by coletdjnz
- [embedthumbnail] Set mtime correctly
- Refactor some postprocessor/downloader code by pukkandan and shirt
2021.03.07
- [youtube] Fix history, mixes, community pages and trending by pukkandan and coletdjnz
- [youtube] Fix private feeds/playlists on multi-channel accounts by coletdjnz
- [youtube] Extract alerts from continuation by coletdjnz
- [cbs] Add support for ParamountPlus by shirt
- [mxplayer] Rewrite extractor with show support by pukkandan and Ashish0804
- [gedi] Improvements from youtube-dl by nixxo
- [vimeo] Fix videos with password by teesid
- [lbry] Support
lbry://url by nixxo - [bilibili] Change
Acceptheader by pukkandan and animelover1984 - [trovo] Pass origin header
- [rai] Check for DRM by nixxo
- [downloader] Fix bug for
ffmpeg/httpie - [update] Fix updater removing the executable bit on some UNIX distros
- [update] Fix current build hash for UNIX
- [docs] Include wget/curl/aria2c install instructions for Unix by Ashish0804
- Fix some videos downloading with
m3u8extension - Remove "fixup is ignored" warning when fixup wasn't passed by user
2021.03.03.2
- [build] Fix bug
2021.03.03
- [youtube] Use new browse API for continuation page extraction by coletdjnz and pukkandan
- Fix HLS playlist downloading by shirt
- Merge youtube-dl: Upto 2021.03.03
- [mtv] Fix extractor
- [nick] Fix extractor by DennyDai
- [mxplayer] Add new extractor by codeasashu
- [youtube] Throw error when
--extractor-retriesare exhausted - Reduce default of
--extractor-retriesto 3 - Fix packaging bugs by hseg
2021.03.01
- Allow specifying path in
--external-downloader - Add option
--sleep-requeststo sleep b/w requests - Add option
--extractor-retriesto retry on known extractor errors - Extract comments only when needed
--get-commentsdoesn't imply--write-info-jsonif-J,-jor--print-jsonare used- Fix
get_executable_pathby shirt - [youtube] Retry on more known errors than just HTTP-5xx
- [youtube] Fix inconsistent
webpage_url - [tennistv] Fix format sorting
- [bilibiliaudio] Recognize the file as audio-only
- [hrfensehen] Fix wrong import
- [viki] Fix viki play pass authentication by RobinD42
- [readthedocs] Improvements by shirt
- [hls] Fix bug with m3u8 format extraction
- [hls] Enable
--hls-use-mpegtsby default when downloading live-streams - [embedthumbnail] Fix bug with deleting original thumbnail
- [build] Fix completion paths, zsh pip completion install by hseg
- [ci] Disable download tests unless specifically invoked
- Cleanup some code and fix typos
2021.02.24
- Moved project to an organization yt-dlp
- Completely changed project name to yt-dlp by Pccode66 and pukkandan
- Also,
youtube-dlcconfig files are no longer loaded
- Also,
- Merge youtube-dl: Upto commit/4460329 (except tmz, gedi)
- Readthedocs support by shirt
- [youtube] Show if video was a live stream in info (
was_live) - [Zee5] Add new extractor by Ashish0804 and pukkandan
- [jwplatform] Add support for
hyland.com - [tennistv] Fix extractor
- [hls] Support media initialization by shirt
- [hls] Added options
--hls-split-discontinuityto better support media discontinuity by shirt - [ffmpeg] Allow passing custom arguments before -i using
--ppa "ffmpeg_i1:ARGS"syntax - Fix
--windows-filenamesremoving/from UNIX paths - [hls] Show warning if pycryptodome is not found
- [docs] Improvements
- Fix documentation of
Extractor Options - Document
allin format selection - Document
playable_in_embedin output templates
- Fix documentation of
2021.02.19
- Merge youtube-dl: Upto commit/cf2dbec (except kakao)
- [viki] Fix extractor
- [niconico] Extract
channelandchannel_idby kurumigi - [youtube] Multiple page support for hashtag URLs
- [youtube] Add more invidious instances
- [youtube] Fix comment extraction when comment text is empty
- Option
--windows-filenamesto force use of windows compatible filenames - [ExtractAudio] Bugfix
- Don't raise
parser.errorwhen exiting for update - [MoveFiles] Fix for when merger can't run
- Changed
--trim-file-nameto--trim-filenamesto be similar to related options - Format Sort improvements:
- Prefer
vp9.2more than othervp9codecs - Remove forced priority of
quality - Remove unnecessary
field_preferenceand misuse ofpreferencefrom extractors
- Prefer
- Build improvements:
- [docs] Better document
--prefer-free-formatsand add--no-prefer-free-format
2021.02.15
- Merge youtube-dl: Upto 2021.02.10 (except archive.org)
- [niconico] Improved extraction and support encrypted/SMILE movies by kurumigi, tsukumijima, bbepis, pukkandan
- Fix HLS AES-128 with multiple keys in external downloaders by shirt
- [youtube_live_chat] Fix by using POST API by siikamiika
- [rumble] Add support for video page
- Option
--allow-unplayable-formatsto allow downloading unplayable video formats - [ExtractAudio] Don't re-encode when file is already in a common audio format
- [youtube] Fix search continuations
- [youtube] Fix for new accounts
- Improve build/updater: by pukkandan and shirt
- Fix SHA256 calculation in build and implement hash checking for updater
- Exit immediately in windows once the update process starts
- Fix updater for
x86.exe - Updater looks for both
yt-dlpandyoutube-dlcin releases for future-proofing - Change optional dependency to
pycryptodome
- Fix issue with unicode filenames in aria2c by shirt
- Fix
allow_playlist_filesnot being correctly passed through - Fix for empty HTTP head requests by shirt
- Fix
get_executable_pathin UNIX - [sponskrub] Print ffmpeg output and errors to terminal
__real_downloadshould be false when ffmpeg unavailable and no download- Show
exe/zip/sourceand 32/64bit in verbose message
2021.02.09
- aria2c support for DASH/HLS: by shirt
- Implement Updater (
-U) by shirt - [youtube] Fix comment extraction
- [youtube_live_chat] Improve extraction
- [youtube] Fix for channel URLs sometimes not downloading all pages
- [aria2c] Changed default arguments to
--console-log-level=warn --summary-interval=0 --file-allocation=none -x16 -j16 -s16 - Add fallback for thumbnails
- [embedthumbnail] Keep original thumbnail after conversion if write_thumbnail given
- [embedsubtitle] Keep original subtitle after conversion if write_subtitles given
- [pyinst.py] Move back to root dir
- [youtube] Simplified renderer parsing and bugfixes
- [movefiles] Fix compatibility with python2
- [remuxvideo] Fix validation of conditional remux
- [sponskrub] Don't raise error when the video does not exist
- [docs] Crypto is an optional dependency
2021.02.04
- Merge youtube-dl: Upto 2021.02.04.1
- Date/time formatting in output template:
- You can use
strftimeto format date/time fields. Example:%(upload_date>%Y-%m-%d)s
- You can use
- Multiple output templates:
- Separate output templates can be given for the different metadata files by using
-o TYPE:TEMPLATE - The allowed types are:
subtitle|thumbnail|description|annotation|infojson|pl_description|pl_infojson
- Separate output templates can be given for the different metadata files by using
- [youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
- New option
--no-write-playlist-metafilesto prevent writing playlist metadata files - [audius] Fix extractor
- [youtube_live_chat] Fix
parse_yt_initial_dataand addfragment_retries - [postprocessor] Raise errors correctly
- [metadatafromtitle] Fix bug when extracting data from numeric fields
- Fix issue with overwriting files
- Fix "Default format spec" appearing in quiet mode
- [FormatSort] Allow user to prefer av01 over vp9 (The default is still vp9)
- [FormatSort] fix bug where
qualityhad more priority thanhasvid - [pyinst] Automatically detect python architecture and working directory
- Strip out internal fields such as
_filenamefrom infojson
2021.01.29
- Features from animelover1984/youtube-dl: by animelover1984 and bbepis
- Add
--get-comments - [youtube] Extract comments
- [billibilli] Added BiliBiliSearchIE, BilibiliChannelIE
- [billibilli] Extract comments
- [billibilli] Better video extraction
- Write playlist data to infojson
- [FFmpegMetadata] Embed infojson inside the video
- [EmbedThumbnail] Try embedding in mp4 using ffprobe and
-disposition - [EmbedThumbnail] Treat mka like mkv and mov like mp4
- [EmbedThumbnail] Embed in ogg/opus
- [VideoRemuxer] Conditionally remux video
- [VideoRemuxer] Add
-movflags +faststartwhen remuxing to mp4 - [ffmpeg] Print entire stderr in verbose when there is error
- [EmbedSubtitle] Warn when embedding ass in mp4
- [anvato] Use NFLTokenGenerator if possible
- Add
- Parse additional metadata: New option
--parse-metadatato extract additional metadata from existing fields- The extracted fields can be used in
--output - Deprecated
--metadata-from-title
- The extracted fields can be used in
- [Audius] Add extractor
- [youtube] Extract playlist description and write it to
.descriptionfile - Detect existing files even when using
recode/remux(extract-audiois partially fixed) - Fix wrong user config from v2021.01.24
- [youtube] Report error message from youtube as error instead of warning
- [FormatSort] Fix some fields not sorting from v2021.01.24
- [postprocessor] Deprecate
avconv/avprobe. All current functionality is left untouched. But don't expect any new features to work with avconv - [postprocessor] fix
write_debugto not throw error when there is no_downloader - [movefiles] Don't give "cant find" warning when move is unnecessary
- Refactor
update-version,pyinst.pyand related files - [ffmpeg] Document more formats that are supported for remux/recode
2021.01.24
- Merge youtube-dl: Upto 2021.01.24
- Plugin support (documentation)
- Multiple paths: New option
-P/--pathsto give different paths for different types of files- The syntax is
-P "type:path" -P "type:path" - Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
- Additionally, configuration file is taken from home directory or current directory
- The syntax is
- Allow passing different arguments to different external downloaders
- [mildom] Add extractor by nao20010128nao
- Warn when using old style
--external-downloader-argsand--post-processor-args - Fix
--no-overwritewhen using--write-link - [sponskrub] Output
unrecognized argumenterror message correctly - [cbs] Make failure to extract title non-fatal
- Fix typecasting when pre-checking archive
- Fix issue with setting title on UNIX
- Deprecate redundant aliases in
formatSort. The aliases remain functional for backward compatibility, but will be left undocumented - [tests] Fix test_post_hooks
- [tests] Split core and download tests
2021.01.20
- [TrovoLive] Add extractor (only VODs)
- [pokemon] Add
/#/playerURLs - Improved parsing of multiple postprocessor-args, add
--ppaas alias - [EmbedThumbnail] Simplify embedding in mkv
- [sponskrub] Encode filenames correctly, better debug output and error message
- [readme] Cleanup options
2021.01.16
- Merge youtube-dl: Upto 2021.01.16
- Configuration files:
- Portable configuration file:
./yt-dlp.conf - Allow the configuration files to be named
yt-dlpinstead ofyoutube-dlc. See this for details
- Portable configuration file:
- Add PyPI release
2021.01.14
- Added option
--break-on-reject - [roosterteeth.com] Fix for bonus episodes by Zocker1999NET
- [tiktok] Fix for when share_info is empty
- [EmbedThumbnail] Fix bug due to incorrect function name
- [docs] Changed sponskrub links to point to yt-dlp/SponSkrub since I am now providing both linux and windows releases
- [docs] Change all links to correctly point to new fork URL
- [docs] Fixes typos
2021.01.12
- [roosterteeth.com] Add subtitle support by samiksome
- Added
--force-overwrites,--no-force-overwritesby alxnull - Changed fork name to
yt-dlp - Fix typos by FelixFrog
- [ci] Option to skip
- [changelog] Added unreleased changes in blackjack4494/yt-dlc
2021.01.10
- [archive.org] Fix extractor and add support for audio and playlists by wporr
- [Animelab] Added by mariuszskon
- [youtube:search] Fix view_count by ohnonot
- [youtube] Show if video is embeddable in info (
playable_in_embed) - Update version badge automatically in README
- Enable
test_youtube_search_matching - Create
to_screenand similar functions in postprocessor/common
2021.01.09
- [youtube] Fix bug in automatic caption extraction
- Add
post_hooksto YoutubeDL by alexmerkel - Batch file enumeration improvements by glenn-slayden
- Stop immediately when reaching
--max-downloadsby glenn-slayden - Fix incorrect ANSI sequence for restoring console-window title by glenn-slayden
- Kill child processes when yt-dlc is killed by Unrud
2021.01.08
- Merge youtube-dl: Upto 2021.01.08 except stitcher (1, 2)
- Moved changelog to separate file
2021.01.07-1
- [Akamai] fix by nixxo
- [Tiktok] merge youtube-dl tiktok extractor by GreyAlien502
- [vlive] add support for playlists by kyuyeunk
- [youtube_live_chat] make sure playerOffsetMs is positive by siikamiika
- Ignore extra data streams in ffmpeg by jbruchon
- Allow passing different arguments to different postprocessors using
--postprocessor-args - Deprecated
--sponskrub-args. The same can now be done using--postprocessor-args "sponskrub:<args>" - [CI] Split tests into core-test and full-test
2021.01.07
- Removed priority of
av01codec in-Ssince most devices don't support it yet - Added
duration_stringto be used in--output - Created First Release
2021.01.05-1
- Changed defaults:
- Enabled
--ignore - Disabled
--video-multistreamsand--audio-multistreams - Changed default format selection to
bv*+ba/bwhen--audio-multistreamsis disabled - Changed default format sort order to
res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id - Changed
webmto be more preferable thanflvin format sorting - Changed default output template to
%(title)s [%(id)s].%(ext)s - Enabled
--list-formats-as-table
- Enabled
2021.01.05
- Format Sort: Added
--format-sort(-S),--format-sort-force(--S-force) - See Sorting Formats for details - Format Selection: See Format Selection for details
- New format selectors:
best*,worst*,bestvideo*,bestaudio*,worstvideo*,worstaudio* - Changed video format sorting to show video only files and video+audio files together.
- Added
--video-multistreams,--no-video-multistreams,--audio-multistreams,--no-audio-multistreams - Added
b,w,v,aas alias forbest,worst,videoandaudiorespectively
- New format selectors:
- Shortcut Options: Added
--write-link,--write-url-link,--write-webloc-link,--write-desktop-linkby h-h-h-h - See Internet Shortcut Options for details - Sponskrub integration: Added
--sponskrub,--sponskrub-cut,--sponskrub-force,--sponskrub-location,--sponskrub-args- See SponSkrub Options for details - Added
--force-download-archive(--force-write-archive) by h-h-h-h - Added
--list-formats-as-table,--list-formats-old - Negative Options: Makes it possible to negate most boolean options by adding a
no-to the switch. Usefull when you want to reverse an option that is defined in a config file- Added
--no-ignore-dynamic-mpd,--no-allow-dynamic-mpd,--allow-dynamic-mpd,--youtube-include-hls-manifest,--no-youtube-include-hls-manifest,--no-youtube-skip-hls-manifest,--no-download,--no-download-archive,--resize-buffer,--part,--mtime,--no-keep-fragments,--no-cookies,--no-write-annotations,--no-write-info-json,--no-write-description,--no-write-thumbnail,--youtube-include-dash-manifest,--post-overwrites,--no-keep-video,--no-embed-subs,--no-embed-thumbnail,--no-add-metadata,--no-include-ads,--no-write-sub,--no-write-auto-sub,--no-playlist-reverse,--no-restrict-filenames,--youtube-include-dash-manifest,--no-format-sort-force,--flat-videos,--no-list-formats-as-table,--no-sponskrub,--no-sponskrub-cut,--no-sponskrub-force - Renamed:
--write-subs,--no-write-subs,--no-write-auto-subs,--write-auto-subs. Note that these can still be used without the ending "s"
- Added
- Relaxed validation for format filters so that any arbitrary field can be used
- Fix for embedding thumbnail in mp3 by pauldubois98 (ytdl-org/youtube-dl#21569)
- Make Twitch Video ID output from Playlist and VOD extractor same. This is only a temporary fix
- Merge youtube-dl: Upto 2021.01.03 - See blackjack4494/yt-dlc#280 for details
- Cleaned up the fork for public use
PS: All uncredited changes above this point are authored by pukkandan
Unreleased changes in blackjack4494/yt-dlc
- Updated to youtube-dl release 2020.11.26 by pukkandan
- Youtube improvements by pukkandan
- Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
- Fix some improper Youtube URLs
- Redirect channel home to /video
- Print youtube's warning message
- Handle Multiple pages for feeds better
- [youtube] Fix ytsearch not returning results sometimes due to promoted content by coletdjnz
- [youtube] Temporary fix for automatic captions - disable json3 by blackjack4494
- Add --break-on-existing by gergesh
- Pre-check video IDs in the archive before downloading by pukkandan
- [bitwave.tv] New extractor by lorpus
- [Gedi] Add extractor by nixxo
- [Rcs] Add new extractor by nixxo
- [skyit] New skyitalia extractor by nixxo
- [france.tv] Fix thumbnail URL by renalid
- [ina] support mobile links by B0pol
- [instagram] Fix thumbnail extractor by nao20010128nao
- [SouthparkDe] Support for English URLs by xypwn
- [spreaker] fix SpreakerShowIE test URL by pukkandan
- [Vlive] Fix playlist handling when downloading a channel by kyuyeunk
- [tmz] Fix extractor by diegorodriguezv
- [generic] Detect embedded bitchute videos by pukkandan
- [generic] Extract embedded youtube and twitter videos by diegorodriguezv
- [ffmpeg] Ensure all streams are copied by pukkandan
- [embedthumbnail] Fix for os.rename error by pukkandan
- make_win.bat: don't use UPX to pack vcruntime140.dll by jbruchon