]>
jfr.im git - yt-dlp.git/log
pukkandan [Wed, 28 Apr 2021 13:32:43 +0000 (19:02 +0530)]
Subtitle extraction from streaming media manifests #247
Authored by fstirlitz
Modified from: https://github.com/ytdl-org/youtube-dl/pull/6144
Closes: #73
Fixes:
https://github.com/ytdl-org/youtube-dl/issues/6106
https://github.com/ytdl-org/youtube-dl/issues/14977
https://github.com/ytdl-org/youtube-dl/issues/21438
https://github.com/ytdl-org/youtube-dl/issues/23609
https://github.com/ytdl-org/youtube-dl/issues/28132
Might also fix (untested):
https://github.com/ytdl-org/youtube-dl/issues/15424
https://github.com/ytdl-org/youtube-dl/issues/18267
https://github.com/ytdl-org/youtube-dl/issues/23899
https://github.com/ytdl-org/youtube-dl/issues/24375
https://github.com/ytdl-org/youtube-dl/issues/24595
https://github.com/ytdl-org/youtube-dl/issues/27899
Related:
https://github.com/ytdl-org/youtube-dl/issues/22379
https://github.com/ytdl-org/youtube-dl/pull/24517
https://github.com/ytdl-org/youtube-dl/pull/24886
https://github.com/ytdl-org/youtube-dl/pull/27215
Notes:
* The functions `extractor.common._extract_..._formats` are still kept for compatibility
* Only some extractors have currently been moved to using `_extract_..._formats_and_subtitles`
* Direct subtitle manifests (without a master) are not supported and are wrongly identified as containing video formats
* AES support is untested
* The fragmented TTML subtitles extracted from DASH/ISM are valid, but are unsupported by `ffmpeg` and most video players
* Their XML fragments can be dumped using `ffmpeg -i in.mp4 -f data -map 0 -c copy out.ttml`.
Once the unnecessary headers are stripped out of this, it becomes a valid self-contained ttml file
* The ttml subs downloaded from DASH manifests can also be directly opened with <https://github.com/SubtitleEdit>
* Fragmented WebVTT files extracted from DASH/ISM are also unsupported by most tools
* Unlike the ttml files, the XML fragments of these cannot be dumped using `ffmpeg`
* The webtt subs extracted from DASH can be parsed by <https://github.com/gpac/gpac>
* But validity of the those extracted from ISM are untested
Felix S [Mon, 19 Apr 2021 19:42:51 +0000 (21:42 +0200)]
[threeqsdn] Extract subtitles from streaming manifests
Felix S [Mon, 19 Apr 2021 16:57:25 +0000 (18:57 +0200)]
[canvas] Extract subtitles from streaming manifests
Felix S [Sun, 18 Apr 2021 14:55:14 +0000 (16:55 +0200)]
[wat] Extract subtitles from streaming manifests
Felix S [Sun, 18 Apr 2021 14:45:04 +0000 (16:45 +0200)]
[atresplayer] Extract subtitles from streaming manifests
Felix S [Sun, 18 Apr 2021 13:47:49 +0000 (15:47 +0200)]
[francetv] Extract subtitles from the HLS manifest
Felix S [Sun, 18 Apr 2021 06:41:46 +0000 (08:41 +0200)]
[uplynk] Extract subtitles from HLS manifests
Felix S [Thu, 15 Apr 2021 12:12:59 +0000 (14:12 +0200)]
[twitter] Extract subtitles from HLS manifests
Felix S [Thu, 15 Apr 2021 08:16:15 +0000 (10:16 +0200)]
[srgssr] Extract subtitles from HLS manifests
Felix S [Thu, 15 Apr 2021 08:14:46 +0000 (10:14 +0200)]
[nytimes] Extract subtitles from HLS manifests
Felix S [Thu, 15 Apr 2021 08:18:13 +0000 (10:18 +0200)]
[roosterteeth] Use common code for subtitle extraction
Felix S [Sun, 18 Apr 2021 00:09:48 +0000 (02:09 +0200)]
[elonet] Use common code for subtitle extraction
Felix S [Thu, 15 Apr 2021 08:19:32 +0000 (10:19 +0200)]
[tv4] Extract subtitles from streaming manifests
Felix S [Sun, 18 Apr 2021 06:40:39 +0000 (08:40 +0200)]
[byutv] Extract subtitles from streaming manifests
Felix S [Sun, 18 Apr 2021 12:26:32 +0000 (14:26 +0200)]
[generic] Extract subtitles from direct SSTR manifest links
Felix S [Sun, 18 Apr 2021 06:41:28 +0000 (08:41 +0200)]
[generic] Extract subtitles from direct DASH manifest links
Felix S [Thu, 15 Apr 2021 08:15:43 +0000 (10:15 +0200)]
[generic] Extract subtitles from direct HLS manifest links
Felix S [Sun, 18 Apr 2021 10:48:39 +0000 (12:48 +0200)]
[downloader/ism] Support muxing TTML subtitles
Felix S [Fri, 23 Apr 2021 08:55:09 +0000 (10:55 +0200)]
[downloader/hls] Handle MPEG-2 PES timestamp overflow
Felix S [Fri, 23 Apr 2021 08:52:21 +0000 (10:52 +0200)]
[downloader/hls] Remove duplicate cues using a sliding window of candidates
Felix S [Wed, 28 Apr 2021 10:47:30 +0000 (16:17 +0530)]
[downloader/hls] Assemble single-file WebVTT subtitles from HLS segments
Felix S [Mon, 19 Apr 2021 10:40:29 +0000 (12:40 +0200)]
[test] Test SSTR manifest parsing
Felix S [Sun, 18 Apr 2021 05:55:33 +0000 (07:55 +0200)]
[test] Test subtitle extraction from DASH manifests
Felix S [Sat, 17 Apr 2021 13:49:12 +0000 (15:49 +0200)]
[test] Test subtitle extraction from HLS manifests
Felix S [Thu, 22 Apr 2021 15:19:26 +0000 (17:19 +0200)]
[extractor/common] Extend _extract_akamai_formats to also extract subtitle tracks
Felix S [Sun, 18 Apr 2021 10:47:42 +0000 (12:47 +0200)]
[extractor/common, downloader/ism] Extract SSTR subtitle tracks
_parse_ism_formats was extended into _parse_ism_formats_and_subtitles;
all direct users were updated, though _extract_ism_formats was left
as a compatibility wrapper.
The SSTR downloader was also modified in order to prepare for muxing
subtitle streams, although no support for any subtitle codecs was
added in this commit.
Felix S [Sat, 17 Apr 2021 23:49:22 +0000 (01:49 +0200)]
[extractor/common] Extract DASH subtitle tracks
_extract_mpd_formats and _parse_mpd_formats were extended into
_…_formats_and_subtitles; wrappers with old names are provided
for compatibility.
Felix S [Mon, 7 Nov 2016 14:45:42 +0000 (15:45 +0100)]
[extractor/common] Extract HLS subtitle tracks
_extract_m3u8_formats is renamed to _extract_m3u8_formats_and_subtitles
and extended to handle subtitle tracks instead of skipping them;
a wrapper with the old name is provided for compatibility.
_parse_m3u8_formats is likewise renamed and extended, but without adding
the compatibility wrapper; the test suite is adjusted to test the enhanced
method instead.
Felix S [Mon, 19 Apr 2021 17:25:54 +0000 (19:25 +0200)]
[extractor/common] Generalise _merge_subtitles
This allows modifying a subtitles dictionary in-place.
Felix S [Fri, 23 Apr 2021 07:13:33 +0000 (09:13 +0200)]
[downloader/ism] Prevent writing the header again when resuming an interrupted download
Felix S [Fri, 23 Apr 2021 07:11:28 +0000 (09:11 +0200)]
[downloader/fragment] Allow persisting extra state when a download is interrupted
Felix S [Thu, 22 Apr 2021 19:16:29 +0000 (21:16 +0200)]
[utils] Improve bug_report_message
Add an optional argument specifying the text that should go before
the message.
Hadi0609 [Wed, 28 Apr 2021 09:21:54 +0000 (15:21 +0600)]
[zee5] Fix extraction for some URLs (#279)
Closes: #278
Felix S [Mon, 26 Apr 2021 11:53:20 +0000 (13:53 +0200)]
[mediasite] Generalize URL pattern (#275)
Authored by: fstirlitz
pukkandan [Mon, 26 Apr 2021 05:19:22 +0000 (10:49 +0530)]
Fix case sensitivity of format selector
Bug introduced in
f8d4ad9ab00bca71808cd769c04806f51c3578f0
pukkandan [Mon, 26 Apr 2021 05:16:26 +0000 (10:46 +0530)]
[limelight] Obey `allow_unplayable_formats`
pukkandan [Mon, 26 Apr 2021 05:15:17 +0000 (10:45 +0530)]
[FormatSort] Fix for when some formats have quality and others don't
pukkandan [Mon, 26 Apr 2021 01:52:24 +0000 (07:22 +0530)]
Py2 compatibility for `FileNotFoundError`
CXwudi [Mon, 26 Apr 2021 02:53:57 +0000 (19:53 -0700)]
[niconico] Fix title and thumbnail extraction (#273)
Authored by: CXwudi
Ashish [Mon, 26 Apr 2021 02:42:51 +0000 (08:12 +0530)]
[Mxplayer] Add MxplayerShowIE (#270)
Authored by: Ashish0804
pukkandan [Sat, 24 Apr 2021 13:48:45 +0000 (19:18 +0530)]
[utils] Encode URLs in `YoutubeDLCookieProcessor`
Closes #263
pukkandan [Sat, 24 Apr 2021 12:22:33 +0000 (17:52 +0530)]
[tubi] Raise "no video formats" error when video url is empty
Related: #266
pukkandan [Thu, 22 Apr 2021 18:31:09 +0000 (00:01 +0530)]
[francetvinfo] Improve video id extraction
Closes #261
pukkandan [Thu, 22 Apr 2021 11:59:32 +0000 (17:29 +0530)]
[version] update :ci skip all
pukkandan [Thu, 22 Apr 2021 11:04:32 +0000 (16:34 +0530)]
Release 2021.04.22
pukkandan [Thu, 22 Apr 2021 11:04:02 +0000 (16:34 +0530)]
[documentation] Fix typos
pukkandan [Thu, 22 Apr 2021 11:24:41 +0000 (16:54 +0530)]
[ci] Disable fail-fast
pukkandan [Thu, 22 Apr 2021 11:02:06 +0000 (16:32 +0530)]
[lazy_extractor] Do not load plugins
pukkandan [Thu, 22 Apr 2021 09:02:54 +0000 (14:32 +0530)]
Update to ytdl-commit-
7e8b3f9
[youtube] Remove unused code
https://github.com/ytdl-org/youtube-dl/commit/
7e8b3f9439ebefb3a3a4e5da9c0bd2b595976438
Felix S [Thu, 22 Apr 2021 11:22:22 +0000 (13:22 +0200)]
[mildom] Remove proxy (#260)
Closes #251
Makes
2cff49599769dcc131c385cbc24bab35d0b182ad ,
ab406a1c0e7f0afde7e80818c0159bfa2847481f , #252 obsolete
Authored by: fstirlitz
pukkandan [Wed, 21 Apr 2021 22:43:04 +0000 (04:13 +0530)]
[BilibiliChannel] Fix pagination
Closes #222
https://github.com/nao20010128nao/ytdl-patched/commit/
ccca21d7f57f1330a205f07d369e31883ba006c2
Coauthored by: nao20010128nao, pukkandan
pukkandan [Wed, 21 Apr 2021 22:17:31 +0000 (03:47 +0530)]
[documentation] Clarify which deprecated options still work
pukkandan [Thu, 15 Apr 2021 12:31:16 +0000 (18:01 +0530)]
Improve output template (see desc)
* Objects can be traversed like `%(field.key1.key2)s`
* A number can be added to the field as `%(field+n)s`
* Deprecates `--autonumber-start`
pukkandan [Wed, 21 Apr 2021 06:00:43 +0000 (11:30 +0530)]
Add option `--skip-playlist-after-errors`
Allows to skip the rest of a playlist after a given number of errors are encountered
pukkandan [Wed, 21 Apr 2021 10:10:55 +0000 (15:40 +0530)]
[go] Fix `_VALID_URL`
Closes #255
pukkandan [Wed, 21 Apr 2021 06:16:16 +0000 (11:46 +0530)]
[mildom] Warn user of proxy
pukkandan [Wed, 21 Apr 2021 05:42:04 +0000 (11:12 +0530)]
[MetadataFromField] Improve regex and add tests
pukkandan [Wed, 21 Apr 2021 05:07:24 +0000 (10:37 +0530)]
[youtube] Bugfix in `_extract_ytcfg`
pukkandan [Mon, 19 Apr 2021 21:17:09 +0000 (02:47 +0530)]
Improve --sub-langs (see desc)
* Treat `--sub-langs` entries as regex
* `all` can be used to refer to all the subtitles
* the language code can be prefixed with `-` to exclude it
* Deprecates `--all-subs`
Closes #253
pukkandan [Mon, 19 Apr 2021 06:01:58 +0000 (11:31 +0530)]
[mildom:user:vod] Download only necessary amount of pages
pukkandan [Mon, 19 Apr 2021 06:01:24 +0000 (11:31 +0530)]
[mildom:vod] Remove proxy
* Proxy is needed only for live videos
pukkandan [Mon, 19 Apr 2021 06:11:33 +0000 (11:41 +0530)]
[mildom] Change proxy
Related: #251
Closes #252
pukkandan [Sun, 18 Apr 2021 12:10:48 +0000 (17:40 +0530)]
[twitcasting] Fix extractor
* `Origin: https://twitcasting.tv` must be sent when requesting the webpage. Otherwise the extracted `m3u8` will always give a `502`
* Fix regex for when `data-movie-playlist` is a dict containing the needed list
* media initialization is fully supported; so change downloader to native
Closes #220
nixxo [Sat, 17 Apr 2021 17:12:28 +0000 (19:12 +0200)]
[rai] Add support for http formats (#208)
Authored by: nixxo
Felix S [Sat, 17 Apr 2021 13:51:25 +0000 (15:51 +0200)]
Improve the yt-dlp.sh script (#248)
* Quote the `$0` variable to correctly handle spaces
* Change the shebang line to `/bin/sh` to avoid unnecessarily depending on bash
* Use the `exec` command to avoid having the shell process linger unnecessarily
* Change the mode to make the script directly executable
Authored by: fstirlitz
:ci skip all
pukkandan [Sat, 17 Apr 2021 03:02:33 +0000 (08:32 +0530)]
Update to ytdl-commit-9f6c03
[cbsnews] Fix extraction for python <3.6
https://github.com/ytdl-org/youtube-dl/commit/
9f6c03a00602eb1119e43a522cf50682f6d6a6dd
pukkandan [Sat, 17 Apr 2021 02:19:49 +0000 (07:49 +0530)]
[youtube:tab] Reload with unavailable videos for all playlists
If the unavailable video is in a later page, the warning and button are not shown in the initial webpage
So we force all playlists' initial page to reload with the correct params
pukkandan [Sat, 17 Apr 2021 00:09:58 +0000 (05:39 +0530)]
Add option `--ignore-no-formats-error`
* Ignores the "no video format" and similar errors
* Experimental - Some extractors may still throw these errors
pukkandan [Fri, 16 Apr 2021 10:01:10 +0000 (15:31 +0530)]
Fix inconsistent use of `report_warning`
pukkandan [Fri, 16 Apr 2021 00:30:04 +0000 (06:00 +0530)]
[downloader] Fix ffmpeg selection for m3u8_native
coletdjnz [Fri, 16 Apr 2021 22:39:08 +0000 (22:39 +0000)]
[youtube:tab] Show unavailable videos in playlists (#242)
Closes #231
Authored by: colethedj
pukkandan [Fri, 16 Apr 2021 00:00:46 +0000 (05:30 +0530)]
Fix some linter and typos
lkho [Sun, 27 Sep 2020 19:21:31 +0000 (03:21 +0800)]
[viu:ott] Fix extractor (see desc)
* add language_flag_id query param
* add support for premium account (untested since I dont have a premium account)
* support entire series
Code from:
https://github.com/blackjack4494/youtube-dlc/pull/211
https://github.com/ytdl-org/youtube-dl/pull/15182
https://github.com/ytdl-org/youtube-dl/pull/26775
Fixes:
https://github.com/yt-dlp/yt-dlp/issues/219
https://github.com/ytdl-org/youtube-dl/issues/27946
https://github.com/ytdl-org/youtube-dl/issues/27863
https://github.com/ytdl-org/youtube-dl/issues/27812
https://github.com/ytdl-org/youtube-dl/issues/27464
https://github.com/ytdl-org/youtube-dl/issues/26788
https://github.com/blackjack4494/yt-dlc/issues/136
Possibly also fixes (untested):
https://github.com/ytdl-org/youtube-dl/issues/16992
https://github.com/ytdl-org/youtube-dl/issues/26701
Co-authored by: lkho, pukkandan
pukkandan [Thu, 15 Apr 2021 18:44:33 +0000 (00:14 +0530)]
[Exec] Ensure backward compatibility when the command contains `%`
coletdjnz [Thu, 15 Apr 2021 11:22:59 +0000 (11:22 +0000)]
[youtube] Standardize API calls for tabs, mixes and search (#245)
Authored by: colethedj
pukkandan [Wed, 14 Apr 2021 09:39:53 +0000 (15:09 +0530)]
[youtube] Ignore invalid stretch ratio
Closes #244
pukkandan [Wed, 14 Apr 2021 04:27:48 +0000 (09:57 +0530)]
Ashish [Wed, 14 Apr 2021 06:52:28 +0000 (12:22 +0530)]
[TubiTv] Add TubiTvShowIE (#243)
Authored by: Ashish0804
coletdjnz [Wed, 14 Apr 2021 05:07:03 +0000 (05:07 +0000)]
[youtube] Improve channel syncid extraction to support ytcfg (#241)
Authored by: colethedj
pukkandan [Tue, 13 Apr 2021 05:23:25 +0000 (10:53 +0530)]
Ensure `mergeall` selects best format when multistreams are disabled
pukkandan [Mon, 12 Apr 2021 17:04:11 +0000 (22:34 +0530)]
[downloader] Fix external downloader selection for m3u8
Closes #239
pukkandan [Sun, 11 Apr 2021 21:53:07 +0000 (03:23 +0530)]
[version] update
:ci skip all
pukkandan [Sun, 11 Apr 2021 21:50:07 +0000 (03:20 +0530)]
Release 2021.04.11
pukkandan [Sun, 11 Apr 2021 00:22:55 +0000 (05:52 +0530)]
[documentation] Improvements
pukkandan [Sat, 10 Apr 2021 22:18:52 +0000 (03:48 +0530)]
Add option `--convert-thumbnails`
Closes: https://github.com/yt-dlp/yt-dlp/issues/99 https://github.com/yt-dlp/yt-dlp/issues/102
pukkandan [Sat, 10 Apr 2021 22:18:07 +0000 (03:48 +0530)]
Allow running some `postprocessors` before actual download
coletdjnz [Sun, 11 Apr 2021 20:23:04 +0000 (20:23 +0000)]
[youtube] Parse API parameters from initial webpage (#230)
* Obtain innertube_context, api_key and x-goog-visitor-id from webpage
* Generalize the header & Innertube_context extraction across YouTube extractors
Related: https://github.com/ytdl-org/youtube-dl/commit/
1b0a13f33cfb3644cc718d35951ea85bb1905459
Authored by: colethedj
pukkandan [Sun, 11 Apr 2021 00:33:02 +0000 (06:03 +0530)]
[youtube] Fix thumbnail URL
Closes: https://github.com/yt-dlp/yt-dlp/issues/233 https://github.com/ytdl-org/youtube-dl/issues/28023
pukkandan [Sun, 11 Apr 2021 00:09:55 +0000 (05:39 +0530)]
Pass any field to `--exec` using similar syntax to output template
Related: https://github.com/ytdl-org/youtube-dl/issues/28642
pukkandan [Sat, 10 Apr 2021 16:59:58 +0000 (22:29 +0530)]
Fix `mergeall` when requested formats are unavailable
pukkandan [Sat, 10 Apr 2021 16:47:11 +0000 (22:17 +0530)]
Update to ytdl-commit-
4fb25ff
[maoritv] Add new extractor
https://github.com/ytdl-org/youtube-dl/commit/
4fb25ff5a3be5206bb72e5c4046715b1529fb2c7
Except:
[vimeo] improve extraction https://github.com/ytdl-org/youtube-dl/commit/
3ae9c0f410b1d4f63e8bada67dd62a8d2852be32
[youtube:tab] Pass innertube context... https://github.com/ytdl-org/youtube-dl/commit/
1b0a13f33cfb3644cc718d35951ea85bb1905459
pukkandan [Sat, 10 Apr 2021 15:45:32 +0000 (21:15 +0530)]
[downloaders] Fix API access
Bug introduced by:
52a8a1e1b93dbc88f0018d4842f1e90ba96e095f
pukkandan [Sat, 10 Apr 2021 15:22:54 +0000 (20:52 +0530)]
Deprecate more options
* `--all-formats` = `-f all`
* `--include-ads` is not implemented
pukkandan [Sat, 10 Apr 2021 15:20:36 +0000 (20:50 +0530)]
Fix default of `dynamic_mpd`
pukkandan [Sat, 10 Apr 2021 15:08:33 +0000 (20:38 +0530)]
Option to choose different downloader for different protocols
* Renamed `--external-downloader-args` to `--downloader-args`
* Added `native` as an option for the downloader
* Use similar syntax to `--downloader-args` etc. Eg: `--downloader dash:native --downloader aria2c`
* Deprecated `--hls-prefer-native` and `--hls-prefer-ffmpeg` since the same can now be done with `--downloader "m3u8:native"` and `m3u8:ffmpeg` respectively
* Split `frag_urls` protocol into `m3u8_frag_urls` and `dash_frag_urls`
* Standardize shortening of protocol names with `downloader.shorten_protocol_name`
pukkandan [Sat, 10 Apr 2021 15:00:38 +0000 (20:30 +0530)]
Improve argument parsing for `-P`, `-o`, `-S`
* `-P "subtitle,thumbnail:PATH"` is now possible. Similarly for `-o`
* `-S "fps,br" -S "res,codec"` is now interpreted as `-S res,codec,fps,br`. Previously, `-S fps,br` was ignored in this case.
pukkandan [Sat, 10 Apr 2021 14:40:30 +0000 (20:10 +0530)]
Format selector `mergeall` to download and merge all formats
pukkandan [Fri, 9 Apr 2021 12:14:23 +0000 (17:44 +0530)]
[youtube] Fix _extract_alerts
* Sometimes one warning is split between multiple runs
* Also simplified code
Henrik Heimbuerger [Fri, 9 Apr 2021 11:25:33 +0000 (13:25 +0200)]
[nebula] Add extractor (watchnebula.com) (#122)
Authored by: hheimbuerger
LE [Fri, 9 Apr 2021 10:03:10 +0000 (10:03 +0000)]
[NFHSNetwork] Add extractor (#217)
Authored by: llacb47