Skip to content

Releases: yt-dlp/yt-dlp

yt-dlp 2021.07.07

07 Jul 00:07
a8bf9b4
Compare
Choose a tag to compare

Changelog:

  • Merge youtube-dl: Upto commit/a803582
  • Add --extractor-args to pass extractor-specific arguments
    • Add extractor option skip for youtube. Eg: --extractor-args youtube:skip=hls,dash
    • Deprecates --youtube-skip-dash-manifest, --youtube-skip-hls-manifest, --youtube-include-dash-manifest, --youtube-include-hls-manifest
  • Allow --list... options to work with --print, --quiet and other --list... options
  • [youtube] Use player API for additional video extraction requests by colethedj
    • Fixes youtube premium music (format 141) extraction
    • Adds extractor option player_client = web/android
      • --extractor-args youtube:player_client=android works 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 itct to params by colethedj
  • [youtube_live_chat] Fix download with cookies by siikamiika
  • [youtube_live_chat] use clickTrackingParams by siikamiika
  • [Funimation] Rewrite extractor
    • Add FunimationShowIE by Mevious
    • Treat the different versions of an episode as different formats of a single video
      • This changes the video id and will break break existing archives
      • Compat option seperate-video-versions to fall back to old behavior including using the old video ids
    • Support direct /player/ URL
    • Extractor options language and version to 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 -f filters instead
  • [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-error by krichbanana
  • Fix --throttled-rate when using --load-info-json
  • Fix --flat-playlist when entry has no ie_key
  • Fix check_formats catching ExtractorError instead of DownloadError
  • Fix deprecated option --list-formats-old
  • [downloader/ffmpeg] Fix --ppa when 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 jpeg as jpg
  • [utils] Fix issues with LazyList reversal
  • [extractor] Allow extractors to set their own login hint
  • [cleanup] Simplify format selector code with LazyList and yield from
  • [cleanup] Clean extractor.common._merge_subtitles signature
  • [cleanup] Fix some typos

yt-dlp 2021.06.23

23 Jun 02:06
6aecd87
Compare
Choose a tag to compare

Changelog:

  • Merge youtube-dl: Upto commit/379f52a
  • Add option --throttled-rate below which video data is re-extracted
  • [fragment] Merge during download for -N, and refactor hls/dash
  • [websockets] Add WebSocketFragmentFDby nao20010128nao, pukkandan
  • Allow images formats 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 colethedj
  • [youtube] Login is not needed for :ytrec
  • [youtube] Non-fatal alert reporting for unavailable videos page by colethedj
  • [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-formats to thumbnails
  • Fix id sanitization in filenames
  • Skip fixup of existing files and add --fixup force to force it
  • Better error handling of syntax errors in -f
  • Use NamedTemporaryFile for --check-formats
  • [aria2c] Lower --min-split-size for HTTP downloads
  • [options] Rename --add-metadata to --embed-metadata
  • [utils] Improve LazyList and add tests
  • [build] Build Windows x86 version with py3.7 and remove redundant tests by pukkandan, shirt
  • [docs] Clarify that --embed-metadata embeds chapter markers
  • [cleanup] Refactor fixup

Note: While youtube throttling issue hasn't been fixed, it can be worked around by using --throttled-rate 100K

yt-dlp 2021.06.09

09 Jun 19:55
0d47c27
Compare
Choose a tag to compare

Changelog:

  • Fix bug where %(field)d in filename template throws error
  • Improve offset parsing in outtmpl
  • [test] More rigorous tests for prepare_filename

The quick release is due to the seriousness of the output template bug. Due to the same reason, Win XP (Py3.4) support has been extended to this release

yt-dlp 2021.06.08

08 Jun 20:35
3b1fe47
Compare
Choose a tag to compare

Changelog:

  • 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 by ytdl-org/youtube-dl@59e583f
  • [youtube] Support shorts URL
  • [zoom] Extract transcripts as subtitles
  • Add field original_url with the user-inputted URL
  • Fix and refactor prepare_outtmpl
  • Make more fields available for --print when used with --flat-playlist
  • [utils] Generalize traverse_dict to traverse_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 python3 by fstirlitz
  • [cleanup] Remove duplicate file trovolive.py

v2021.06.01 was supposed to be the last version where the windows x86 binary is built with Python 3.4 and thus have compatibility with Windows XP. However, a bug was discovered in video decryption when using -N for the last version and I did not want the last release to be a buggy one. So, while python 3.4 support has already been officially dropped, the yt-dlp_x86.exe of this release is built with it, making this the actual last release that supports Windows XP

Edit: See 2021.06.09

yt-dlp 2021.06.01

01 Jun 15:06
3de7c2c
Compare
Choose a tag to compare

IMPORTANT

This will be the last release that supports python versions < 3.6

Once you update to this version, -U will be blocked for Windows XP and for UNIX systems without python 3.6+

Edit: Version 2021.06.09 also has Windows XP Support despite python 3.4 support being dropped after this release. See the release description for details


Changelog

  • Merge youtube-dl: Upto commit/d495292
  • Pre-check archive and filters during playlist extraction
  • Handle Basic Auth user:pass in URLs by hhirtz and pukkandan
  • [archiveorg] Add YoutubeWebArchiveIE by colethedj and alex-gedeon
  • [fancode] Add extractor by rmsmachine
  • [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 png and make it the default by louie-github
  • [VideoConvertor] Generalize with remuxer and allow conditional recoding
  • [EmbedThumbnail] Embed in mp4/m4a using 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_playlist by creating LazyList
  • Write messages to stderr when both quiet and verbose
  • Sanitize and sort playlist thumbnails
  • Remove None values from info.json
  • [extractor] Always prefer native hls downloader by default
  • [extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
  • [extractor] Functions to parse socket.io response as json by pukkandan and llacb47
  • [extractor] Allow note=False when extracting manifests
  • [utils] Escape URLs in sanitized_Request, not sanitize_url
  • [hls] Disable external downloader for webtt
  • [youtube] /live URLs 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

yt-dlp 2021.05.20

20 May 13:52
65075de
Compare
Choose a tag to compare
  • Youtube improvements:
    • Support youtube music MP, VL and browse pages
    • Extract more formats for youtube music by craftingmod, colethedj, pukkandan
    • Extract multiple subtitles in same language by pukkandan and tpikonen
    • Redirect channels that doesn't have a videos tab to their UU playlists
    • Support in-channel search
    • Sort audio-only formats correctly
    • Always extract maxresdefault thumbnail
    • Extract audio language
    • Add subtitle language names by nixxo and tpikonen
    • Show alerts only from the final webpage
    • Add html5=1 param to get_video_info page requests by colethedj
    • Better message when login required
  • Add option --print: to print any field/template
    Deprecates: --get-description, --get-duration, --get-filename, --get-format, --get-id, --get-thumbnail, --get-title, --get-url
  • Field additional_urls to download additional videos from metadata using --parse-metadata
  • Merge youtube-dl: Upto commit/dfbbe29
  • Write thumbnail of playlist and add pl_thumbnail outtmpl key
  • [embedthumbnail] Add flac support and refactor mutagen code 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 name for subtitles
  • Ensure post_extract and pre_process only run once
  • Fix --check-formats when there is network error
  • Standardize write_debug and get_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_opts is not given
  • [cleanup] code formatting, youtube tests and readme

There was some issue in building the x86 release. So it will be temporarily unavailable Fixed

yt-dlp 2021.05.11

11 May 08:07
fac9880
Compare
Choose a tag to compare

Changelog:

  • 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
  • Merge youtube-dl: Upto commit/a726009
  • Remove options -l, -t, -A completely and disable --auto-number, --title, --literal, --id
  • [Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
  • [downloader] Fix quiet and to_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_URL to 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 title and series extraction by Ashish0804
  • [tubi] Raise "no video formats" error when video url is empty
  • [youtube:tab] Detect playlists inside community posts
  • [youtube] Add oembed to reserved names
  • [zee5] Fix extraction for some URLs by Hadi0609
  • [zee5] Fix py2 compatibility
  • Fix playlist_index and add playlist_autonumber. See #302 for details
  • Add experimental option --check-formats to test the URLs before format selection
  • Option --compat-options to revert some of yt-dlp's changes
    • Deprecates --list-formats-as-table, --list-formats-old
  • 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 -o and -P
  • Fix preload_download_archive writing verbose message to stdout
  • Move option warnings to YoutubeDLso that they obey --no-warnings and can output colors
  • Py2 compatibility for FileNotFoundError

yt-dlp 2021.04.22

22 Apr 11:58
0cf0571
Compare
Choose a tag to compare

Changelog:

  • 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
  • Improve --sub-langs:
    • Treat --sub-langs entries as regex
    • all can be used to refer to all the subtitles
    • language codes can be prefixed with - to exclude it
    • Deprecates --all-subs
  • Add option --ignore-no-formats-error to ignore the "no video format" and similar errors
  • Add option --skip-playlist-after-errors to 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 andpukkandan
  • [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 andpukkandan
  • [youtube:tab] Show unavailable videos in playlists by colethedj
  • [youtube:tab] Reload with unavailable videos for all playlists
  • [youtube] Ignore invalid stretch ratio
  • [youtube] Improve channel syncid extraction to support ytcfg by colethedj
  • [youtube] Standardize API calls for tabs, mixes and search by colethedj
  • [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 mergeall selects best format when multistreams are disabled
  • Improve the yt-dlp.sh script by fstirlitz
  • [lazy_extractor] Do not load plugins
  • [ci] Disable fail-fast
  • [documentation] Clarify which deprecated options still work
  • [documentation] Fix typos

yt-dlp 2021.04.11

11 Apr 21:52
a0f30f1
Compare
Choose a tag to compare

Changelog:

  • Add option --convert-thumbnails (only jpg currently supported)
  • Format selector mergeall to download and merge all formats
  • Pass any field to --exec using similar syntax to output template
  • Choose downloader for each protocol using --downloader PROTO:NAME
    • Alias --downloader for --external-downloader
    • Added native as an option for the downloader
  • 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 colethedj
  • [youtube] Extract comments' approximate timestamp by colethedj
  • [youtube] Fix alert extraction
  • [bilibili] Fix uploader
  • [utils] Add datetime_from_str and datetime_add_months by colethedj
  • Run some postprocessors before actual download
  • Improve argument parsing for -P, -o, -S
  • Fix some m3u8 not obeying --allow-unplayable-formats
  • Fix default of dynamic_mpd
  • Deprecate --all-formats, --include-ads, --hls-prefer-native, --hls-prefer-ffmpeg
  • [documentation] Improvements

yt-dlp 2021.04.03

03 Apr 22:27
02aabd4
Compare
Choose a tag to compare

Changelog:

  • 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 availability by colethedj
  • [viewsource] Add extractor to handle view-source:
  • [sponskrub] Run before embedding thumbnail
  • [documentation] Improve --parse-metadata documentation