Skip to content

Releases: yt-dlp/yt-dlp

yt-dlp 2021.11.10

10 Nov 01:14
Compare
Choose a tag to compare

A description of the various files are in the README


Changelog:

  • [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
  • 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 and j
  • [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 than ac3
  • [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 and hardsub
  • [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

yt-dlp 2021.10.22

22 Oct 20:47
Compare
Choose a tag to compare

Changelog:

  • [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)
    • 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 and resolution 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 and sleep-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 Closes #1319
  • [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

See this for a description of the release files

yt-dlp 2021.10.10

10 Oct 04:03
Compare
Choose a tag to compare

There was a couple of serious bugs in last release (#1215, #1211)
So here's a hotfix

Changelog:

  • [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

yt-dlp 2021.10.09

09 Oct 19:11
Compare
Choose a tag to compare

Changelog:

  • 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
  • [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

yt-dlp 2021.09.25

25 Sep 01:00
Compare
Choose a tag to compare

Changelog:

  • Add new option --netrc-location
  • [outtmpl] Allow alternate fields using ,
  • [outtmpl] Add format type B to treat the value as bytes (eg: to limit the filename to a certain number of bytes)
  • Separate the options --ignore-errors and --no-abort-on-error
  • Basic framework for simultaneous download of multiple formats by nao20010128nao
  • [17live] Add 17.live extractor by nao20010128nao
  • [bilibili] Add BiliIntlIE and BiliIntlSeriesIE by Ashish0804
  • [CAM4] Add extractor by alerikaisattera
  • [Chingari] Add extractors by Ashish0804
  • [CGTN] Add extractor by chao813
  • [damtomo] Add extractor by nao20010128nao
  • [gotostage] Add extractor by poschi3
  • [Koo] Add extractor by Ashish0804
  • [Mediaite] Add Extractor by Ashish0804
  • [Mediaklikk] Add Extractor by tmarki, mrx23dot, coletdjnz
  • [MuseScore] Add Extractor by Ashish0804
  • [Newgrounds] Add NewgroundsUserIE and improve extractor by u-spec-png
  • [nzherald] Add NZHeraldIE by coletdjnz
  • [Olympics] Add replay extractor by Ashish0804
  • [Peertube] Add channel and playlist extractors by u-spec-png
  • [radlive] Add extractor by nyuszika7h
  • [SovietsCloset] Add extractor by ChillingPepper
  • [Streamanity] Add Extractor by alerikaisattera
  • [Theta] Add extractor by alerikaisattera
  • [Yandex] Add ZenYandexIE and ZenYandexChannelIE by Ashish0804
  • [9Now] handle episodes of series by dalanmiller
  • [AnimalPlanet] Fix extractor by Sipherdrakon
  • [Arte] Improve description extraction by renalid
  • [atv.at] Use jwt for API by NeroBurner
  • [brightcove] Extract subtitles from manifests
  • [CBC] Fix CBC Gem extractors by makeworld-the-better-one
  • [cbs] Report appropriate error for DRM
  • [comedycentral] Support collection-playlist by nixxo
  • [DIYNetwork] Support new format by Sipherdrakon
  • [downloader/niconico] Pass custom headers by nao20010128nao
  • [dw] Fix extractor
  • [Fancode] Fix live streams by zenerdi0de
  • [funimation] Fix for locations outside US by Jules-A, pukkandan
  • [globo] Fix GloboIE by Ashish0804
  • [HiDive] Fix extractor by Ashish0804
  • [Hotstar] Add referer for subs by Ashish0804
  • [itv] Fix extractor, add subtitles and thumbnails by coletdjnz, sleaux-meaux, Vangelis66
  • [lbry] Show error message from API response
  • [Mxplayer] Use mobile API by Ashish0804
  • [NDR] Rewrite NDRIE by Ashish0804
  • [Nuvid] Fix extractor by u-spec-png
  • [Oreilly] Handle new web url by MKSherbini
  • [pbs] Fix subtitle extraction by coletdjnz, gesa, raphaeldore
  • [peertube] Update instances by u-spec-png
  • [plutotv] Fix extractor for URLs with /en
  • [reddit] Workaround for 429 by redirecting to old.reddit.com
  • [redtube] Fix exts
  • [soundcloud] Make playlist extraction lazy
  • [soundcloud] Retry playlist pages on 502 error and update _CLIENT_ID
  • [southpark] Fix SouthParkDE by coletdjnz
  • [SovietsCloset] Fix playlists for games with only named categories by ConquerorDopy
  • [SpankBang] Fix uploader by f4pp3rk1ng, coletdjnz
  • [tiktok] Use API to fetch higher quality video by MinePlayersPE, llacb47
  • [TikTokUser] Fix extractor using mobile API by MinePlayersPE, llacb47
  • [videa] Fix some extraction errors by nyuszika7h
  • [VrtNU] Handle login errors by llacb47
  • [vrv] Don't raise error when thumbnails are missing
  • [youtube] Cleanup authentication code by coletdjnz
  • [youtube] Fix --mark-watched with --cookies-from-browser
  • [youtube] Improvements to JS player extraction and add extractor-args to skip it by coletdjnz
  • [youtube] Retry on 'Unknown Error' by coletdjnz
  • [youtube] Return full URL instead of just ID
  • [youtube] Warn when trying to download clips
  • [zdf] Improve format sorting
  • [zype] Extract subtitles from the m3u8 manifest by fstirlitz
  • Allow --force-write-archive to work with --flat-playlist
  • Download subtitles in order of --sub-langs
  • Allow 0 in --playlist-items
  • Handle more playlist errors with -i
  • Fix --no-get-comments
  • Fix extra_info being reused across runs
  • Fix compat options no-direct-merge and playlist-index
  • Dump files should obey --trim-filename by sulyi
  • [aes] Add aes_gcm_decrypt_and_verify by sulyi, pukkandan
  • [aria2c] Fix IV for some AES-128 streams by shirt
  • [compat] Don't ignore HOME (if set) on windows
  • [cookies] Make browser names case insensitive
  • [cookies] Print warning for cookie decoding error only once
  • [extractor] Fix root-relative URLs in MPD by DigitalDJ
  • [ffmpeg] Add aac_adtstoasc when merging if needed
  • [fragment,aria2c] Generalize and refactor some code
  • [fragment] Avoid repeated request for AES key
  • [fragment] Fix range header when using -N and media sequence by shirt
  • [hls,aes] Fallback to native implementation for AES-CBC and detect Cryptodome in addition to Crypto
  • [hls] Byterange + AES128 is supported by native downloader
  • [ModifyChapters] Improve sponsor chapter merge algorithm by nihil-admirari
  • [ModifyChapters] Minor fixes
  • [WebVTT] Adjust parser to accommodate PBS subtitles
  • [utils] Improve extract_timezone by dirkf
  • [options] Fix --no-config and refactor reading of config files
  • [options] Strip spaces and ignore empty entries in list-like switches
  • [test/cookies] Improve logging
  • [build] Automate more of the release process by animelover1984, pukkandan
  • [build] Fix sha256 by nihil-admirari
  • [build] Bring back brew taps by nao20010128nao
  • [build] Provide --onedir zip for windows by pukkandan
  • [cleanup,docs] Add deprecation warning in docs for some counter intuitive behaviour
  • [cleanup] Fix line endings for nebula.py by glenn-slayden
  • [cleanup] Improve make clean-test by sulyi
  • [cleanup] Misc

yt-dlp 2021.09.02

02 Sep 00:02
9ee4f0b
Compare
Choose a tag to compare

Changelog:

  • Native SponsorBlock implementation by nihil-admirari, pukkandan
    • --sponsorblock-remove CATS removes specified chapters from file
    • --sponsorblock-mark CATS marks the specified sponsor sections as chapters
    • --sponsorblock-chapter-title TMPL to specify sponsor chapter template
    • --sponsorblock-api URL to use a different API
    • No re-encoding is done unless --force-keyframes-at-cuts is used
    • The fetched sponsor sections are written to the infojson
    • Deprecates: --sponskrub, --no-sponskrub, --sponskrub-cut, --no-sponskrub-cut, --sponskrub-force, --no-sponskrub-force, --sponskrub-location, --sponskrub-args
  • Split --embed-chapters from --embed-metadata (it still implies the former by default)
  • Add option --remove-chapters to remove arbitrary chapters by nihil-admirari, pukkandan
  • Add option --force-keyframes-at-cuts for more accurate cuts when removing and splitting chapters by nihil-admirari
  • Let --match-filter reject entries early
    • Makes redundant: --match-title, --reject-title, --min-views, --max-views
  • [lazy_extractor] Improvements (It now passes all tests)
    • Bugfix for when plugin directory doesn't exist by kidonng
    • Create instance only after pre-checking archive
    • Import actual class if an attribute is accessed
    • Fix suitable and add flake8 test
  • [downloader/ffmpeg] Experimental support for DASH manifests (including live)
    • Your ffmpeg must have this patch applied for YouTube DASH to work
  • [downloader/ffmpeg] Allow passing custom arguments before -i

New extractors

Fixed extractors

  • [adobepass] Fix Verizon SAML login by nyuszika7h, ParadoxGBB
  • [afreecatv] Fix adult VODs by wlritchi
  • [afreecatv] Tolerate failure to parse date string by wlritchi
  • [aljazeera] Fix extractor by MinePlayersPE
  • [ATV.at] Fix extractor for ATV.at by NeroBurner, coletdjnz
  • [bitchute] Fix test by mahanstreamer
  • [camtube] Remove obsolete extractor by alerikaisattera
  • [CDA] Add more formats by u-spec-png
  • [eroprofile] Fix page skipping in albums by jhwgh1968
  • [facebook] Fix format sorting
  • [facebook] Fix metadata extraction by kikuyan
  • [facebook] Update onion URL by Derkades
  • [HearThisAtIE] Fix extractor by Ashish0804
  • [instagram] Add referrer to prevent throttling by u-spec-png, kikuyan
  • [iwara.tv] Extract more metadata by BunnyHelp
  • [iwara] Add thumbnail by i6t
  • [kakao] Fix extractor
  • [mediaset] Fix extraction for some videos by nyuszika7h
  • [Motherless] Fix extractor by coletdjnz
  • [Nova] fix extractor by std-move
  • [ParamountPlus] Fix geo verification by shirt
  • [peertube] handle new video URL format by Chocobozzz
  • [pornhub] Separate and fix playlist extractor by mzbaulhaque
  • [reddit] Fix for quarantined subreddits by ouwou
  • [ShemarooMe] Fix extractor by Ashish0804
  • [soundcloud] Refetch client_id on 403
  • [tiktok] Fix metadata extraction
  • [TV2] Fix extractor by Ashish0804
  • [tv5mondeplus] Fix extractor by korli
  • [VH1,TVLand] Fix extractors by Sipherdrakon
  • [Viafree] Fix extractor and extract subtitles by coletdjnz
  • [XHamster] Extract uploader_id by octotherp
  • [youtube] Add shorts to _VALID_URL
  • [youtube] Add av01 itags to known formats list by blackjack4494
  • [youtube] Extract error messages from HTTPError response by coletdjnz
  • [youtube] Fix subtitle names
  • [youtube] Prefer audio stream that YouTube considers default
  • [youtube] Remove annotations and deprecate --write-annotations by coletdjnz
  • [Zee5] Fix extractor and add subtitles by Ashish0804

Bug fixes

  • [aria2c] Obey --rate-limit
  • [EmbedSubtitle] Continue even if some files are missing
  • [extractor] Better error message for DRM
  • [extractor] Common function _match_valid_url
  • [extractor] Show video id in error messages if possible
  • [FormatSort] Remove priority of lang
  • [options] Add _set_from_options_callback
  • [SubtitleConvertor] Fix bug during subtitle conversion
  • [utils] Add parse_qs
  • [webvtt] Fix timestamp overflow adjustment by fstirlitz
  • Bugfix for --replace-in-metadata
  • Don't try to merge with final extension
  • Fix --force-overwrites when using -k
  • Fix --no-prefer-free-formats by CeruleanSky
  • Fix -F for extractors that directly return url
  • Fix -J when there are failed videos
  • Fix extra_info being reused across runs
  • Fix playlist_index not obeying playlist_start and add tests
  • Fix resuming of single formats when using --no-part
  • Revert erroneous use of the Content-Length header by fstirlitz
  • Use os.replace where applicable by; paulwrubel
  • [build] Add homebrew taps yt-dlp/taps/yt-dlp by nao20010128nao
  • [build] Fix bug in making yt-dlp.tar.gz
  • [docs] Fix some typos by pukkandan, zootedb0t
  • [cleanup] Replace improper use of tab in trovo by glenn-slayden

For sponskrub users:

  • sponskrub support has been deprecated in favor of a native implementation
  • If you were using sponskrub to mark chapters in video, use --sponsorblock-mark all instead
  • If you were cutting out portions, use --sponsorblock-remove all
  • There are a few more new options available now. See SponsorBlock Options for details

yt-dlp 2021.08.10

10 Aug 14:44
418964f
Compare
Choose a tag to compare

Changelog:

  • Add option --replace-in-metadata
  • Add option --no-simulate to not simulate even when --print or --list... are used - Deprecates --print-json
  • Allow entire infodict to be printed using %()s - makes --dump-json redundant
  • Allow multiple --exec and --exec-before-download
  • Add regex to --match-filter
  • Add all format filtering operators also to --match-filter by 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_KEY and _THEPLATFORM_SECRET by 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_id by 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-dash to 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_file closes file handle on error
  • Fix --compat-options filename by stdedos
  • Fix issues with infodict sanitization
  • Fix resuming when using --no-part
  • Fix wrong extension for intermediate files
  • Handle BrokenPipeError by kikuyan
  • Show libraries present in verbose head
  • [extractor] Detect sttp as subtitles in MPD by fstirlitz
  • [extractor] Reset non-repeating warnings per video
  • [ffmpeg] Fix streaming mp4 to stdout
  • [ffpmeg] Allow --ffmpeg-location to be a file with different name
  • [utils] Fix InAdvancePagedList.__getitem__
  • [utils] Fix traverse_obj depth when is_user_input
  • [webvtt] Merge daisy-chained duplicate cues by fstirlitz
  • [build] Use custom build of pyinstaller by shirt
  • [tests:download] Add batch testing for extractors (test_YourExtractor_all)
  • [docs] Document which fields --add-metadata adds to the file
  • [docs] Fix some mistakes and improve doc
  • [cleanup] Misc code cleanup

yt-dlp 2021.08.02

02 Aug 05:09
6ccf351
Compare
Choose a tag to compare

Changelog:

  • 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
  • [adobepass] Add MSO Sling TV by wesnm
  • [CBS] Add ParamountPlusSeriesIE by Ashish0804
  • [dplay] Add ScienceChannelIE by Sipherdrakon
  • [UtreonIE] Add extractor by Ashish0804
  • [youtube] Add mweb client by coletdjnz
  • [youtube] Add player_client=all
  • [youtube] Force hl=en for 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 asr appearing 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

yt-dlp 2021.07.24

24 Jul 01:36
f703a88
Compare
Choose a tag to compare

Quick release due to a couple of nasty bugs in the last version

Changelog:

  • [youtube:tab] Extract video duration early
  • [downloader] Pass info_dict to progress_hooks
  • [youtube] Fix age-gated videos for API clients when cookies are supplied by colethedj
  • [youtube] Disable get_video_info age-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 sqlite ImportError gracefully by mbway
  • [cookies] Handle errors when importing keyring

Youtube age-gate bypass is broken for non-embeddable videos unless logged-in cookies are given. You can provide cookies using either the --cookies or --cookies-from-browser options. There is currently no known way to circumvent the age-gate without authentication details. If you know any way to (or know any app that can) bypass the age-gate (without auth), let us know.

yt-dlp 2021.07.21

21 Jul 21:06
245524e
Compare
Choose a tag to compare

Changelog:

  • Add option --cookies-from-browser to 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, keyring is needed for UNIX and pycryptodome for Windows
  • 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, colethedj
    • player_client now 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-formats to 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 colethedj
    • Fix controversial videos when requested via API by colethedj
    • Fix session index extraction and headers for non-web player clients by colethedj
    • Make --extractor-retries work for more errors
    • Fix sorting of 3gp format
    • Sanity check chapters (and refactor related code)
    • Make parse_time_text and _extract_chapters non-fatal
    • Misc cleanup and bug fixes by colethedj
  • [youtube:tab] Fix channels tab
  • [youtube:tab] Extract playlist availability by colethedj
  • [youtube:comments] Move comment extraction to new API by colethedj
  • [youtube:comments] Fix is_favorited, improve like_count parsing by colethedj
  • [BravoTV] Improve metadata extraction by kevinoconnor7
  • [crunchyroll:playlist] Force http
  • [yahoo:gyao:player] Relax _VALID_URL by 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_types to vikichannel by 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, mergeall and add tests
  • Errors in playlist extraction should obey --ignore-errors
  • Fix bug where original_url was 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
  • Improve extractor_args parsing
  • Rename NOTE in -F to MORE INFO since it's often confused to be the same as format_note
  • Add only_once param for write_debug and report_warning
  • [extractor] Allow extracting multiple groups in _search_regex by fstirlitz
  • [utils] Improve traverse_obj
  • [utils] Add variadic
  • [utils] Improve js_to_json comment regex by fstirlitz
  • [webtt] Fix timestamps
  • [compat] Remove unnecessary code
  • [doc] fix default of multistreams