Commit Graph

351 Commits (14b17a551f0c9b3117dfb3a3c83ff0e100195bd7)

Author SHA1 Message Date
pukkandan e8e738406a
Add experimental option `--check-formats` to test the URLs before format selection 4 years ago
pukkandan e625be0d10
Improve output template internal formatting
* Allow slicing lists/strings using `field.start🔚step`
* A field can also be used as offset like `field1+num+field2`
* A default value can be given using `field|default`
* Capture all format strings and set it to `None` if invalid. This prevents invalid fields from causing errors
4 years ago
pukkandan 12e73423f1
[plutotv] Fix format extraction for some urls
* And fallback to the first urls if ad-free urls can't be found
Closes #299
4 years ago
pukkandan 7700b37f39
[plutotv] Extract subtitles from manifests 4 years ago
Ashish c28cfda81f
[SonyLiv] Fix `title` and `series` extraction (#301)
Authored by: Ashish0804
4 years ago
pukkandan 848887eb7a
[downloader] Fix `quiet` and `to_stderr` 4 years ago
pukkandan 3158150cb7
[utils] Add `network_exceptions` 4 years ago
pukkandan 6ef6bcbd6b
[fragment] Ensure the file is closed on error 4 years ago
pukkandan 06425e9621
[blinkx] Minor fix
Fixes: https://github.com/ytdl-org/youtube-dl/issues/28941
4 years ago
pukkandan 4d224a3022
[embedthumbnail] Fix bug where jpeg thumbnails were converted again
Closes #297
4 years ago
pukkandan f59ae58163
Fix number of digits in `%(playlist_index)s`
When used with `--playlist-(items|start|end)`, the number of digits should depend on the last index in the playlist, not number of items
4 years ago
pukkandan 0d1bb027aa
Move option warnings to `YoutubeDL`
Previously, these warnings did not obey `--no-warnings` and did not output colors
4 years ago
pukkandan 4cd0a709aa
Fix `preload_download_archive` writing verbose message to `stdout`
* And move it after all deprecated warnings
4 years ago
pukkandan 1815d1028b
[zee5] Fix py2 compatibility 4 years ago
The Hatsune Daishi 0fa9a1e236
[whowatch] Add extractor #292
closes #223

Authored by: nao20010128nao 
Modified from: 9e4a0e061a/youtube_dl/extractor/whowatch.py
4 years ago
pukkandan eb55bad5a0
[aria2c] Fix whitespace being stripped off
Closes #276
4 years ago
pukkandan cc0ec3e161
Do not strip out whitespaces in `-o` and `-P`
Related: https://github.com/yt-dlp/yt-dlp/issues/276#issuecomment-827361652
4 years ago
pukkandan 80185155a1
[ukcolumn] Add Extractor
Closes #287
4 years ago
pukkandan c755f1901f
[CBS] Improve `_VALID_URL` to support movies
Closes #290
Tested by: BeeMuffins
4 years ago
pukkandan 68b91dc905
[youtube] Add `oembed` to reserved names 4 years ago
pukkandan 88f06afc0c
[rmcdecouverte] Improve `_VALID_URL`
Closes #291
4 years ago
CXwudi 40078a55e2
[niconico] Fix bug in thumbnail extraction #289
Bug from: 6b1d8c1e30
Authored by: CXwudi
4 years ago
pukkandan d2558234cf
[utils] Escape URL while sanitizing
Closes #263

While this fixes the issue in question, it does not try to address the root-cause of the problem
Refer: 915f911e36, f5fa042c82
4 years ago
pukkandan f5fa042c82
Revert "[utils] Encode URLs in `YoutubeDLCookieProcessor`"
This reverts commit 915f911e36.

When the request is copied, `unredirected_hdrs` are not copied, which causes issues elsewhere
Reopens #263
4 years ago
pukkandan 07e4a40a9a
[crackle] Improve extraction (See desc)
Closes #282

* Refactor authorization as an extension to `_download_json`
* Better error messages and warnings
* Respect `--ignore-no-formats-error`
* Extract subtitles from manifests
* Try with crackle's geo-location service if all hard-coded countries fail
4 years ago
pukkandan e28f1c0ae8
[cleanup] Fix linter and some typos
* Also remove inconsistent use of `"` in setup.py
4 years ago
pukkandan ef39f8600a
[curiositystream] Fix collections
Closes #277

* A bug with authentication was reported in <https://github.com/yt-dlp/yt-dlp/issues/277#issuecomment-828254721> but cannot be tested without an account
4 years ago
pukkandan 2291dbce2a
[niconico] Fix HLS formats
Closes #171

* The structure of the API JSON was changed
* Smile Video seems to be no longer available. So remove the warning
* Move ping to downloader
* Change heartbeat interval to 40sec
* Remove unnecessary API headers

Authored-by: CXwudi, tsukumijima, nao20010128nao, pukkandan
Tested by: tsukumijima
4 years ago
pukkandan 58f197b76c
Revert "[core] be able to hand over id and title using url_result"
This reverts commit 0704d2224b.

This is a commit from `youtube-dlc`. It is not clear what the original purpose of this was. It seems to be a way for extractors to pass `title` and `id` through when the entry is processed by another extractor

* But `title` can already be passed through using `url_transparent`
* `id` is never supposed to be passed through since it could cause issues with archiving
4 years ago
pukkandan 895b0931e5
[youtube:tab] Detect playlists inside community posts 4 years ago
pukkandan 1ad047d0f7
[nebula] Move to nebula.app
Closes #272
Tested by: Lamieur
4 years ago
pukkandan be6202f12b
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
4 years ago
Felix S e8f834cd8d [threeqsdn] Extract subtitles from streaming manifests 4 years ago
Felix S e0e624ca7f [canvas] Extract subtitles from streaming manifests 4 years ago
Felix S ec4f374c05 [wat] Extract subtitles from streaming manifests 4 years ago
Felix S c811e8d8bd [atresplayer] Extract subtitles from streaming manifests 4 years ago
Felix S b2cd5da460 [francetv] Extract subtitles from the HLS manifest 4 years ago
Felix S 2de3b21e05 [uplynk] Extract subtitles from HLS manifests 4 years ago
Felix S 4bed436371 [twitter] Extract subtitles from HLS manifests 4 years ago
Felix S efe9dba595 [srgssr] Extract subtitles from HLS manifests 4 years ago
Felix S 47f4203dd3 [nytimes] Extract subtitles from HLS manifests 4 years ago
Felix S 015c10aeec [roosterteeth] Use common code for subtitle extraction 4 years ago
Felix S a00d781b73 [elonet] Use common code for subtitle extraction 4 years ago
Felix S 0c541b563f [tv4] Extract subtitles from streaming manifests 4 years ago
Felix S 64a5cf7929 [byutv] Extract subtitles from streaming manifests 4 years ago
Felix S 7a450a3b1c [generic] Extract subtitles from direct SSTR manifest links 4 years ago
Felix S 7de27caf16 [generic] Extract subtitles from direct DASH manifest links 4 years ago
Felix S c26326c1be [generic] Extract subtitles from direct HLS manifest links 4 years ago
Felix S 66a1b8643a [downloader/ism] Support muxing TTML subtitles 4 years ago
Felix S 15828bcf25 [downloader/hls] Handle MPEG-2 PES timestamp overflow 4 years ago
Felix S 333217f43e [downloader/hls] Remove duplicate cues using a sliding window of candidates 4 years ago
Felix S 4a2f19abbd [downloader/hls] Assemble single-file WebVTT subtitles from HLS segments 4 years ago
Felix S f6a1d69a87 [extractor/common] Extend _extract_akamai_formats to also extract subtitle tracks 4 years ago
Felix S fd76a14259 [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.
4 years ago
Felix S 171e59edd4 [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.
4 years ago
Felix S a0c3b2d5cf [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.
4 years ago
Felix S 19bb39202d [extractor/common] Generalise _merge_subtitles
This allows modifying a subtitles dictionary in-place.
4 years ago
Felix S d4553567d2 [downloader/ism] Prevent writing the header again when resuming an interrupted download 4 years ago
Felix S 4d49884c58 [downloader/fragment] Allow persisting extra state when a download is interrupted 4 years ago
Felix S 5873d4ccdd [utils] Improve bug_report_message
Add an optional argument specifying the text that should go before
the message.
4 years ago
Hadi0609 db9a564b6a
[zee5] Fix extraction for some URLs (#279)
Closes: #278
4 years ago
Felix S c72967d5de
[mediasite] Generalize URL pattern (#275)
Authored by: fstirlitz
4 years ago
pukkandan 598d185db1
Fix case sensitivity of format selector
Bug introduced in f8d4ad9ab0
4 years ago
pukkandan b982cbdd0e
[limelight] Obey `allow_unplayable_formats` 4 years ago
pukkandan 6a04a74e8b
[FormatSort] Fix for when some formats have quality and others don't 4 years ago
pukkandan 88728713c8
Py2 compatibility for `FileNotFoundError` 4 years ago
CXwudi 6b1d8c1e30
[niconico] Fix title and thumbnail extraction (#273)
Authored by: CXwudi
4 years ago
Ashish 87c3d06271
[Mxplayer] Add MxplayerShowIE (#270)
Authored by: Ashish0804
4 years ago
pukkandan 915f911e36
[utils] Encode URLs in `YoutubeDLCookieProcessor`
Closes #263
4 years ago
pukkandan cf9d6cfb0c
[tubi] Raise "no video formats" error when video url is empty
Related: #266
4 years ago
pukkandan bbed5763f1
[francetvinfo] Improve video id extraction
Closes #261
4 years ago
pukkandan ca0b91b39e
[version] update :ci skip all 4 years ago
pukkandan e58c22a0f6
[documentation] Fix typos 4 years ago
pukkandan 1bdae7d312
Update to ytdl-commit-7e8b3f9
[youtube] Remove unused code
7e8b3f9439
4 years ago
Felix S a471f21da6
[mildom] Remove proxy (#260)
Closes #251
Makes 2cff495997, ab406a1c0e, #252 obsolete

Authored by: fstirlitz
4 years ago
pukkandan 6efb071135
[BilibiliChannel] Fix pagination
Closes #222

ccca21d7f5
Coauthored by: nao20010128nao, pukkandan
4 years ago
pukkandan a439a3a45c
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`
4 years ago
pukkandan 26e2805c3f
Add option `--skip-playlist-after-errors`
Allows to skip the rest of a playlist after a given number of errors are encountered
4 years ago
pukkandan 3b4775e021
[go] Fix `_VALID_URL`
Closes #255
4 years ago
pukkandan ab406a1c0e
[mildom] Warn user of proxy 4 years ago
pukkandan a3faeb7de4
[MetadataFromField] Improve regex and add tests 4 years ago
pukkandan 8c54a3051d
[youtube] Bugfix in `_extract_ytcfg` 4 years ago
pukkandan c32b0aab8a
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
4 years ago
pukkandan 3097d9e512
[mildom:user:vod] Download only necessary amount of pages 4 years ago
pukkandan c1df120eda
[mildom:vod] Remove proxy
* Proxy is needed only for live videos
4 years ago
pukkandan 2cff495997
[mildom] Change proxy
Related: #251
Closes #252
4 years ago
pukkandan d0491a1ebe
[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
4 years ago
nixxo b9d68c199b
[rai] Add support for http formats (#208)
Authored by: nixxo
4 years ago
pukkandan 201c145953
Update to ytdl-commit-9f6c03
[cbsnews] Fix extraction for python <3.6
9f6c03a006
4 years ago
pukkandan 5d34200268
[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
4 years ago
pukkandan b7da73eb19
Add option `--ignore-no-formats-error`
* Ignores the "no video format" and similar errors
* Experimental - Some extractors may still throw these errors
4 years ago
pukkandan 6a39ee13f7
Fix inconsistent use of `report_warning` 4 years ago
pukkandan 33245766ab
[downloader] Fix ffmpeg selection for m3u8_native 4 years ago
coletdjnz 358de58c4d
[youtube:tab] Show unavailable videos in playlists (#242)
Closes #231

Authored by: colethedj
4 years ago
pukkandan a7191c6f57
Fix some linter and typos 4 years ago
lkho baa5873942
[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
4 years ago
pukkandan c6ce815461
[Exec] Ensure backward compatibility when the command contains `%` 4 years ago
coletdjnz 79360d99d3
[youtube] Standardize API calls for tabs, mixes and search (#245)
Authored by: colethedj
4 years ago
pukkandan 46fff7105e
[youtube] Ignore invalid stretch ratio
Closes #244
4 years ago
pukkandan 72e1fe969f
[downloader] Fix downloader selection for m3u8
Bug introduced by: 52a8a1e1b9 and a31953b0e6
4 years ago
Ashish b5be6dd504
[TubiTv] Add TubiTvShowIE (#243)
Authored by: Ashish0804
4 years ago
coletdjnz 8ea3f7b909
[youtube] Improve channel syncid extraction to support ytcfg (#241)
Authored by: colethedj
4 years ago
pukkandan 921b76cab8
Ensure `mergeall` selects best format when multistreams are disabled 4 years ago
pukkandan a31953b0e6
[downloader] Fix external downloader selection for m3u8
Closes #239
4 years ago
pukkandan 54670cf084
[version] update
:ci skip all
4 years ago
pukkandan b31fdeedfd
[documentation] Improvements 4 years ago
pukkandan 8fa43c73d8
Add option `--convert-thumbnails`
Closes: https://github.com/yt-dlp/yt-dlp/issues/99 https://github.com/yt-dlp/yt-dlp/issues/102
4 years ago
pukkandan 56d868dbb7
Allow running some `postprocessors` before actual download 4 years ago
coletdjnz f4f751af40
[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: 1b0a13f33c

Authored by: colethedj
4 years ago
pukkandan 1988fab7e3
[youtube] Fix thumbnail URL
Closes: https://github.com/yt-dlp/yt-dlp/issues/233 https://github.com/ytdl-org/youtube-dl/issues/28023
4 years ago
pukkandan 9de3ea3126
Pass any field to `--exec` using similar syntax to output template
Related: https://github.com/ytdl-org/youtube-dl/issues/28642
4 years ago
pukkandan e01d6aa435
Fix `mergeall` when requested formats are unavailable 4 years ago
pukkandan f7ad71607d
Update to ytdl-commit-4fb25ff
[maoritv] Add new extractor
4fb25ff5a3

Except:
[vimeo] improve extraction 3ae9c0f410
[youtube:tab] Pass innertube context... 1b0a13f33c
4 years ago
pukkandan 68379de561
[downloaders] Fix API access
Bug introduced by: 52a8a1e1b9
4 years ago
pukkandan d9aa233295
Deprecate more options
* `--all-formats` = `-f all`
* `--include-ads` is not implemented
4 years ago
pukkandan f37468c41f
Fix default of `dynamic_mpd` 4 years ago
pukkandan 52a8a1e1b9
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`
4 years ago
pukkandan d818eb7473
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.
4 years ago
pukkandan f8d4ad9ab0
Format selector `mergeall` to download and merge all formats 4 years ago
pukkandan 3ffc7c89b0
[youtube] Fix _extract_alerts
* Sometimes one warning is split between multiple runs
* Also simplified code
4 years ago
Henrik Heimbuerger f1823403b0
[nebula] Add extractor (watchnebula.com) (#122)
Authored by: hheimbuerger
4 years ago
LE 384fb069ec
[NFHSNetwork] Add extractor (#217)
Authored by: llacb47
4 years ago
bopol a4ddaf231e
[nitter] Fix extraction of reply tweets (#218)
And update instance list

Closes #215 

Authored by: B0pol
4 years ago
pukkandan 7e60c06925
[bilibili] Fix uploader
Related: https://github.com/yt-dlp/yt-dlp/issues/222
4 years ago
coletdjnz d92f5d5a90
[youtube] Extract comments' approximate timestamp (#221)
Authored by: colethedj
4 years ago
colethedj 9e62f283ff
[utils] Add `datetime_from_str` to parse relative time (#221)
and `datetime_add_months` to accurately add/subtract months

Authored by: colethedj
4 years ago
bopol c24ce07a84
[nitter] Fix thumbnails (#216)
Authored by: B0pol
4 years ago
Ashish de6758128e
[DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE (#213)
Co-authored-by: Ashish <ashish@pop-os.localdomain>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
4 years ago
pukkandan 73d4343e39
Fix some `m3u8` not obeying `--allow-unplayable-formats` 4 years ago
pukkandan 57d104424f
[version] update
:ci skip all
4 years ago
pukkandan 39ed931e53
Update to ytdl-commit-654b4f4
[youtube] prioritize information from YoutubeIE for playlist entries
654b4f4ff2
4 years ago
Matthew b28f8d244a
[YouTube] Show premium state in `availability` (#209)
Authored by colethedj
4 years ago
pukkandan 73cd218f5a
[documentation] Improve `--parse-metadata` documentation 4 years ago
pukkandan 84601bb72b
Ability to set a specific field in the file's metadata
Eg: `--parse-metadata "description:(?s)(?P<meta_comment>.+)"`
sets the "comment" field using `description`
4 years ago
pukkandan 54df8fc5b2
[ViewSource] Add extractor to handle `view-source:` 4 years ago
The Hatsune Daishi 5d39972ed0
[mildom] Update extractor to comply with current proxy (#212)
Authored by nao20010128nao
4 years ago
pukkandan 0481374e1d
[DiscoveryPlus] Add discoveryplus.in (#203)
Closes #201
4 years ago
pukkandan eff635394a
Ability to select nth best format
Eg: -f `bv*.2`

* Also cleaned up the related format selection code
4 years ago
pukkandan df0c81513e
[generic] Detect Invidious' link element (Closes #195) 4 years ago
pukkandan 3f6a90eb63
[ard:mediathek] Fix video id extraction (Closes #202) 4 years ago
pukkandan b050d210df
Fix some typos and linter 4 years ago
pukkandan f4e4be19f0
[sponskrub] Run before embedding thumbnail
Workaround for https://github.com/faissaloo/SponSkrub/issues/29
Closes https://github.com/yt-dlp/yt-dlp/issues/204
4 years ago
pukkandan cce889b900 Update to ytdl v2021-04-01
14f29f087e

Closes #205
4 years ago
nixxo a6ae61a4c2
[la7] Add podcasts and podcast playlists (#198)
Authored by: nixxo
4 years ago
pukkandan b23b9eefd9
[version] update 4 years ago
pukkandan a2f0b0c672
Release 2021.03.24.1 4 years ago
pukkandan b704fc1a68
Revert commit 8562218
[ard] improve clip id extraction
8562218350

This was merged incorrectly
4 years ago
pukkandan a3affbe6a0
Release 2021.03.24 4 years ago
pukkandan 1418a0437f
Update to ytdl-commit-8562218
[ard] improve clip id extraction
8562218350
4 years ago
pukkandan 143db31d48
Parse metadata from multiple fields
Closes #196
4 years ago