Skip to content
Snippets Groups Projects
To find the state of this project's repository at the time of any of these versions, check out the tags.
Changelog.md 142.33 KiB

Changelog

2022.04.08

  • Use certificates from certifi if installed by coletdjnz
  • Treat multiple --match-filters as OR
  • File locking improvements:
    • Do not lock downloading file on Windows
    • Do not prevent download if locking is unsupported
    • Do not truncate files before locking by jakeogh, pukkandan
    • Fix non-blocking non-exclusive lock
  • De-prioritize automatic-subtitles when no --sub-lang is given
  • Exit after --dump-user-agent
  • Fallback to video-only format when selecting by extension
  • Fix --abort-on-error for subtitles
  • Fix --no-overwrite for playlist infojson
  • Fix --print with --ignore-no-formats when url is None by flashdagger
  • Fix --sleep-interval
  • Fix --throttled-rate
  • Fix autonumber
  • Fix case of http_headers
  • Fix filepath sanitization in --print-to-file
  • Handle float in --wait-for-video
  • Ignore mhtml formats from -f mergeall
  • Ignore format-specific fields in initial pass of --match-filter
  • Protect stdout from unexpected progress and console-title
  • Remove Accept-Encoding header from std_headers by coletdjnz
  • Remove incorrect warning for --dateafter
  • Show warning when all media formats have DRM
  • [downloader] Fix invocation of HttpieFD
  • [http] Fix #3215
  • [http] Reject broken range before request by Lesmiscore, Jules-A, pukkandan
  • [fragment] Read downloaded fragments only when needed by Lesmiscore
  • [http] Retry on more errors by coletdjnz
  • [mhtml] Fix fragments with absolute urls by coletdjnz
  • [extractor] Add _perform_login function
  • [extractor] Allow control characters inside json
  • [extractor] Support merging subtitles with data by coletdjnz
  • [generic] Extract subtitles from video.js by Lesmiscore
  • [ffmpeg] Cache version data
  • [FFmpegConcat] Ensure final directory exists
  • [FfmpegMetadata] Write id3v1 tags
  • [FFmpegVideoConvertor] Add more formats to --remux-video
  • [FFmpegVideoConvertor] Ensure all streams are copied
  • [MetadataParser] Validate outtmpl early
  • [outtmpl] Fix replacement/default when used with alternate
  • [outtmpl] Limit changes during sanitization
  • [phantomjs] Fix bug
  • [test] Add test_locked_file
  • [utils] format_decimal_suffix: Fix for very large numbers by s0u1h
  • [utils] traverse_obj: Allow filtering by value
  • [utils] Add filter_dict, get_first, try_call
  • [utils] ExtractorError: Fix for older python versions
  • [utils] WebSocketsWrapper: Allow omitting __enter__ invocation by Lesmiscore
  • [docs] Add an .editorconfig file by fstirlitz
  • [docs] Clarify the exact BSD license of dependencies by MrRawes
  • [docs] Minor improvements by pukkandan, cffswb, danielyli
  • [docs] Remove readthedocs
  • [build] Add requirements.txt to pip distributions
  • [cleanup, postprocessor] Create _download_json
  • [cleanup, vimeo] Fix tests
  • [cleanup] Misc fixes and minor cleanup
  • [cleanup] Use _html_extract_title
  • [AfreecaTV] Add AfreecaTVUserIE by hatienl0i261299
  • [arte] Add format_note to m3u8 formats
  • [azmedien] Add TVO Online to supported hosts by 1-Byte
  • [BanBye] Add extractor by mehq
  • [bilibili] Fix extraction of title with quotes by dzek69
  • [Craftsy] Add extractor by Bricio
  • [Cybrary] Add extractor by aaearon
  • [Huya] Add extractor by hatienl0i261299
  • [ITProTV] Add extractor by aaearon
  • [Jable] Add extractors by mehq
  • [LastFM] Add extractors by mehq
  • [Moviepilot] Add extractor by panatexxa
  • [panopto] Add extractors by coletdjnz, kmark
  • [PokemonSoundLibrary] Add extractor by Lesmiscore
  • [WasdTV] Add extractor by un-def, hatienl0i261299
  • [adobepass] Fix Suddenlink MSO by CplPwnies
  • [afreecatv] Match new vod url by wlritchi
  • [AZMedien] Support tv.telezueri.ch by goggle
  • [BiliIntl] Support user-generated videos by wlritchi
  • [BRMediathek] Fix VALID_URL
  • [crunchyroll:playlist] Implement beta API by tejing1
  • [crunchyroll] Fix inheritance
  • [daftsex] Fix extractor by Soebb
  • [dailymotion] Support geo.dailymotion.com by hatienl0i261299
  • [ellentube] Extract subtitles from manifest
  • [elonet] Rewrite extractor by Fam0r, pukkandan
  • [fptplay] Fix metadata extraction by hatienl0i261299
  • [FranceCulture] Support playlists by bohwaz
  • [go, viu] Extract subtitles from the m3u8 manifest by fstirlitz
  • [Imdb] Improve extractor by hatienl0i261299
  • [MangoTV] Improve extractor by hatienl0i261299
  • [Nebula] Fix bug in 52efa4b3
  • [niconico] Fix extraction of thumbnails and uploader (#3266)
  • [niconico] Rewrite NiconicoIE by Lesmiscore
  • [nitter] Minor fixes and update instance list by foghawk
  • [NRK] Extract timestamp by hatienl0i261299
  • [openrec] Download archived livestreams by Lesmiscore
  • [openrec] Refactor extractors by Lesmiscore
  • [panopto] Improve subtitle extraction and support slides by coletdjnz
  • [ParamountPlus, CBS] Change VALID_URL by Sipherdrakon
  • [ParamountPlusSeries] Support multiple pages by dodrian
  • [Piapro] Extract description with break lines by Lesmiscore
  • [rai] Fix extraction of http formas by nixxo
  • [rumble] unescape title
  • [RUTV] Fix format sorting by Lesmiscore
  • [ruutu] Detect embeds by tpikonen
  • [tenplay] Improve extractor by aarubui
  • [TikTok] Fix URLs with user id by hatienl0i261299
  • [TikTokVM] Fix redirect to user URL
  • [TVer] Fix extractor by Lesmiscore
  • [TVer] Support landing page by vvto33
  • [twitcasting] Don't return multi_video for archive with single hls manifest by Lesmiscore
  • [veo] Fix _VALID_URL
  • [Veo] Fix extractor by i6t
  • [viki] Don't attempt to modify URLs with signature by nyuszika7h
  • [viu] Fix bypass for preview by zackmark29
  • [viu] Fixed extractor by zackmark29, pukkandan
  • [web.archive:youtube] Make CDX API requests non-fatal by coletdjnz
  • [wget] Fix proxy by kikuyan, coletdjnz
  • [xnxx] Add xnxx3.com by rozari0
  • [youtube] Add new age-gate bypass by zerodytrash, pukkandan
  • [youtube] Add extractor-arg to skip auto-translated subs
  • [youtube] Avoid false positives when detecting damaged formats
  • [youtube] Detect DRM better by shirt
  • [youtube] Fix auto-translated automatic captions
  • [youtube] Fix pagination of membership tab
  • [youtube] Fix uploader for collaborative playlists by coletdjnz
  • [youtube] Improve video upload date handling by coletdjnz
  • [youtube:api] Prefer minified JSON response by coletdjnz
  • [youtube:search] Support hashtag entries by coletdjnz
  • [youtube:tab] Fix duration extraction for shorts by coletdjnz
  • [youtube:tab] Minor improvements
  • [youtube:tab] Return shorts url if video is a short by coletdjnz
  • [Zattoo] Fix extractors by goggle
  • [Zingmp3] Fix signature by hatienl0i261299

2022.03.08.1

  • [cleanup] Refactor __init__.py
  • [build] Fix bug

2022.03.08

  • Merge youtube-dl: Upto commit/6508688 (except NDR)
  • Add regex operator and quoting to format filters by lukasfink1
  • Add brotli content-encoding support by coletdjnz
  • Add pre-processor stage after_filter
  • Better error message when no --live-from-start format
  • Create necessary directories for --print-to-file
  • Fill more fields for playlists by Lesmiscore
  • Fix -all for --sub-langs
  • Fix doubling of video_id in ExtractorError
  • Fix for when stdout/stderr encoding is None
  • Handle negative duration from extractor
  • Implement --add-header without modifying std_headers
  • Obey --abort-on-error for "ffmpeg not installed"
  • Set webpage_url_... from webpage_url and not input URL
  • Tolerate failure to --write-link due to unknown URL
  • [aria2c] Add --http-accept-gzip=true
  • [build] Update pyinstaller to 4.10 by shirt
  • [cookies] Update MacOS12 Cookies.binarycookies location by mdpauley
  • [devscripts] Improve prepare_manpage
  • [downloader] Do not use aria2c for non-native m3u8
  • [downloader] Obey --file-access-retries when deleting/renaming by ehoogeveen-medweb
  • [extractor] Allow http_headers to be specified for thumbnails
  • [extractor] Extract subtitles from manifests for vimeo, globo, kaltura, svt by fstirlitz
  • [extractor] Fix for manifests without period duration by dirkf, pukkandan
  • [extractor] Support --mark-watched without _NETRC_MACHINE by coletdjnz
  • [FFmpegConcat] Abort on --simulate
  • [FormatSort] Consider acodec=ogg as vorbis
  • [fragment] Fix bugs around resuming with Range by Lesmiscore
  • [fragment] Improve --live-from-start for YouTube livestreams by Lesmiscore
  • [generic] Pass referer to extracted formats
  • [generic] Set rss guid as video id by Bricio
  • [options] Better ambiguous option resolution
  • [options] Rename --clean-infojson to --clean-info-json
  • [SponsorBlock] Fixes for highlight and "full video labels" by nihil-admirari
  • [Sponsorblock] minor fixes by nihil-admirari
  • [utils] Better traceback for ExtractorError
  • [utils] Fix file locking for AOSP by jakeogh
  • [utils] Improve file locking
  • [utils] OnDemandPagedList: Do not download pages after error
  • [utils] render_table: Fix character calculation for removing extra gap by Lesmiscore
  • [utils] Use locked_file for sanitize_open by jakeogh
  • [utils] Validate DateRange input
  • [utils] WebSockets wrapper for non-async functions by Lesmiscore
  • [cleanup] Don't pass protocol to _extract_m3u8_formats for live videos
  • [cleanup] Remove extractors for some dead websites by marieell
  • [cleanup, docs] Misc cleanup
  • [AbemaTV] Add extractors by Lesmiscore
  • [adobepass] Add Suddenlink MSO by CplPwnies
  • [ant1newsgr] Add extractor by zmousm
  • [bigo] Add extractor by Lesmiscore
  • [Caltrans] Add extractor by Bricio
  • [daystar] Add extractor by hatienl0i261299
  • [fc2:live] Add extractor by Lesmiscore
  • [fptplay] Add extractor by hatienl0i261299
  • [murrtube] Add extractor by cyberfox1691
  • [nfb] Add extractor by ofkz
  • [niconico] Add playlist extractors and refactor by Lesmiscore
  • [peekvids] Add extractor by schn0sch
  • [piapro] Add extractor by pycabbage, Lesmiscore
  • [rokfin] Add extractor by P-reducible, pukkandan
  • [rokfin] Add stack and channel extractors by P-reducible, pukkandan
  • [ruv.is] Add extractor by iw0nderhow
  • [telegram] Add extractor by hatienl0i261299
  • [VideocampusSachsen] Add extractors by FestplattenSchnitzel
  • [xinpianchang] Add extractor by hatienl0i261299
  • [abc] Support 1080p by Ronnnny
  • [afreecatv] Support password-protected livestreams by wlritchi
  • [ard] Fix valid URL
  • [ATVAt] Detect geo-restriction by marieell
  • [bandcamp] Detect acodec
  • [bandcamp] Fix user URLs by lyz-code
  • [bbc] Fix extraction of news articles by ajj8
  • [beeg] Fix extractor by Bricio
  • [bigo] Fix extractor to not to use form_params
  • [Bilibili] Pass referer for all formats by blackgear
  • [Biqle] Fix extractor by Bricio
  • [ccma] Fix timestamp parsing by nyuszika7h
  • [crunchyroll] Better error reporting on login failure by tejing1
  • [cspan] Support of C-Span congress videos by Grabien
  • [dropbox] fix regex by zenerdi0de
  • [fc2] Fix extraction by Lesmiscore
  • [fujitv] Extract resolution for free sources by YuenSzeHong
  • [Gettr] Add GettrStreamingIE by i6t
  • [Gettr] Fix formats order by i6t
  • [Gettr] Improve extractor by i6t
  • [globo] Expand valid URL by Bricio
  • [lbry] Fix --ignore-no-formats-error
  • [manyvids] Extract uploader by regarten
  • [mildom] Fix linter
  • [mildom] Rework extractors by Lesmiscore
  • [mirrativ] Cleanup extractor code by Lesmiscore
  • [nhk] Add support for NHK for School by Lesmiscore
  • [niconico:tag] Add support for searching tags
  • [nrk] Add fallback API
  • [peekvids] Use JSON-LD by schn0sch
  • [peertube] Add media.fsfe.org by mxmehl
  • [rtvs] Fix extractor by Bricio
  • [spiegel] Fix _VALID_URL
  • [ThumbnailsConvertor] Support webp
  • [tiktok] Fix vm.tiktok/vt.tiktok URLs
  • [tubitv] Fix/improve TV series extraction by bbepis
  • [tumblr] Fix extractor by foghawk
  • [twitcasting] Add fallback for finding running live by Lesmiscore
  • [TwitCasting] Check for password protection by Lesmiscore
  • [twitcasting] Fix extraction by Lesmiscore
  • [twitch] Fix field name of view_count
  • [twitter] Fix for private videos by iphoting
  • [washingtonpost] Fix extractor by Bricio
  • [youtube:tab] Add approximate_date extractor-arg
  • [youtube:tab] Follow redirect to regional channel by coletdjnz
  • [youtube:tab] Reject webpage data if redirected to home page
  • [youtube] De-prioritize potentially damaged formats
  • [youtube] Differentiate descriptive audio by language code
  • [youtube] Ensure subtitle urls are absolute by coletdjnz
  • [youtube] Escape possible $ in _extract_n_function_name regex by Lesmiscore
  • [youtube] Fix automatic captions
  • [youtube] Fix n-sig extraction for phone player JS by MinePlayersPE
  • [youtube] Further de-prioritize 3gp format
  • [youtube] Label original auto-subs
  • [youtube] Prefer UTC upload date for videos by coletdjnz
  • [zaq1] Remove dead extractor by marieell
  • [zee5] Support web-series by Aniruddh-J
  • [zingmp3] Fix extractor by hatienl0i261299
  • [zoom] Add support for screen cast by Mipsters

2022.02.04

  • [youtube:search] Fix extractor by coletdjnz
  • [youtube:search] Add tests
  • [twitcasting] Enforce UTF-8 for POST payload by Lesmiscore
  • [mediaset] Fix extractor by nixxo
  • [websocket] Make syntax error in websockets module non-fatal

2022.02.03

  • Merge youtube-dl: Upto commit/78ce962
  • Add option --print-to-file
  • Make nested --config-locations relative to parent file
  • Ensure _type is present in info.json
  • Fix --compat-options list-formats
  • Fix/improve InAdvancePagedList
  • [downloader/ffmpeg] Handle unknown formats better
  • [outtmpl] Handle -o "" better
  • [outtmpl] Handle hard-coded file extension better
  • [extractor] Add convinience function _yes_playlist
  • [extractor] Allow non-fatal title extraction
  • [extractor] Extract video inside Article json_ld
  • [generic] Allow further processing of json_ld URL
  • [cookies] Fix keyring selection for unsupported desktops
  • [utils] Strip double spaces in clean_html by dirkf
  • [aes] Add unpad_pkcs7
  • [test] Fix test_youtube_playlist_noplaylist
  • [docs,cleanup] Misc cleanup
  • [dplay] Add extractors for site changes by Sipherdrakon
  • [ertgr] Add extractors by zmousm, dirkf
  • [Musicdex] Add extractors by Ashish0804
  • [YandexVideoPreview] Add extractor by KiberInfinity
  • [youtube] Add extractor YoutubeMusicSearchURLIE
  • [archive.org] Ignore unnecessary files
  • [Bilibili] Add 8k support by u-spec-png
  • [bilibili] Fix extractor, make anthology title non-fatal
  • [CAM4] Add thumbnail extraction by alerikaisattera
  • [cctv] De-prioritize sample format
  • [crunchyroll:beta] Add cookies support by tejing1
  • [crunchyroll] Fix login by tejing1
  • [doodstream] Fix extractor
  • [fc2] Fix extraction by Lesmiscore
  • [FFmpegConcat] Abort on --skip-download and download errors
  • [Fujitv] Extract metadata and support premium by YuenSzeHong
  • [globo] Fix extractor by Bricio
  • [glomex] Simplify embed detection
  • [GoogleSearch] Fix extractor
  • [Instagram] Fix extraction when logged in by MinePlayersPE
  • [iq.com] Add VIP support by MinePlayersPE
  • [mildom] Fix extractor by lazypete365
  • [MySpass] Fix video url processing by trassshhub
  • [Odnoklassniki] Improve embedded players extraction by KiberInfinity
  • [orf:tvthek] Lazy playlist extraction and obey --no-playlist
  • [Pladform] Fix redirection to external player by KiberInfinity
  • [ThisOldHouse] Improve Premium URL check by Ashish0804
  • [TikTok] Iterate through app versions by MinePlayersPE
  • [tumblr] Fix 403 errors and handle vimeo embeds by foghawk
  • [viki] Fix "Bad request" for manifest by nyuszika7h
  • [Vimm] add recording extractor by alerikaisattera
  • [web.archive:youtube] Add ytarchive: prefix and misc cleanup
  • [youtube:api] Do not use seek when reading HTTPError response by coletdjnz
  • [youtube] Fix n-sig for player e06dea74
  • [youtube, cleanup] Misc fixes and cleanup

2022.01.21

  • Add option --concat-playlist to concat videos in a playlist
  • Allow multiple and nested configuration files
  • Add more post-processing stages (after_video, playlist)
  • Allow --exec to be run at any post-processing stage (Deprecates --exec-before-download)
  • Allow --print to be run at any post-processing stage
  • Allow listing formats, thumbnails, subtitles using --print by pukkandan, Zirro
  • Add fields video_autonumber, modified_date, modified_timestamp, playlist_count, channel_follower_count
  • Add key requested_downloads in the root info_dict
  • Write download_archive only after all formats are downloaded
  • [FfmpegMetadata] Allow setting metadata of individual streams using meta<n>_ prefix
  • Add option --legacy-server-connect by xtkoba
  • Allow escaped , in --extractor-args
  • Allow unicode characters in info.json
  • Check for existing thumbnail/subtitle in final directory
  • Don't treat empty containers as None in sanitize_info
  • Fix -s --ignore-no-formats --force-write-archive
  • Fix live title for multiple formats
  • List playlist thumbnails in --list-thumbnails
  • Raise error if subtitle download fails
  • [cookies] Fix bug when keyring is unspecified
  • [ffmpeg] Ignore unknown streams, standardize use of -map 0
  • [outtmpl] Alternate form for D and fix suffix's case
  • [utils] Add Sec-Fetch-Mode to std_headers
  • [utils] Fix format_bytes output for Bytes by pukkandan, mdawar
  • [utils] Handle ss:xxx in parse_duration
  • [utils] Improve parsing for nested HTML elements by zmousm, pukkandan
  • [utils] Use key None in traverse_obj to return as-is
  • [extractor] Detect more subtitle codecs in MPD manifests by fstirlitz
  • [extractor] Extract chapters from JSON-LD by iw0nderhow, pukkandan
  • [extractor] Extract thumbnails from JSON-LD by nixxo
  • [extractor] Improve url_result and related
  • [generic] Improve KVS player extraction by trassshhub
  • [build] Reduce dependency on third party workflows
  • [extractor,cleanup] Use _search_nextjs_data, format_field
  • [cleanup] Minor fixes and cleanup
  • [docs] Improvements
  • [test] Fix TestVerboseOutput
  • [afreecatv] Add livestreams extractor by wlritchi
  • [callin] Add extractor by foghawk
  • [CrowdBunker] Add extractors by Ashish0804
  • [daftsex] Add extractors by k3ns1n
  • [digitalconcerthall] Add extractor by teridon
  • [Drooble] Add extractor by u-spec-png
  • [EuropeanTour] Add extractor by Ashish0804
  • [iq.com] Add extractors by MinePlayersPE
  • [KelbyOne] Add extractor by Ashish0804
  • [LnkIE] Add extractor by Ashish0804
  • [MainStreaming] Add extractor by coletdjnz
  • [megatvcom] Add extractors by zmousm
  • [Newsy] Add extractor by Ashish0804
  • [noodlemagazine] Add extractor by trassshhub
  • [PokerGo] Add extractors by Ashish0804
  • [Pornez] Add extractor by mozlima
  • [PRX] Add Extractors by coletdjnz
  • [RTNews] Add extractor by Ashish0804
  • [Rule34video] Add extractor by trassshhub
  • [tvopengr] Add extractors by zmousm
  • [Vimm] Add extractor by alerikaisattera
  • [glomex] Add extractors by zmousm
  • [instagram] Add story/highlight extractor by u-spec-png
  • [openrec] Add movie extractor by Lesmiscore
  • [rai] Add Raiplaysound extractors by nixxo, pukkandan
  • [aparat] Fix extractor
  • [ard] Extract subtitles by fstirlitz
  • [BiliIntl] Add login by MinePlayersPE
  • [CeskaTelevize] Use http for manifests
  • [CTVNewsIE] Add fallback for video search by Ashish0804
  • [dplay] Migrate DiscoveryPlusItaly to DiscoveryPlus by timendum
  • [dplay] Re-structure DiscoveryPlus extractors
  • [Dropbox] Support password protected files and more formats by zenerdi0de
  • [facebook] Fix extraction from groups
  • [facebook] Improve title and uploader extraction
  • [facebook] Parse dash manifests
  • [fox] Extract m3u8 from preview by ischmidt20
  • [funk] Support origin URLs
  • [gfycat] Fix uploader
  • [gfycat] Support embeds by coletdjnz
  • [hotstar] Add extractor args to ignore tags by Ashish0804
  • [hrfernsehen] Fix ardloader extraction by CreaValix
  • [instagram] Fix username extraction for stories and highlights by nyuszika7h
  • [kakao] Detect geo-restriction
  • [line] Remove tv.line.me by sian1468
  • [mixch] Add MixchArchiveIE by Lesmiscore
  • [mixcloud] Detect restrictions by llacb47
  • [NBCSports] Fix extraction of platform URLs by ischmidt20
  • [Nexx] Extract more metadata by MinePlayersPE
  • [Nexx] Support 3q CDN by MinePlayersPE
  • [pbs] de-prioritize AD formats
  • [PornHub,YouTube] Refresh onion addresses by unit193
  • [RedBullTV] Parse subtitles from manifest by Ashish0804
  • [streamcz] Fix extractor by arkamar, pukkandan
  • [Ted] Rewrite extractor by pukkandan, trassshhub
  • [Theta] Fix valid URL by alerikaisattera
  • [ThisOldHouseIE] Add support for premium videos by Ashish0804
  • [TikTok] Fix extraction for sigi-based webpages, add API fallback by MinePlayersPE
  • [TikTok] Pass cookies to formats, and misc fixes by MinePlayersPE
  • [TikTok] Extract captions, user thumbnail by MinePlayersPE
  • [TikTok] Change app version by MinePlayersPE, llacb47
  • [TVer] Extract message for unaired live by Lesmiscore
  • [twitcasting] Refactor extractor by Lesmiscore
  • [twitter] Fix video in quoted tweets
  • [veoh] Improve extractor by foghawk
  • [vk] Capture clip URLs
  • [vk] Fix VKUserVideosIE by Ashish0804
  • [vk] Improve _VALID_URL by k3ns1n
  • [VrtNU] Handle empty title by pgaig
  • [XVideos] Check HLS formats by MinePlayersPE
  • [yahoo:gyao] Improved playlist handling by hyano
  • [youtube:tab] Extract more playlist metadata by coletdjnz, pukkandan
  • [youtube:tab] Raise error on tab redirect by krichbanana, coletdjnz
  • [youtube] Update Innertube clients by coletdjnz
  • [youtube] Detect live-stream embeds
  • [youtube] Do not return upload_date for playlists
  • [youtube] Extract channel subscriber count by coletdjnz
  • [youtube] Make invalid storyboard URL non-fatal
  • [youtube] Enforce UTC, update innertube clients and tests by coletdjnz
  • [zdf] Add chapter extraction by iw0nderhow
  • [zee5] Add geo-bypass

2021.12.27

  • Avoid recursion error when re-extracting info
  • [ffmpeg] Fix position of --ppa
  • [aria2c] Don't show progress when --no-progress
  • [cookies] Support other keyrings by mbway
  • [EmbedThumbnail] Prefer AtomicParsley over ffmpeg if available
  • [generic] Fix HTTP KVS Player by git-anony-mouse
  • [ThumbnailsConvertor] Fix for when there are no thumbnails
  • [docs] Add examples for using TYPES: in -P/-o
  • [PixivSketch] Add extractors by nao20010128nao
  • [tiktok] Add music, sticker and tag IEs by MinePlayersPE
  • [BiliIntl] Fix extractor by MinePlayersPE
  • [CBC] Fix URL regex
  • [tiktok] Fix extractor_key used in archive
  • [youtube] End live-from-start properly when stream ends with 403
  • [Zee5] Fix VALID_URL for tv-shows by Ashish0804

2021.12.25

  • [dash,youtube] Download live from start to end by nao20010128nao, pukkandan
    • Add option --live-from-start to enable downloading live videos from start
    • Add key is_from_start in formats to identify formats (of live videos) that downloads from start
    • [dash] Create protocol http_dash_segments_generator that allows a function to be passed instead of fragments
    • [fragment] Allow multiple live dash formats to download simultaneously
    • [youtube] Implement fragment re-fetching for the live dash formats
    • [youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
    • [postprocessor/ffmpeg] Add FFmpegFixupDuplicateMoovPP to fixup duplicated moov atoms
    • Known issues:
      • Ctrl+C doesn't work on Windows when downloading multiple formats
      • If video becomes private, download hangs
  • [SponsorBlock] Add Filler and Highlight categories by nihil-admirari, pukkandan
    • Change --sponsorblock-cut all to --sponsorblock-cut default if you do not want filler sections to be removed
  • Add field webpage_url_domain
  • Add interactive format selection with -f -
  • Add option --file-access-retries by ehoogeveen-medweb
  • [outtmpl] Add alternate forms S, D and improve id detection
  • [outtmpl] Add operator & for replacement text by PilzAdam
  • [EmbedSubtitle] Disable duration check temporarily
  • [extractor] Add _search_nuxt_data by nao20010128nao
  • [extractor] Ignore errors in comment extraction when -i is given
  • [extractor] Standardize _live_title
  • [FormatSort] Prevent incorrect deprecation warning
  • [generic] Extract m3u8 formats from JSON-LD
  • [postprocessor/ffmpeg] Always add faststart
  • [utils] Fix parsing YYYYMMDD dates in Nov/Dec by wlritchi
  • [utils] Improve parse_count
  • [utils] Update std_headers by kikuyan, fstirlitz
  • [lazy_extractors] Fix for search IEs
  • [extractor] Support default implicit graph in JSON-LD by zmousm
  • Allow --no-write-thumbnail to override --write-all-thumbnail
  • Fix --throttled-rate
  • Fix control characters being printed to --console-title
  • Fix PostProcessor hooks not registered for some PPs
  • Pre-process when using --flat-playlist
  • Remove known invalid thumbnails from info_dict
  • Add warning when using -f best
  • Use parse_duration for --wait-for-video and some minor fix
  • [test/download] Add more fields
  • [test/download] Ignore field webpage_url_domain by std-move
  • [compat] Suppress errors in enabling VT mode
  • [docs] Improve manpage format by iw0nderhow, pukkandan
  • [docs,cleanup] Minor fixes and cleanup
  • [cleanup] Fix some typos by unit193
  • [ABC:iview] Add show extractor by pabs3
  • [dropout] Add extractor by TwoThousandHedgehogs, pukkandan
  • [GameJolt] Add extractors by MinePlayersPE
  • [gofile] Add extractor by Jertzukka, Ashish0804
  • [hse] Add extractors by cypheron, pukkandan
  • [NateTV] Add NateIE and NateProgramIE by Ashish0804, Hyeeji
  • [OpenCast] Add extractors by bwildenhain, C0D3D3V
  • [rtve] Add RTVEAudioIE by kebianizao
  • [Rutube] Add RutubeChannelIE by Ashish0804
  • [skeb] Add extractor by nao20010128nao
  • [soundcloud] Add related tracks extractor by Lapin0t
  • [toggo] Add extractor by nyuszika7h
  • [TrueID] Add extractor by MinePlayersPE
  • [audiomack] Update album and song VALID_URL by abdullah-if, dirkf
  • [CBC Gem] Extract 1080p formats by DavidSkrundz
  • [ceskatelevize] Fetch iframe from nextJS data by mkubecek
  • [crackle] Look for non-DRM formats by raleeper
  • [dplay] Temporary fix for discoveryplus.com/it
  • [DiscoveryPlusShowBaseIE] yield actual video id by Ashish0804
  • [Facebook] Handle redirect URLs
  • [fujitv] Extract 1080p from tv_android m3u8 by YuenSzeHong
  • [gronkh] Support new URL pattern by Sematre
  • [instagram] Expand valid URL by u-spec-png
  • [Instagram] Try bypassing login wall with embed page by MinePlayersPE
  • [Jamendo] Fix use of _VALID_URL_RE by jaller94
  • [LBRY] Support livestreams by Ashish0804, pukkandan
  • [NJPWWorld] Extract formats from m3u8 by aarubui
  • [NovaEmbed] update player regex by std-move
  • [npr] Make SMIL extraction non-fatal by r5d
  • [ntvcojp] Extract NUXT data by nao20010128nao
  • [ok.ru] add mobile fallback by nao20010128nao
  • [olympics] Add uploader and cleanup by u-spec-png
  • [ondemandkorea] Update jw_config regex by julien-hadleyjack
  • [PlutoTV] Expand _VALID_URL
  • [RaiNews] Fix extractor by nixxo
  • [RCTIPlusSeries] Lazy extraction and video type selection by MinePlayersPE
  • [redtube] Handle formats delivered inside a JSON by dirkf, nixxo
  • [SonyLiv] Add OTP login support by Ashish0804
  • [Steam] Fix extractor by u-spec-png
  • [TikTok] Pass cookies to mobile API by MinePlayersPE
  • [trovo] Fix inheritance of TrovoChannelBaseIE
  • [TVer] Extract better thumbnails by YuenSzeHong
  • [vimeo] Extract chapters
  • [web.archive:youtube] Improve metadata extraction by coletdjnz
  • [youtube:comments] Add more options for limiting number of comments extracted by coletdjnz
  • [youtube:tab] Extract more metadata from feeds/channels/playlists by coletdjnz
  • [youtube:tab] Extract video thumbnails from playlist by coletdjnz, pukkandan
  • [youtube:tab] Ignore query when redirecting channel to playlist and cleanup of related code
  • [youtube] Fix ytsearchdate
  • [zdf] Support videos with different ptmd location by iw0nderhow
  • [zee5] Support /episodes in URL

2021.12.01

  • Add option --wait-for-video to wait for scheduled streams
  • Add option --break-per-input to apply --break-on... to each input URL
  • Add option --embed-info-json to embed info.json in mkv
  • Add compat-option embed-metadata
  • Allow using a custom format selector through API
  • [AES] Add ECB mode by nao20010128nao
  • [build] Fix MacOS Build
  • [build] Save Git HEAD at release alongside version info
  • [build] Use workflow_dispatch for release
  • [downloader/ffmpeg] Fix for direct videos inside mpd manifests
  • [downloader] Add colors to download progress
  • [EmbedSubtitles] Slightly relax duration check and related cleanup
  • [ExtractAudio] Fix conversion to wav and vorbis
  • [ExtractAudio] Support alac
  • [extractor] Extract average_rating from JSON-LD
  • [FixupM3u8] Fixup MPEG-TS in MP4 container
  • [generic] Support mpd manifests without extension by shirt
  • [hls] Better FairPlay DRM detection by nyuszika7h
  • [jsinterp] Fix splice to handle float (for youtube js player f1ca6900)
  • [utils] Allow alignment in render_table and add tests
  • [utils] Fix PagedList
  • [utils] Fix error when copying LazyList
  • Clarify video/audio-only formats in -F
  • Ensure directory exists when checking formats
  • Ensure path for link files exists by Zirro
  • Ensure same config file is not loaded multiple times
  • Fix postprocessor_hooks
  • Fix --break-on-archive when pre-checking
  • Fix --check-formats for mhtml
  • Fix --load-info-json of playlists with failed entries
  • Fix --trim-filename when filename has .
  • Fix bug in parsing --add-header
  • Fix error in report_unplayable_conflict by shirt
  • Fix writing playlist infojson with --no-clean-infojson
  • Validate --get-bypass-country
  • [blogger] Add extractor by pabs3
  • [breitbart] Add extractor by Grabien
  • [CableAV] Add extractor by j54vc1bk
  • [CanalAlpha] Add extractor by Ashish0804
  • [CozyTV] Add extractor by Ashish0804
  • [CPTwentyFour] Add extractor by Ashish0804
  • [DiscoveryPlus] Add DiscoveryPlusItalyShowIE by Ashish0804
  • [ESPNCricInfo] Add extractor by Ashish0804
  • [LinkedIn] Add extractor by u-spec-png
  • [mixch] Add extractor by nao20010128nao
  • [nebula] Add NebulaCollectionIE and rewrite extractor by hheimbuerger
  • [OneFootball] Add extractor by Ashish0804
  • [peer.tv] Add extractor by u-spec-png
  • [radiozet] Add extractor by 0xA7404A (Aurora)
  • [redgifs] Add extractor by chio0hai
  • [RedGifs] Add Search and User extractors by Deer-Spangle
  • [rtrfm] Add extractor by pabs3
  • [Streamff] Add extractor by cntrl-s
  • [Stripchat] Add extractor by zulaport
  • [Aljazeera] Fix extractor by u-spec-png
  • [AmazonStoreIE] Fix regex to not match vdp urls by Ashish0804
  • [ARDBetaMediathek] Handle new URLs
  • [bbc] Get all available formats by nyuszika7h
  • [Bilibili] Fix title extraction by u-spec-png
  • [CBC Gem] Fix for shows that don't have all seasons by makeworld-the-better-one
  • [curiositystream] Add more metadata
  • [CuriosityStream] Fix series
  • [DiscoveryPlus] Rewrite extractors by Ashish0804, pukkandan
  • [HotStar] Set language field from tags by Ashish0804
  • [instagram, cleanup] Refactor extractors
  • [Instagram] Display more login errors by MinePlayersPE
  • [itv] Fix extractor by staubichsauger, pukkandan
  • [mediaklikk] Expand valid URL
  • [MTV] Improve mgid extraction by Sipherdrakon, kikuyan
  • [nexx] Better error message for unsupported format
  • [NovaEmbed] Fix extractor by pukkandan, std-move
  • [PatreonUser] Do not capture RSS URLs
  • [Reddit] Add support for 1080p videos by xenova
  • [RoosterTeethSeries] Fix for multiple pages by MinePlayersPE
  • [sbs] Fix for movies and livestreams
  • [Senate.gov] Add SenateGovIE and fix SenateISVPIE by Grabien, pukkandan
  • [soundcloud:search] Fix pagination
  • [tiktok:user] Set webpage_url correctly
  • [Tokentube] Fix description by u-spec-png
  • [trovo] Fix extractor by nyuszika7h
  • [tv2] Expand valid URL
  • [Tvplayhome] Fix extractor by pukkandan, 18928172992817182
  • [Twitch:vod] Add chapters by mpeter50
  • [twitch:vod] Extract live status by DEvmIb
  • [VidLii] Add 720p support by mrpapersonic
  • [vimeo] Add fallback for config URL
  • [vimeo] Sort http formats higher
  • [WDR] Expand valid URL
  • [willow] Add extractor by aarubui
  • [xvideos] Detect embed URLs by 4a1e2y5
  • [xvideos] Fix extractor by Yakabuff
  • [youtube, cleanup] Reorganize Tab and Search extractor inheritances
  • [youtube:search_url] Add playlist/channel support
  • [youtube] Add default player client by coletdjnz
  • [youtube] Add storyboard formats
  • [youtube] Decrypt n-sig for URLs with ratebypass
  • [youtube] Minor improvement to format sorting
  • [cleanup] Add deprecation warnings
  • [cleanup] Refactor JSInterpreter._seperate
  • [Cleanup] Remove some unnecessary groups in regexes by Ashish0804
  • [cleanup] Misc cleanup

2021.11.10.1

  • Temporarily disable MacOS Build

2021.11.10

  • [youtube] Fix throttling by decrypting n-sig
  • Merging extractors from haruhi-dl by selfisekai
    • [extractor] Add _search_nextjs_data
    • [tvp] Fix extractors
    • [tvp] Add TVPStreamIE
    • [wppilot] Add extractors
    • [polskieradio] Add extractors
    • [radiokapital] Add extractors
    • [polsatgo] Add extractor by selfisekai, sdomi
  • 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

2021.10.22

  • [build] Improvements
    • Build standalone MacOS packages by smplayer-dev
    • Release windows exe built with py2exe
    • Enable lazy-extractors in releases.
      • Set env var YTDLP_NO_LAZY_EXTRACTORS to forcefully disable this (experimental)
    • 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
  • [crunchyroll] Add support for beta.crunchyroll URLs and fix series URLs with language code
  • [EUScreen] Add Extractor by Ashish0804
  • [Gronkh] Add extractor by Ashish0804
  • [hidive] Fix typo
  • [Hotstar] Mention Dynamic Range in format_id by Ashish0804
  • [Hotstar] Raise appropriate error for DRM
  • [instagram] Add login by u-spec-png
  • [instagram] Show appropriate error when login is needed
  • [microsoftstream] Add extractor by damianoamatruda, nixklai
  • [on24] Add extractor by damianoamatruda
  • [patreon] Fix vimeo player regex by zenerdi0de
  • [SkyNewsAU] Add extractor by Ashish0804
  • [tagesschau] Fix extractor by u-spec-png
  • [tbs] Add tbs live streams by llacb47
  • [tiktok] Fix typo and update tests
  • [trovo] Support channel clips and VODs by Ashish0804
  • [Viafree] Add support for Finland by 18928172992817182
  • [vimeo] Fix embedded player.vimeo
  • [vlive:channel] Fix extraction by kikuyan, pukkandan
  • [youtube] Add auto-translated subtitles
  • [youtube] Expose different formats with same itag
  • [youtube:comments] Fix for new layout by coletdjnz
  • [cleanup] Cleanup bilibili code by pukkandan, u-spec-png
  • [cleanup] Remove broken youtube login code
  • [cleanup] Standardize timestamp formatting code
  • [cleanup] Generalize getcomments implementation for extractors
  • [cleanup] Simplify search extractors code
  • [cleanup] misc

2021.10.10

  • [downloader/ffmpeg] Fix bug in initializing FFmpegPostProcessor
  • [minicurses] Fix when printing to file
  • [downloader] Fix throttledratelimit
  • [francetv] Fix extractor by fstirlitz, sarnoud
  • [NovaPlay] Add extractor by Bojidarist
  • [ffmpeg] Revert "Set max probesize" - No longer needed
  • [docs] Remove incorrect dependency on VC++10
  • [build] Allow to release without changelog

2021.10.09

  • Improved progress reporting
    • Separate --console-title and --no-progress
    • Add option --progress to show progress-bar even in quiet mode
    • Fix and refactor minicurses and use it for all progress reporting
    • Standardize use of terminal sequences and enable color support for windows 10
    • Add option --progress-template to customize progress-bar and console-title
    • Add postprocessor hooks and progress reporting
  • [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

2021.09.25