Commit Graph

361 Commits (392389b7df7b818f794b231f14dc396d4875fbad)

Author SHA1 Message Date
coletdjnz 0ca0f88121
[extractor/heise] Fix extractor (#5029)
Fixes https://github.com/yt-dlp/yt-dlp/issues/1520
Authored by: coletdjnz
2 years ago
coletdjnz 80eb0bd9b9
[extractor/youtube] Add support for Shorts audio pivot feed (#4932)
This feed shows Shorts using the audio of a given video. 

ytshortsap: prefix can be used as a shortcut until YouTube
implements an official view. 

Closes #4911
Authored by: coletdjnz
2 years ago
coletdjnz c26f9b991a
[extractor/youtube] Support changing extraction language (#4470)
Adds `--extractor-args youtube:lang=<supported lang code>` extractor arg to prefer translated fields (e.g. title and description) of that language, if available, for all YouTube extractors. See README or error message for list of supported language codes.

Closes https://github.com/yt-dlp/yt-dlp/issues/387

Authored by: coletdjnz
2 years ago
coletdjnz 3ffb2f5bea
[extractor/youtube] Fix video like count extraction
Support new combined button layout
Authored by: coletdjnz
2 years ago
pukkandan 17ffed1842
[docs] Improvements
* Move detailed installation instructions to https://github.com/yt-dlp/yt-dlp/wiki/Installation
* Link to wiki where applicable
* Fix some mistakes. Closes #4853, Closes #4855, Closes #4852
* Improve some error messages
2 years ago
pukkandan 7c6eb424d3
[extractor/youtube] Detect `lazy-load-for-videos` embeds
Closes #4812
2 years ago
pukkandan 05deb747bb
[jsinterp] Fix escape in regex 2 years ago
pukkandan b505e8517a
[extractor/youtube] Fallback regex for nsig code extraction 2 years ago
coletdjnz 1ff88b7aec
[extractor/youtube] Add `no-youtube-prefer-utc-upload-date` compat option (#4771)
This option reverts 992f9a730b and 17322130a9 to prefer the non-UTC upload date in microformats.

Authored by: coletdjnz, pukkandan
2 years ago
pukkandan da4db748fa
[utils] Add `deprecation_warning`
See https://github.com/yt-dlp/yt-dlp/pull/2173#issuecomment-1097021515
2 years ago
pukkandan d81ba7d491
[jsinterp, extractor/youtube] Minor fixes 2 years ago
pukkandan c4b2df872d
[jsinterp] Fix `_separate`
Ref: https://github.com/yt-dlp/yt-dlp/issues/4635#issuecomment-1231126941
2 years ago
Samantaz Fox 224b5a35f7
[extractor/youtube] Update iOS Innertube clients (#4792)
Authored by: SamantazFox
2 years ago
coletdjnz 50ac0e5416
[extractor/youtube] Use device-specific user agent (#4770)
Thwart latest fingerprinting attempt (see https://github.com/iv-org/invidious/issues/3230#issuecomment-1226887639)

Authored by: coletdjnz
2 years ago
pukkandan 5e01315aa1
[cache, extractor/youtube] Invalidate old cache 2 years ago
pukkandan 992dc6b486
[jsinterp] Implement timeout
Workaround for #4716
2 years ago
pukkandan b25cac650f
[extractor/youtube] Fix bug in format sorting 2 years ago
pukkandan 90a1df305b
[test] Fix test_youtube_signature 2 years ago
pukkandan a831c2ea90
[cleanup] Misc 2 years ago
pukkandan 25836db6be
[extractor/youtube] Add fallback to phantomjs
Related #4635
2 years ago
pukkandan 580ce00782
[youtube] Improve signature caching
and refactor related functions
2 years ago
pukkandan f6ca640b12
[jsinterp] Fix for youtube player 1f7d5369
Closes #4635 again
2 years ago
pukkandan 3ce2933693
[youtube] Fix error reporting of "Incomplete data"
Related: #4669
2 years ago
pukkandan 5c6d2ef9d1
[youtube] Improve format sorting for IOS formats
When no itag/resolution is available for reference, use the closest resolution
2 years ago
Lesmiscore 62b58c0936
[docs] Consistent use of `e.g.` (#4643)
Authored by: Lesmiscore
2 years ago
pukkandan 8f53dc44a0
[jsinterp] Handle new youtube signature functions
Closes #4635
2 years ago
pukkandan 7e798d725e
[extractor] Fix format sorting of `channels` 2 years ago
coletdjnz c7dcf0b31e
[extractor/youtube] Add `androidSdkVersion` parameter to Android Innertube clients
Required to prevent YouTube returning a bad player response in some cases.

See: https://github.com/yt-dlp/yt-dlp/pull/4593, https://github.com/TeamNewPipe/NewPipe/issues/8713, https://github.com/iv-org/invidious/issues/3230, https://github.com/Tyrrrz/YoutubeExplode/issues/647

Authored by: coletdjnz
2 years ago
pukkandan a416623436
[extractor/youtube] Extract more format info 2 years ago
coletdjnz a3e9642116
[extractor/youtube] Prevent redirect to unwanted videos (#4593)
Example: https://www.youtube.com/watch?v=aQvGIIdgFDM

Authored by: coletdjnz
2 years ago
coletdjnz a0c830f488
[extractor/youtube] Bump Innertube client versions
YouTube may be requiring new versions soon. See https://github.com/iv-org/invidious/issues/3230, https://github.com/TeamNewPipe/NewPipe/issues/8713

Authored by: coletdjnz
2 years ago
pukkandan be5c1ae862
Standardize retry mechanism (#1649)
* [utils] Create `RetryManager`
* Migrate all retries to use the manager
* [extractor] Add wrapper methods for convenience
* Standardize console messages for retries
* Add `--retry-sleep` for extractors
2 years ago
pukkandan bfd973ece3 [extractors] Use new framework for existing embeds (#4307)
`Brightcove` is difficult to migrate because it's subclasses may depend
on the signature of the current functions. So it is left as-is for now

Note: Tests have not been migrated
2 years ago
pukkandan f2e8dbcc00 [extractor, test] Basic framework for embed tests (#4307)
and split download tests so they can be more easily run in CI

Authored by: coletdjnz
2 years ago
lazypete365 e325a21a1f
[extractor/youtube] Add `live_status=post_live` (#4495)
Related: https://github.com/yt-dlp/yt-dlp/issues/1564
Authored by: lazypete365
2 years ago
pukkandan 31b532a1f2
[cleanup] Misc 2 years ago
pukkandan c646d76f67
[webvtt, extractor/youtube] Extract auto-subs from livestream VODs
Closes #4130

Authored by: pukkandan, fstirlitz
2 years ago
pukkandan 07b47084ba
[extractor/youtube] Parse translated subtitles only when requested
Closes #4274
2 years ago
pukkandan 693f060040
[youtube,twitch] Allow waiting for channels to become live
Closes #2597
2 years ago
ftk 45e8a04e48
[extractor/youtube] More metadata for storyboards (#4334)
Authored by: ftk
2 years ago
pukkandan a3fb1ca5ab
[extractor/youtube] Fix duration check for post-live manifestless mode 2 years ago
Andrew 12a1b2254d
[extractor/youtube, cleanup] Fix tests (#4293)
Authored by: sheerluck
2 years ago
pukkandan a3976e0760
Improve chapter sanitization 2 years ago
pukkandan ae61d108dd
[cleanup] Misc cleanup 2 years ago
crazymoose77756 962ffcf89c
[cleanup] Fix some typos (#4194)
Authored by: crazymoose77756
2 years ago
pukkandan 14f25df2b6
[compat] Remove deprecated functions from core code 2 years ago
pukkandan ac66811112
[compat] Remove more functions
Removing any more will require changes to a large number of extractors
2 years ago
Brett824 06cc8f103b
[extractor/youtube] Mark videos as fully watched (#4146)
* Also fixes videos appearing as shorts in watch history

Closes #2555
Authored by: Brett824
2 years ago
pukkandan 9809740ba5
[extractor, cleanup] Reduce direct use of `_downloader` 2 years ago
pukkandan 471d0367c7
[youtube:clips] Support downloading clips
Closes #2543
2 years ago
pukkandan a70635b8a1
[cleanup, utils] Don't use kwargs for `format_field` 2 years ago
pukkandan 0df111a371
[youtube] Extract `comment_count` from webpage
Closes #4091
2 years ago
coletdjnz 4ce05f5759
[extractor/youtube] Fix live chat for videos with content warning
Fixes #4051
Authored by: coletdjnz
2 years ago
pukkandan 56ba69e4c9
[cleanup] Misc fixes
Closes #4027
2 years ago
coletdev 2ae778b8fc
[extractor/youtube] Add `innertube_host` and `innertube_key` extractor args (#3916)
Allows user to override Innertube API host or key for all requests
Authored by: coletdjnz
2 years ago
MMM 36195c4461
[dash] Show fragment count with `--live-from-start` (#3493)
Authored by: flashdagger
2 years ago
coletdjnz 65141660ab
[extractor/youtube] Fix bug in b7c47b7438
Closes #3997

Authored by: coletdjnz
2 years ago
pukkandan b7c47b7438
[extractor] Add `_search_json`
All fetching of JSON objects should eventually be done with this function
but only `youtube` is being refactored for now
2 years ago
pukkandan 1890fc6389
[cleanup] Misc fixes
Cherry-picks from: #3498, #3947
Related: #3949, https://github.com/yt-dlp/yt-dlp/issues/1839#issuecomment-1140313836
Authored by: pukkandan, flashdagger, gamer191
2 years ago
coletdev c7a7baaa13
[extractor/youtube] Fix `:ytnotifications` extractor (#3775)
Still some issues, see https://github.com/yt-dlp/yt-dlp/pull/3775

Authored by: coletdjnz
2 years ago
pukkandan 6b0b0a289a
[extractor/youtube:tab] Detect `videoRenderer` in `_post_thread_continuation_entries` 2 years ago
coletdjnz ee27297f82
[extractor/youtube] Fix initial player response extraction
Authored by: pukkandan, coletdjnz
2 years ago
pukkandan 0fe51254cb
[extractor/youtube] Bring back `_extract_chapters_from_description`
Closes #3886
2 years ago
pukkandan 52023f1291
[extractor/youtube] Make signature extraction non-fatal
and reduce verbosity of it's warning

Closes #3882
2 years ago
pukkandan 829bbd1d05
[youtube] Add warning for PostLiveDvr
Closes #3746, Related #1564
2 years ago
pukkandan 2762dbb17e
[compat] Add `functools.cached_property` 2 years ago
pukkandan 2414649192
[cleanup] Misc cleanup 2 years ago
Jordan Weatherby d1c4f6d4da
[youtube] Added piped instance urls (#3714)
Closes #3661
Authored by: JordanWeatherby
2 years ago
pukkandan 82d020804d
[extractor] Use classmethod/property where possible
and refactor lazy extractors accordingly.

This reduces the need to create extractor instances
2 years ago
pukkandan 0f06bcd759
[cleanup] Minor fixes (See desc)
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes #3684
* Fix bug in 385ffb467b
* Fix bug in 43d7f5a5d0
* [cleanup] Remove unnecessary `utf-8` from `str.encode`/`bytes.decode`
* [utils] LazyList: Expose unnecessarily "protected" attributes
and other minor cleanup
2 years ago
pukkandan 91e5e839d3
[youtube] Deprioritize format 22
Reduces chance of encountering #3372
2 years ago
coletdev 6e634cbe42
[youtube] Add YoutubeStoriesIE (#3362)
Get channel stories with `ytstories:<channel UCID>`

Authored-by: coletdjnz
2 years ago
pukkandan bfec31bec8
[youtube] De-prioritize auto-generated thumbnails
Closes #3112
2 years ago
pukkandan 1d485a1a79
[cleanup] Misc fixes
Closes #3565, https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
2 years ago
pukkandan 0a41f331cc
[doc] Minor improvements
Closes #3518, Closes #3560
2 years ago
pukkandan 19a0394044
[cleanup] Misc cleanup and refactor (#2173) 2 years ago
coletdjnz affc4fefea
[youtube] Fix episode metadata extraction 2 years ago
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
2 years ago
pukkandan 86e5f3ed2e
[cleanup] Upgrade syntax
Using https://github.com/asottile/pyupgrade

1. `__future__` imports and `coding: utf-8` were removed
2. Files were rewritten with `pyupgrade --py36-plus --keep-percent-format`
3. f-strings were cherry-picked from `pyupgrade --py36-plus`

Extractors are left untouched (except removing header) to avoid unnecessary merge conflicts
2 years ago
krichbanana ca5300c7ed
[youtube] Add `:ytnotifications` extractor (#3347)
Authored by: krichbanana
2 years ago
pukkandan a25bca9f89
[youtube, cleanup] Minor refactoring
Authored by: coletdjnz, pukkandan
2 years ago
coletdev 61d3665d9d
[youtube] Fix uploader for collaborative playlists (#3332)
Authored by: coletdjnz
2 years ago
pukkandan a44ca5a470
[cleanup] Misc fixes
Closes https://github.com/yt-dlp/yt-dlp/pull/3213, Closes https://github.com/yt-dlp/yt-dlp/pull/3117

Related: https://github.com/yt-dlp/yt-dlp/issues/3146#issuecomment-1077323114, https://github.com/yt-dlp/yt-dlp/pull/3277#discussion_r841019671, a825ffbffa (commitcomment-68538986), https://github.com/yt-dlp/yt-dlp/issues/2360, 5fa3c9a88f (r70393519), 5fa3c9a88f (r70393254)
2 years ago
pukkandan a17526e427
[youtube:tab] Minor improvements (See desc)
* Support shorts on channel homepage
* Extract thumbnail of OLAK playlists
2 years ago
coletdev ad210f4fd4
[youtube:search] Support hashtag entries (#3265)
Authored-by: coletdjnz
2 years ago
David e7870111e8
[YouTube] Add new age-gate bypass (#3233)
Closes #3182
Authored by: zerodytrash, pukkandan
2 years ago
coletdev 1c1b2f96ae
[youtube:tab] Fix duration extraction for shorts (#3171)
Related: https://github.com/TeamNewPipe/NewPipe/issues/8034
Authored-by: coletdjnz
2 years ago
pukkandan 1235d333ab
[youtube] Fix auto-translated automatic captions
d49669acad only covered ASR

Closes #2956
2 years ago
pukkandan 18e4940825
[youtube] Add extractor-arg to skip auto-translated subs 2 years ago
shirt 727029c508
[youtube] Detect DRM better
Authored by: shirt-dev
2 years ago
coletdev fd2ad7cb24
[youtube:tab] Return shorts url if video is a short (#3168)
Allows filtering out shorts from feeds with `--match-filter`
Closes #3165
Authored-by: coletdjnz
2 years ago
pukkandan ae72962643
[youtube] Try embedded client variants before agegate
agegate variants appears to be broken, but don't remove them for the time-being
2 years ago
pukkandan 52efa4b312
[extractor] Add `_perform_login` function (#2943)
* Adds new functions `_initialize_pre_login` and `_perform_login` as part of the extractor API
* Adds `ie.supports_login` to the public API
2 years ago
pukkandan e4b98809cf
[youtube] Fix pagination of `membership` tab 2 years ago
pukkandan a1b2d84360
[youtube] Avoid false positives when detecting damaged formats
Closes #3083
2 years ago
coletdjnz 5dbc77df26
[youtube:api] Prefer minified JSON response
Authored-by: coletdjnz
2 years ago
coletdev b3edc8068e
[downloader/mhtml] Fix fragments with absolute urls (#3044)
Authored-by: coletdjnz
2 years ago
coletdev 17322130a9
[youtube] Improve video upload date handling (#3029)
* Don't prefer UTC upload date for past live streams/premieres
* Improve regex (fixes a regression)

Authored-by: coletdjnz
2 years ago
pukkandan ff91cf7483
[utils] Add `get_first` 2 years ago
pukkandan a405b38f20
[youtube] Further de-prioritize 3gp format 2 years ago