From fac988053fc9b7a7f7dab9110d7de751511e1883 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 9 May 2021 02:55:05 +0530 Subject: [PATCH] Release 2021.05.11 * and some documentation improvements --- CONTRIBUTORS | 4 +++ Changelog.md | 55 ++++++++++++++++++++++++++++++++++++++ README.md | 22 ++++++++++----- supportedsites.md | 9 ++++--- yt_dlp/extractor/common.py | 2 +- 5 files changed, 81 insertions(+), 11 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index d5b41e6cf..5aa9b92cd 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -40,3 +40,7 @@ hheimbuerger B0pol lkho fstirlitz +Lamieur +tsukumijima +Hadi0609 +b5eff52 diff --git a/Changelog.md b/Changelog.md index e3c3b1987..589a05347 100644 --- a/Changelog.md +++ b/Changelog.md @@ -19,6 +19,61 @@ # Instuctions for creating release --> +### 2021.05.11 + +* **Deprecate support for python versions < 3.6** +* **Subtitle extraction from manifests** by [fstirlitz](https://github.com/fstirlitz). See [be6202f12b97858b9d716e608394b51065d0419f](https://github.com/yt-dlp/yt-dlp/commit/be6202f12b97858b9d716e608394b51065d0419f) 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](https://github.com/ytdl-org/youtube-dl/commit/a7260099873acc6dc7d76cafad2f6b139087afd0) +* **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](https://github.com/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](https://github.com/fstirlitz) +* [mxplayer] Add MxplayerShowIE by [Ashish0804](https://github.com/Ashish0804) +* [nebula] Move to nebula.app by [Lamieur](https://github.com/Lamieur) +* [niconico] Fix HLS formats by [CXwudi](https://github.com/CXwudi), [tsukumijima](https://github.com/tsukumijima), [nao20010128nao](https://github.com/nao20010128nao) and [pukkandan](https://github.com/pukkandan) +* [niconico] Fix title and thumbnail extraction by [CXwudi](https://github.com/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](https://github.com/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](https://github.com/Hadi0609) +* [zee5] Fix py2 compatibility +* Fix `playlist_index` and add `playlist_autonumber`. See [#302](https://github.com/yt-dlp/yt-dlp/issues/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 `YoutubeDL`so that they obey `--no-warnings` and can output colors +* Py2 compatibility for `FileNotFoundError` + + ### 2021.04.22 * **Improve output template:** * Objects can be traversed like `%(field.key1.key2)s` diff --git a/README.md b/README.md index 68392c92a..207f29493 100644 --- a/README.md +++ b/README.md @@ -66,9 +66,9 @@ # NEW FEATURES * **[Format Sorting](#sorting-formats)**: The default format sorting options have been changed so that higher resolution and better codecs will be now preferred instead of simply using larger bitrate. Furthermore, you can now specify the sort order using `-S`. This allows for much easier format selection that what is possible by simply using `--format` ([examples](#format-selection-examples)) -* **Merged with youtube-dl v2021.04.17**: You get all the latest features and patches of [youtube-dl](https://github.com/ytdl-org/youtube-dl) in addition to all the features of [youtube-dlc](https://github.com/blackjack4494/yt-dlc) +* **Merged with youtube-dl [commit/a726009](https://github.com/ytdl-org/youtube-dl/commit/a7260099873acc6dc7d76cafad2f6b139087afd0)**: (v2021.04.26) You get all the latest features and patches of [youtube-dl](https://github.com/ytdl-org/youtube-dl) in addition to all the features of [youtube-dlc](https://github.com/blackjack4494/yt-dlc) -* **Merged with animelover1984/youtube-dl**: You get most of the features and improvements from [animelover1984/youtube-dl](https://github.com/animelover1984/youtube-dl) including `--get-comments`, `BiliBiliSearch`, `BilibiliChannel`, Embedding thumbnail in mp4/ogg/opus, Playlist infojson etc. Note that the NicoNico improvements are not available. See [#31](https://github.com/yt-dlp/yt-dlp/pull/31) for details. +* **Merged with animelover1984/youtube-dl**: You get most of the features and improvements from [animelover1984/youtube-dl](https://github.com/animelover1984/youtube-dl) including `--get-comments`, `BiliBiliSearch`, `BilibiliChannel`, Embedding thumbnail in mp4/ogg/opus, playlist infojson etc. Note that the NicoNico improvements are not available. See [#31](https://github.com/yt-dlp/yt-dlp/pull/31) for details. * **Youtube improvements**: * All Youtube Feeds (`:ytfav`, `:ytwatchlater`, `:ytsubs`, `:ythistory`, `:ytrec`) works and supports downloading multiple pages of content @@ -82,17 +82,21 @@ # NEW FEATURES * **Aria2c with HLS/DASH**: You can use `aria2c` as the external downloader for DASH(mpd) and HLS(m3u8) formats -* **New extractors**: AnimeLab, Philo MSO, Rcs, Gedi, bitwave.tv, mildom, audius, zee5, mtv.it, wimtv, pluto.tv, niconico users, discoveryplus.in, mediathek, NFHSNetwork, nebula +* **New extractors**: AnimeLab, Philo MSO, Rcs, Gedi, bitwave.tv, mildom, audius, zee5, mtv.it, wimtv, pluto.tv, niconico users, discoveryplus.in, mediathek, NFHSNetwork, nebula, ukcolumn, whowatch, MxplayerShow -* **Fixed extractors**: archive.org, roosterteeth.com, skyit, instagram, itv, SouthparkDe, spreaker, Vlive, akamai, ina, rumble, tennistv, amcnetworks, la7 podcasts, linuxacadamy, nitter, twitcasting, viu +* **Fixed extractors**: archive.org, roosterteeth.com, skyit, instagram, itv, SouthparkDe, spreaker, Vlive, akamai, ina, rumble, tennistv, amcnetworks, la7 podcasts, linuxacadamy, nitter, twitcasting, viu, crackle, curiositystream, mediasite, rmcdecouverte, sonyliv, tubi + +* **Subtitle extraction from manifests**: Subtitles can be extracted from streaming media manifests. See [be6202f12b97858b9d716e608394b51065d0419f](https://github.com/yt-dlp/yt-dlp/commit/be6202f12b97858b9d716e608394b51065d0419f) for details * **Multiple paths and output templates**: You can give different [output templates](#output-template) and download paths for different types of files. You can also set a temporary path where intermediary files are downloaded to using `--paths` (`-P`) * **Portable Configuration**: Configuration files are automatically loaded from the home and root directories. See [configuration](#configuration) for details -* **Other new options**: `--parse-metadata`, `--list-formats-as-table`, `--write-link`, `--force-download-archive`, `--force-overwrites`, `--break-on-reject` etc +* **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` -* **Improvements**: Multiple `--postprocessor-args` and `--external-downloader-args`, Date/time formatting in `-o`, faster archive checking, more [format selection options](#format-selection) etc +* **Other new options**: `--sleep-requests`, `--convert-thumbnails`, `--write-link`, `--force-download-archive`, `--force-overwrites`, `--break-on-reject` etc + +* **Improvements**: Multiple `--postprocessor-args` and `--downloader-args`, faster archive checking, more [format selection options](#format-selection) etc * **Plugin extractors**: Extractors can be loaded from an external file. See [plugins](#plugins) for details @@ -161,7 +165,9 @@ # INSTALLATION ### DEPENDENCIES Python versions 3.6+ (CPython and PyPy) are officially supported. Other versions and implementations may or maynot work correctly. -Although there are no required dependencies, `ffmpeg` and `ffprobe` are highly recommended. Other optional dependencies are `sponskrub`, `AtomicParsley`, `mutagen`, `pycryptodome` and any of the supported external downloaders. Note that the windows releases are already built with the python interpreter, mutagen and pycryptodome included. +On windows, [Microsoft Visual C++ 2010 Redistributable Package (x86)](https://www.microsoft.com/en-us/download/details.aspx?id=26999) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it. + +Although there are no other required dependencies, `ffmpeg` and `ffprobe` are highly recommended. Other optional dependencies are `sponskrub`, `AtomicParsley`, `mutagen`, `pycryptodome` and any of the supported external downloaders. Note that the windows releases are already built with the python interpreter, mutagen and pycryptodome included. ### UPDATE You can use `yt-dlp -U` to update if you are using the provided release. @@ -179,6 +185,8 @@ ### COMPILE You can also build the executable without any version info or metadata by using: pyinstaller.exe yt_dlp\__main__.py --onefile --name yt-dlp + +Note that pyinstaller [does not support](https://github.com/pyinstaller/pyinstaller#requirements-and-tested-platforms) Python installed from the Windows store without using a virtual environment **For Unix**: You will need the required build tools: `python`, `make` (GNU), `pandoc`, `zip`, `nosetests` diff --git a/supportedsites.md b/supportedsites.md index c68684815..fdd2736b1 100644 --- a/supportedsites.md +++ b/supportedsites.md @@ -130,7 +130,6 @@ # Supported sites - **bitwave:stream** - **BleacherReport** - **BleacherReportCMS** - - **blinkx** - **Bloomberg** - **BokeCC** - **BongaCams** @@ -225,7 +224,8 @@ # Supported sites - **Culturebox** - **CultureUnplugged** - **curiositystream** - - **curiositystream:collection** + - **curiositystream:collections** + - **curiositystream:series** - **CWTV** - **DagelijkseKost**: dagelijksekost.een.be - **DailyMail** @@ -584,6 +584,7 @@ # Supported sites - **Mwave** - **MwaveMeetGreet** - **Mxplayer** + - **MxplayerShow** - **MyChannels** - **MySpace** - **MySpace:album** @@ -1076,6 +1077,7 @@ # Supported sites - **UDNEmbed**: 聯合影音 - **UFCArabia** - **UFCTV** + - **ukcolumn** - **UKTVPlay** - **umg:de**: Universal Music Deutschland - **Unistra** @@ -1194,6 +1196,7 @@ # Supported sites - **Weibo** - **WeiboMobile** - **WeiqiTV**: WQTV + - **whowatch** - **WimTV** - **Wistia** - **WistiaPlaylist** @@ -1204,7 +1207,7 @@ # Supported sites - **WWE** - **XBef** - **XboxClips** - - **XFileShare**: XFileShare based sites: Aparat, ClipWatching, GoUnlimited, GoVid, HolaVid, Streamty, TheVideoBee, Uqload, VidBom, vidlo, VidLocker, VidShare, VUp, XVideoSharing + - **XFileShare**: XFileShare based sites: Aparat, ClipWatching, GoUnlimited, GoVid, HolaVid, Streamty, TheVideoBee, Uqload, VidBom, vidlo, VidLocker, VidShare, VUp, WolfStream, XVideoSharing - **XHamster** - **XHamsterEmbed** - **XHamsterUser** diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index 0112585af..99695e14f 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -1596,7 +1596,7 @@ def add_item(field, reverse, closest, limit_text): def print_verbose_info(self, to_screen): if self._sort_user: - to_screen('[debug] Sort order given by user: %s' % ','.join(self._sort_user)) + to_screen('[debug] Sort order given by user: %s' % ', '.join(self._sort_user)) if self._sort_extractor: to_screen('[debug] Sort order given by extractor: %s' % ', '.join(self._sort_extractor)) to_screen('[debug] Formats sorted by: %s' % ', '.join(['%s%s%s' % (