Commit Graph

943 Commits (1e109aaee13a30e2a23f982410ffb3e4f73913df)

Author SHA1 Message Date
dirkf efb4011211 [YouTube] Introduce `_extract_and_report_alerts()` per yt-dlp
Fixes #33196.

Also removing previous `_extract_alerts()` method.
2 months ago
dirkf c1f5c3274a [YouTube] Improve some traversals
Pending full alignment with yt-dlp ...
2 months ago
dirkf e21ff28f6f [YouTube] Misc clean-ups from linter, etc 2 months ago
dirkf 9223fcc48a [YouTube] Support `LOCKUP_CONTENT_TYPE_VIDEO` in subscriptions feed extraction
From yt-dlp/yt-dlp#13665), thx bashonly
2 months ago
dirkf 4222c6d78b [YouTube] Extract fallback title and description from initial data
Based on yt-dlp/yt-dlp#14078, thx bashonly
2 months ago
dirkf 2735d1bf1d [YouTube] Extract srt subtitles
From yt-dlp/yt-dlp#13411, thx gamer191
2 months ago
dirkf f2a774cb9d [YouTube] Fix subtitles extraction
From yt-dlp/yt-dlp#13659, thx bashonly
2 months ago
dirkf 92680b127f [YouTube] Handle required preroll waiting period
* Based on yt-dlp/yt-dlp#14081, thx bashonly
* Uses internal `youtube_preroll_sleep` param, default 6s
2 months ago
dirkf 0739f58f90 [YouTube] Implement player JS override for player `0004de42`
* based on yt-dlp/yt-dlp#14398, thx seproDev
* adds --youtube-player-js-variant option
* adds --youtube-player-js-version option
* sets defaults to main variant of player `0004de42`
* fixes #33187, for now
2 months ago
dirkf aac0148b89 [YouTube] Force `WEB` user agent for video page download
Fixes #33142, until default UAs work.
2 months ago
dirkf 7f7b3881aa [YouTube] Handle Web Safari formats
From yt-dlp/yt-dlp#14168, thx bashonly.
2 months ago
dirkf 0c41b03114 [YouTube] Update player client details 2 months ago
dirkf 7c6630bfdd [YouTube] Miscellaneous clean-ups 2 months ago
dirkf a084c80f7b [YouTube] Fix 680069a, excess `min_ver`
Resolves #33125.
7 months ago
dirkf 680069a149 [YouTube] Improve n-sig function extraction for player `aa3fc80b`
Resolves #33123
7 months ago
dirkf 4a31290ae1 [YouTube] Delete cached problem nsig cache data on descrambling error
* inspired by yt-dlp/yt-dlp#12750
7 months ago
dirkf 3a42f6ad37 [YouTube] Cache signature timestamp from player JS
* if the YT webpage can't be loaded, getting the `sts` requires loading the
player JS: this caches it
* based on yt-dlp/yt-dlp#13047, thx bashonly
7 months ago
dirkf c052a16f72 [JSInterp] Add tests and relevant functionality from yt-dlp
* thx seproDev, bashonly: yt-dlp/yt-dlp#12760, yt-dlp/yt-dlp#12761:
  - Improve nested attribute support
  - Pass global stack when extracting objects
  - interpret_statement: Match attribute before indexing
  - Fix assignment to array elements with nested brackets
  - Add new signature tests
  - Invalidate JS function cache
  - Avoid testdata dupes now that we cache by URL

