diff --git a/.github/ISSUE_TEMPLATE/3_site_feature_request.yml b/.github/ISSUE_TEMPLATE/3_site_feature_request.yml index 7de8b719f3..0ebb8748e3 100644 --- a/.github/ISSUE_TEMPLATE/3_site_feature_request.yml +++ b/.github/ISSUE_TEMPLATE/3_site_feature_request.yml @@ -32,7 +32,7 @@ body: label: Example URLs description: | Example URLs that can be used to demonstrate the requested feature - value: | + placeholder: | https://www.youtube.com/watch?v=BaW_jenozKc validations: required: true diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ee5d90dea7..d24326fb67 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -178,3 +178,15 @@ jaller94 r5d julien-hadleyjack git-anony-mouse +mdawar +trassshhub +foghawk +k3ns1n +teridon +mozlima +timendum +ischmidt20 +CreaValix +sian1468 +arkamar +hyano diff --git a/Changelog.md b/Changelog.md index 5c30457023..a0e9af2e05 100644 --- a/Changelog.md +++ b/Changelog.md @@ -11,6 +11,128 @@ --> +### 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](https://github.com/pukkandan), [Zirro](https://github.com/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_` prefix +* Add option `--legacy-server-connect` by [xtkoba](https://github.com/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](https://github.com/pukkandan), [mdawar](https://github.com/mdawar) +* [utils] Handle `ss:xxx` in `parse_duration` +* [utils] Improve parsing for nested HTML elements by [zmousm](https://github.com/zmousm), [pukkandan](https://github.com/pukkandan) +* [utils] Use key `None` in `traverse_obj` to return as-is +* [extractor] Detect more subtitle codecs in MPD manifests by [fstirlitz](https://github.com/fstirlitz) +* [extractor] Extract chapters from JSON-LD by [iw0nderhow](https://github.com/iw0nderhow), [pukkandan](https://github.com/pukkandan) +* [extractor] Extract thumbnails from JSON-LD by [nixxo](https://github.com/nixxo) +* [extractor] Improve `url_result` and related +* [generic] Improve KVS player extraction by [trassshhub](https://github.com/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](https://github.com/wlritchi) +* [callin] Add extractor by [foghawk](https://github.com/foghawk) +* [CrowdBunker] Add extractors by [Ashish0804](https://github.com/Ashish0804) +* [daftsex] Add extractors by [k3ns1n](https://github.com/k3ns1n) +* [digitalconcerthall] Add extractor by [teridon](https://github.com/teridon) +* [Drooble] Add extractor by [u-spec-png](https://github.com/u-spec-png) +* [EuropeanTour] Add extractor by [Ashish0804](https://github.com/Ashish0804) +* [iq.com] Add extractors by [MinePlayersPE](https://github.com/MinePlayersPE) +* [KelbyOne] Add extractor by [Ashish0804](https://github.com/Ashish0804) +* [LnkIE] Add extractor by [Ashish0804](https://github.com/Ashish0804) +* [MainStreaming] Add extractor by [coletdjnz](https://github.com/coletdjnz) +* [megatvcom] Add extractors by [zmousm](https://github.com/zmousm) +* [Newsy] Add extractor by [Ashish0804](https://github.com/Ashish0804) +* [noodlemagazine] Add extractor by [trassshhub](https://github.com/trassshhub) +* [PokerGo] Add extractors by [Ashish0804](https://github.com/Ashish0804) +* [Pornez] Add extractor by [mozlima](https://github.com/mozlima) +* [PRX] Add Extractors by [coletdjnz](https://github.com/coletdjnz) +* [RTNews] Add extractor by [Ashish0804](https://github.com/Ashish0804) +* [Rule34video] Add extractor by [trassshhub](https://github.com/trassshhub) +* [tvopengr] Add extractors by [zmousm](https://github.com/zmousm) +* [Vimm] Add extractor by [alerikaisattera](https://github.com/alerikaisattera) +* [glomex] Add extractors by [zmousm](https://github.com/zmousm) +* [instagram] Add story/highlight extractor by [u-spec-png](https://github.com/u-spec-png) +* [openrec] Add movie extractor by [Lesmiscore](https://github.com/Lesmiscore) +* [rai] Add Raiplaysound extractors by [nixxo](https://github.com/nixxo), [pukkandan](https://github.com/pukkandan) +* [aparat] Fix extractor +* [ard] Extract subtitles by [fstirlitz](https://github.com/fstirlitz) +* [BiliIntl] Add login by [MinePlayersPE](https://github.com/MinePlayersPE) +* [CeskaTelevize] Use `http` for manifests +* [CTVNewsIE] Add fallback for video search by [Ashish0804](https://github.com/Ashish0804) +* [dplay] Migrate DiscoveryPlusItaly to DiscoveryPlus by [timendum](https://github.com/timendum) +* [dplay] Re-structure DiscoveryPlus extractors +* [Dropbox] Support password protected files and more formats by [zenerdi0de](https://github.com/zenerdi0de) +* [facebook] Fix extraction from groups +* [facebook] Improve title and uploader extraction +* [facebook] Parse dash manifests +* [fox] Extract m3u8 from preview by [ischmidt20](https://github.com/ischmidt20) +* [funk] Support origin URLs +* [gfycat] Fix `uploader` +* [gfycat] Support embeds by [coletdjnz](https://github.com/coletdjnz) +* [hotstar] Add extractor args to ignore tags by [Ashish0804](https://github.com/Ashish0804) +* [hrfernsehen] Fix ardloader extraction by [CreaValix](https://github.com/CreaValix) +* [instagram] Fix username extraction for stories and highlights by [nyuszika7h](https://github.com/nyuszika7h) +* [kakao] Detect geo-restriction +* [line] Remove `tv.line.me` by [sian1468](https://github.com/sian1468) +* [mixch] Add `MixchArchiveIE` by [Lesmiscore](https://github.com/Lesmiscore) +* [mixcloud] Detect restrictions by [llacb47](https://github.com/llacb47) +* [NBCSports] Fix extraction of platform URLs by [ischmidt20](https://github.com/ischmidt20) +* [Nexx] Extract more metadata by [MinePlayersPE](https://github.com/MinePlayersPE) +* [Nexx] Support 3q CDN by [MinePlayersPE](https://github.com/MinePlayersPE) +* [pbs] de-prioritize AD formats +* [PornHub,YouTube] Refresh onion addresses by [unit193](https://github.com/unit193) +* [RedBullTV] Parse subtitles from manifest by [Ashish0804](https://github.com/Ashish0804) +* [streamcz] Fix extractor by [arkamar](https://github.com/arkamar), [pukkandan](https://github.com/pukkandan) +* [Ted] Rewrite extractor by [pukkandan](https://github.com/pukkandan), [trassshhub](https://github.com/trassshhub) +* [Theta] Fix valid URL by [alerikaisattera](https://github.com/alerikaisattera) +* [ThisOldHouseIE] Add support for premium videos by [Ashish0804](https://github.com/Ashish0804) +* [TikTok] Fix extraction for sigi-based webpages, add API fallback by [MinePlayersPE](https://github.com/MinePlayersPE) +* [TikTok] Pass cookies to formats, and misc fixes by [MinePlayersPE](https://github.com/MinePlayersPE) +* [TikTok] Extract captions, user thumbnail by [MinePlayersPE](https://github.com/MinePlayersPE) +* [TikTok] Change app version by [MinePlayersPE](https://github.com/MinePlayersPE), [llacb47](https://github.com/llacb47) +* [TVer] Extract message for unaired live by [Lesmiscore](https://github.com/Lesmiscore) +* [twitcasting] Refactor extractor by [Lesmiscore](https://github.com/Lesmiscore) +* [twitter] Fix video in quoted tweets +* [veoh] Improve extractor by [foghawk](https://github.com/foghawk) +* [vk] Capture `clip` URLs +* [vk] Fix VKUserVideosIE by [Ashish0804](https://github.com/Ashish0804) +* [vk] Improve `_VALID_URL` by [k3ns1n](https://github.com/k3ns1n) +* [VrtNU] Handle empty title by [pgaig](https://github.com/pgaig) +* [XVideos] Check HLS formats by [MinePlayersPE](https://github.com/MinePlayersPE) +* [yahoo:gyao] Improved playlist handling by [hyano](https://github.com/hyano) +* [youtube:tab] Extract more playlist metadata by [coletdjnz](https://github.com/coletdjnz), [pukkandan](https://github.com/pukkandan) +* [youtube:tab] Raise error on tab redirect by [krichbanana](https://github.com/krichbanana), [coletdjnz](https://github.com/coletdjnz) +* [youtube] Update Innertube clients by [coletdjnz](https://github.com/coletdjnz) +* [youtube] Detect live-stream embeds +* [youtube] Do not return `upload_date` for playlists +* [youtube] Extract channel subscriber count by [coletdjnz](https://github.com/coletdjnz) +* [youtube] Make invalid storyboard URL non-fatal +* [youtube] Enforce UTC, update innertube clients and tests by [coletdjnz](https://github.com/coletdjnz) +* [zdf] Add chapter extraction by [iw0nderhow](https://github.com/iw0nderhow) +* [zee5] Add geo-bypass + + ### 2021.12.27 * Avoid recursion error when re-extracting info diff --git a/Collaborators.md b/Collaborators.md index 0616e29e47..29d320dd6c 100644 --- a/Collaborators.md +++ b/Collaborators.md @@ -41,7 +41,7 @@ You can also find lists of all [contributors of yt-dlp](CONTRIBUTORS) and [autho * Improved/fixed support for HiDive, HotStar, Hungama, LBRY, LinkedInLearning, Mxplayer, SonyLiv, TV2, Vimeo, VLive etc -## [Lesmicore](https://github.com/Lesmiscore) (nao20010128nao) +## [Lesmiscore](https://github.com/Lesmiscore) (nao20010128nao) **Bitcoin**: bc1qfd02r007cutfdjwjmyy9w23rjvtls6ncve7r3s **Monacoin**: mona1q3tf7dzvshrhfe3md379xtvt2n22duhglv5dskr diff --git a/README.md b/README.md index f092a83d17..d3fbdd6e45 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ yt-dlp is a [youtube-dl](https://github.com/ytdl-org/youtube-dl) fork based on t * Redirect channel's home URL automatically to `/video` to preserve the old behaviour * `255kbps` audio is extracted (if available) from youtube music when premium cookies are given * Youtube music Albums, channels etc can be downloaded ([except self-uploaded music](https://github.com/yt-dlp/yt-dlp/issues/723)) - * Download livestreams from the start using `--live-from-start` + * Download livestreams from the start using `--live-from-start` (experimental) * **Cookies from browser**: Cookies can be automatically extracted from all major web browsers using `--cookies-from-browser BROWSER[+KEYRING][:PROFILE]` @@ -110,9 +110,9 @@ yt-dlp is a [youtube-dl](https://github.com/ytdl-org/youtube-dl) fork based on t * **Output template improvements**: Output templates can now have date-time formatting, numeric offsets, object traversal etc. See [output template](#output-template) for details. Even more advanced operations can also be done with the help of `--parse-metadata` and `--replace-in-metadata` -* **Other new options**: Many new options have been added such as `--print`, `--wait-for-video`, `--sleep-requests`, `--convert-thumbnails`, `--write-link`, `--force-download-archive`, `--force-overwrites`, `--break-on-reject` etc +* **Other new options**: Many new options have been added such as `--concat-playlist`, `--print`, `--wait-for-video`, `--sleep-requests`, `--convert-thumbnails`, `--write-link`, `--force-download-archive`, `--force-overwrites`, `--break-on-reject` etc -* **Improvements**: Regex and other operators in `--match-filter`, multiple `--postprocessor-args` and `--downloader-args`, faster archive checking, more [format selection options](#format-selection), merge multi-video/audio, multiple `--config-locations`, etc +* **Improvements**: Regex and other operators in `--match-filter`, multiple `--postprocessor-args` and `--downloader-args`, faster archive checking, more [format selection options](#format-selection), merge multi-video/audio, multiple `--config-locations`, `--exec` at different stages, etc * **Plugins**: Extractors and PostProcessors can be loaded from an external file. See [plugins](#plugins) for details @@ -723,6 +723,9 @@ You can also fork the project on github and run your fork's [build workflow](.gi ## Workarounds: --encoding ENCODING Force the specified encoding (experimental) + --legacy-server-connect Explicitly allow HTTPS connection to + servers that do not support RFC 5746 secure + renegotiation --no-check-certificates Suppress HTTPS certificate validation --prefer-insecure Use an unencrypted connection to retrieve information about the video (Currently diff --git a/supportedsites.md b/supportedsites.md index 9dc94f27d3..a55b3ee131 100644 --- a/supportedsites.md +++ b/supportedsites.md @@ -41,6 +41,7 @@ - **aenetworks:collection** - **aenetworks:show** - **afreecatv**: afreecatv.com + - **afreecatv:live**: afreecatv.com - **AirMozilla** - **AliExpressLive** - **AlJazeera** @@ -162,6 +163,7 @@ - **BuzzFeed** - **BYUtv** - **CableAV** + - **Callin** - **CAM4** - **Camdemy** - **CamdemyFolder** @@ -232,6 +234,8 @@ - **Cracked** - **Crackle** - **CrooksAndLiars** + - **CrowdBunker** + - **CrowdBunkerChannel** - **crunchyroll** - **crunchyroll:beta** - **crunchyroll:playlist** @@ -246,6 +250,7 @@ - **curiositystream:collections** - **curiositystream:series** - **CWTV** + - **Daftsex** - **DagelijkseKost**: dagelijksekost.een.be - **DailyMail** - **dailymotion** @@ -265,6 +270,7 @@ - **democracynow** - **DHM**: Filmarchiv - Deutsches Historisches Museum - **Digg** + - **DigitalConcertHall**: DigitalConcertHall extractor - **DigitallySpeaking** - **Digiteka** - **Discovery** @@ -288,6 +294,7 @@ - **DouyuTV**: 斗鱼 - **DPlay** - **DRBonanza** + - **Drooble** - **Dropbox** - **Dropout** - **DropoutSeason** @@ -330,6 +337,7 @@ - **ESPNCricInfo** - **EsriVideo** - **Europa** + - **EuropeanTour** - **EUScreen** - **EWETV** - **ExpoTV** @@ -407,6 +415,8 @@ - **Glide**: Glide mobile video messages (glide.me) - **Globo** - **GloboArticle** + - **glomex**: Glomex videos + - **glomex:embed**: Glomex embedded videos - **Go** - **GodTube** - **Gofile** @@ -470,6 +480,7 @@ - **IndavideoEmbed** - **InfoQ** - **Instagram** + - **instagram:story** - **instagram:tag**: Instagram hashtag search URLs - **instagram:user**: Instagram user profile - **InstagramIOS**: IOS instagram:// URL @@ -477,6 +488,8 @@ - **InternetVideoArchive** - **IPrima** - **IPrimaCNN** + - **iq.com**: International version of iQiyi + - **iq.com:album** - **iqiyi**: 爱奇艺 - **Ir90Tv** - **ITTF** @@ -500,6 +513,7 @@ - **KarriereVideos** - **Katsomo** - **KeezMovies** + - **KelbyOne** - **Ketnet** - **khanacademy** - **khanacademy:unit** @@ -545,7 +559,6 @@ - **limelight:channel_list** - **LineLive** - **LineLiveChannel** - - **LineTV** - **LinkedIn** - **linkedin:learning** - **linkedin:learning:course** @@ -554,6 +567,7 @@ - **LiveJournal** - **livestream** - **livestream:original** + - **Lnk** - **LnkGo** - **loc**: Library of Congress - **LocalNews8** @@ -566,6 +580,7 @@ - **mailru**: Видео@Mail.Ru - **mailru:music**: Музыка@Mail.Ru - **mailru:music:search**: Музыка@Mail.Ru + - **MainStreaming**: MainStreaming Player - **MallTV** - **mangomolo:live** - **mangomolo:video** @@ -592,6 +607,8 @@ - **MediasiteNamedCatalog** - **Medici** - **megaphone.fm**: megaphone.fm embedded players + - **megatvcom**: megatv.com videos + - **megatvcom:embed**: megatv.com embedded videos - **Meipai**: 美拍 - **MelonVOD** - **META** @@ -615,6 +632,7 @@ - **mirrativ:user** - **MiTele**: mitele.es - **mixch** + - **mixch:archive** - **mixcloud** - **mixcloud:playlist** - **mixcloud:user** @@ -704,6 +722,7 @@ - **Newgrounds:playlist** - **Newgrounds:user** - **Newstube** + - **Newsy** - **NextMedia**: 蘋果日報 - **NextMediaActionNews**: 蘋果日報 - 動新聞 - **NextTV**: 壹電視 @@ -733,6 +752,7 @@ - **NJPWWorld**: 新日本プロレスワールド - **NobelPrize** - **NonkTube** + - **NoodleMagazine** - **Noovo** - **Normalboots** - **NosVideo** @@ -785,6 +805,7 @@ - **OpencastPlaylist** - **openrec** - **openrec:capture** + - **openrec:movie** - **OraTV** - **orf:burgenland**: Radio Burgenland - **orf:fm4**: radio FM4 @@ -856,6 +877,8 @@ - **podomatic** - **Pokemon** - **PokemonWatch** + - **PokerGo** + - **PokerGoCollection** - **PolsatGo** - **PolskieRadio** - **polskieradio:kierowcow** @@ -867,6 +890,7 @@ - **PopcornTV** - **PornCom** - **PornerBros** + - **Pornez** - **PornFlip** - **PornHd** - **PornHub**: PornHub and Thumbzilla @@ -881,6 +905,11 @@ - **PressTV** - **ProjectVeritas** - **prosiebensat1**: ProSiebenSat.1 Digital + - **PRXAccount** + - **PRXSeries** + - **prxseries:search**: PRX Series Search; "prxseries:" prefix + - **prxstories:search**: PRX Stories Search; "prxstories:" prefix + - **PRXStory** - **puhutv** - **puhutv:serie** - **Puls4** @@ -914,8 +943,9 @@ - **RaiPlay** - **RaiPlayLive** - **RaiPlayPlaylist** - - **RaiPlayRadio** - - **RaiPlayRadioPlaylist** + - **RaiPlaySound** + - **RaiPlaySoundLive** + - **RaiPlaySoundPlaylist** - **RayWenderlich** - **RayWenderlichCourse** - **RBMARadio** @@ -950,12 +980,15 @@ - **Roxwel** - **Rozhlas** - **RTBF** + - **RTDocumentry** + - **RTDocumentryPlaylist** - **rte**: Raidió Teilifís Éireann TV - **rte:radio**: Raidió Teilifís Éireann radio - **rtl.nl**: rtl.nl and rtlxl.nl - **rtl2** - **rtl2:you** - **rtl2:you:series** + - **RTNews** - **RTP** - **RTRFM** - **RTS**: RTS.ch @@ -967,8 +1000,10 @@ - **RTVNH** - **RTVS** - **RUHD** + - **Rule34Video** - **RumbleChannel** - **RumbleEmbed** + - **Ruptly** - **rutube**: Rutube videos - **rutube:channel**: Rutube channel - **rutube:embed**: Rutube embedded videos @@ -1109,7 +1144,10 @@ - **TeamTreeHouse** - **TechTalks** - **techtv.mit.edu** - - **ted** + - **TedEmbed** + - **TedPlaylist** + - **TedSeries** + - **TedTalk** - **Tele13** - **Tele5** - **TeleBruxelles** @@ -1207,6 +1245,8 @@ - **TVNowNew** - **TVNowSeason** - **TVNowShow** + - **tvopengr:embed**: tvopen.gr embedded videos + - **tvopengr:watch**: tvopen.gr (and ethnos.gr) videos - **tvp**: Telewizja Polska - **tvp:embed**: Telewizja Polska - **tvp:series** @@ -1299,6 +1339,7 @@ - **vimeo:review**: Review pages on vimeo - **vimeo:user** - **vimeo:watchlater**: Vimeo watch later list, "vimeowatchlater" keyword (requires authentication) + - **Vimm** - **Vimple**: Vimple - one-click video hosting - **Vine** - **vine:user** @@ -1425,9 +1466,10 @@ - **youtube:search_url**: YouTube search URLs with sorting and filter support - **youtube:subscriptions**: YouTube subscriptions feed; ":ytsubs" keyword (requires cookies) - **youtube:tab**: YouTube Tabs + - **youtube:user**: YouTube user videos; "ytuser:" prefix - **youtube:watchlater**: Youtube watch later list; ":ytwatchlater" keyword (requires cookies) + - **YoutubeLivestreamEmbed**: YouTube livestream embeds - **YoutubeYtBe**: youtu.be - - **YoutubeYtUser**: YouTube user videos; "ytuser:" prefix - **Zapiks** - **Zattoo** - **ZattooLive**