* rework nsig function name search
* fully fixes #33102
* update cache required versions
* update program version
8 months ago
dirkf 6c40d9f847 [YouTube] Remove remaining hard-coded API keys
* no longer required for these cases
8 months ago
dirkf 1b08d3281d [YouTube] Fix playlist continuation extraction
* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777
8 months ago
dirkf 32b8d31780 [YouTube] Support shorts playlist
* only 1..100: yt-dlp/yt-dlp#11130
8 months ago
dirkf 2b4fbfce25 [YouTube] Support player `4fcd6e4a`
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
8 months ago
dirkf c55dbf4838 [YouTube] Update signature extraction for players `643afba4`, `363db69b` 8 months ago
dirkf 087d865230 [YouTube] Support new player URL patterns 8 months ago
dirkf a464c159e6 [YouTube] Make `_extract_player_info()` use `_search_regex()` 8 months ago
dirkf 7dca08eff0 [YouTube] Also get original of translated automatic captions 8 months ago
dirkf 2239ee7965 [YouTube] Get subtitles/automatic captions from both web and API responses 8 months ago
dirkf da7223d4aa [YouTube] Improve support for tce-style player JS
* improve extraction of global "useful data" Array from player JS
* also handle tv-player and add tests: thx seproDev (yt-dlp/yt-dlp#12684)

Co-Authored-By: sepro <sepro@sepr0.com>
9 months ago
dirkf 37c2440d6a [YouTube] Update player client data
thx seproDev (yt-dlp/yt-dlp#12603)

Co-authored-by: sepro <sepro@sepr0.com>
9 months ago
dirkf 32f89de92b [YouTube] Update TVHTML5 client parameters
* resolves #33078
9 months ago
dirkf 283dca56fe [YouTube] Initially support tce-style player JS
* resolves #33079
9 months ago
dirkf 422b1b31cf [YouTube] Temporarily redirect from tce-style player JS 9 months ago
dirkf 673277e510
[YouTube] Fix 91b1569 9 months ago
dirkf 91b1569f68
[YouTube] Fix channel playlist extraction (#33074)
* [YouTube] Extract playlist items from LOCKUP_VIEW_MODEL_...
* resolves #33073
* thx seproDev (yt-dlp/yt-dlp#11615)

Co-authored-by: sepro <sepro@sepr0.com>
9 months ago
dirkf 5975d7bb96 [YouTube] Use X-Goog-Visitor-Id
* required with tv player client
* resolves #33030
11 months ago
dirkf 63fb0fc415 [YouTube] Retain .videoDetails members from all player responses 11 months ago
dirkf b09442a2f4 [YouTube] Also use ios client when is_live 11 months ago
dirkf 55ad8a24ca [YouTube] Support `... /feeds/videos.xml?playlist_id={pl_id}` 11 months ago
dirkf 21fff05121 [YouTube] Switch to TV API client
* thx yt-dlp/yt-dlp#12059
11 months ago
dirkf 1036478d13 [YouTube] Endure subtitle URLs are complete
* WEB URLs are, MWEB not
* resolves #33017
11 months ago
dirkf 00ad2b8ca1 [YouTube] Refactor subtitle processing
* move to internal function
* use `traverse-obj()`
11 months ago
dirkf ab7c61ca29 [YouTube] Apply code style changes, trailing commas, etc 11 months ago
dirkf 176fc2cb00 [YouTube] Avoid early crash if webpage can't be read
* see issue #33013
11 months ago
dirkf d55d1f423d [YouTube] Always extract using MWEB API client
* temporary fix-up for 403 on download
* MWEB parameters from yt-dlp 2024-12-06
12 months ago
dirkf eeafbbc3e5 [YouTube] Fix signature function extraction for `2f1832d2`
* `_` was omitted from patterns
* thx yt-dlp/yt-dlp#11801

Co-authored-by: bashonly
12 months ago
dirkf cd7c7b5edb [YouTube] Simplify pattern for nsig function name extraction 12 months ago
dirkf eed784e15f [YouTube] Pass nsig value as return hook, fixes player `3bb1f723` 12 months ago
dirkf b4469a0f65 [YouTube] Handle player `3bb1f723`
* fix signature code extraction
* raise if n function returns input value
* add new tests from yt-dlp

Co-authored-by: bashonly
12 months ago
dirkf c5098961b0 [Youtube] Rework n function extraction pattern
Now also succeeds with player b12cc44b
1 year ago
Aiur Adept 71223bff39
[Youtube] Fix nsig extraction for player 20dfca59 (#32891)
* dirkf's patch for nsig extraction
* add generic search per  yt-dlp/yt-dlp/pull/10611 - thx bashonly

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
1 year ago