1
0
mirror of https://github.com/ytdl-org/youtube-dl synced 2025-12-07 12:03:54 +00:00

12836 Commits

Author SHA1 Message Date
dirkf
956b8c5855 [YouTube] Bug-fix for c1f5c3274a 2025-11-26 03:02:36 +00:00
dirkf
d5f561166b [core] Re-work format_note display in format list with abbreviated codec name 2025-11-26 03:02:36 +00:00
dirkf
d0283f5385 [YouTube] Revert forcing player JS by default
* still leaving the parameters in place

thx bashonly for confirming this suggestion
2025-11-21 01:52:11 +00:00
dirkf
aeb1254fcf [YouTube] Fix playlist thumbnail extraction
Thx seproDev, yt-dlp/yt-dlp#11615
2025-11-21 01:52:11 +00:00
dirkf
25890f2ad1 [YouTube] Improve detection of geo-restriction
Thx yt-dlp
2025-11-21 01:52:11 +00:00
dirkf
d65882a022 [YouTube] Improve mark_watched()
Thx: Brett824, yt-dlp/yt-dlp#4146
2025-11-21 01:52:11 +00:00
dirkf
39378f7b5c [YouTube] Fix incorrect chapter extraction
* align `_get_text()` with yt-dlp (thx, passim) at last
2025-11-21 01:52:11 +00:00
dirkf
6f5d4c3289 [YouTube] Improve targeting of pre-roll wait
Experimental for now.
Thx: yt-dlp/yt-dlp#14646
2025-11-21 01:52:11 +00:00
dirkf
5d445f8c5f [YouTube] Re-work client selection
* use `android_sdkless` by default
* use `web_safari` (HLS only) if logged in
* skip any non-HLS format with n-challenge
2025-11-21 01:52:11 +00:00
dirkf
a1e2c7d90b [YouTube] Add further InnerTube clients
FWIW: android-sdkless, tv_downgraded, web_creator
Thx yt-dlp passim
2025-11-21 01:52:11 +00:00
dirkf
c55ace3c50 [YouTube] Use insertion-order-preserving dict for InnerTube client data 2025-11-21 01:52:11 +00:00
dirkf
a96a778750 [core] Fix housekeeping for available_at 2025-11-21 01:52:11 +00:00
dirkf
efb4011211 [YouTube] Introduce _extract_and_report_alerts() per yt-dlp
Fixes #33196.

Also removing previous `_extract_alerts()` method.
2025-10-18 11:02:28 +01:00
dirkf
c1f5c3274a [YouTube] Improve some traversals
Pending full alignment with yt-dlp ...
2025-10-18 11:02:28 +01:00
dirkf
e21ff28f6f [YouTube] Misc clean-ups from linter, etc 2025-10-18 11:02:28 +01:00
dirkf
9223fcc48a [YouTube] Support LOCKUP_CONTENT_TYPE_VIDEO in subscriptions feed extraction
From yt-dlp/yt-dlp#13665), thx bashonly
2025-09-29 02:15:05 +01:00
dirkf
4222c6d78b [YouTube] Extract fallback title and description from initial data
Based on yt-dlp/yt-dlp#14078, thx bashonly
2025-09-29 02:15:05 +01:00
dirkf
2735d1bf1d [YouTube] Extract srt subtitles
From yt-dlp/yt-dlp#13411, thx gamer191
2025-09-29 02:15:05 +01:00
dirkf
f2a774cb9d [YouTube] Fix subtitles extraction
From yt-dlp/yt-dlp#13659, thx bashonly
2025-09-29 02:15:05 +01:00
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
2025-09-29 02:15:05 +01:00
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
2025-09-29 02:15:05 +01:00
dirkf
aac0148b89 [YouTube] Force WEB user agent for video page download
Fixes #33142, until default UAs work.
2025-09-29 02:15:05 +01:00
dirkf
7f7b3881aa [YouTube] Handle Web Safari formats
From yt-dlp/yt-dlp#14168, thx bashonly.
2025-09-29 02:15:05 +01:00
dirkf
0c41b03114 [YouTube] Update player client details 2025-09-29 02:15:05 +01:00
dirkf
7c6630bfdd [YouTube] Miscellaneous clean-ups 2025-09-29 02:15:05 +01:00
dirkf
a084c80f7b [YouTube] Fix 680069a, excess min_ver
Resolves #33125.
2025-05-04 12:51:54 +01:00
dirkf
680069a149 [YouTube] Improve n-sig function extraction for player aa3fc80b
Resolves #33123
2025-05-03 00:09:21 +01:00
dirkf
4a31290ae1 [YouTube] Delete cached problem nsig cache data on descrambling error
* inspired by yt-dlp/yt-dlp#12750
2025-05-03 00:09:21 +01:00
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
2025-05-03 00:09:21 +01:00
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
2025-04-08 01:59:00 +01:00
dirkf
67dbfa65f2 [InfoExtractor] Fix merging subtitles to empty target 2025-04-08 01:59:00 +01:00
dirkf
6eb6d6dff5 [InfoExtractor] Use local variants for remaining parent method calls
* ... where defined
2025-04-08 01:59:00 +01:00
dirkf
6c40d9f847 [YouTube] Remove remaining hard-coded API keys
* no longer required for these cases
2025-04-08 01:59:00 +01:00
dirkf
1b08d3281d [YouTube] Fix playlist continuation extraction
* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777
2025-04-08 01:59:00 +01:00
dirkf
32b8d31780 [YouTube] Support shorts playlist
* only 1..100: yt-dlp/yt-dlp#11130
2025-04-08 01:59:00 +01:00
dirkf
9a6ddece4d [core] Refactor message routines to align better with yt-dlp
* in particular, support `only_once` in the same methods
2025-04-08 01:59:00 +01:00
dirkf
4e714f9df1 [Misc] Correct [_]IE_DESC/NAME in a few IEs
* thx seproDev, yt-dlp/yt-dlp/pull/12694/commits/ae69e3c
* also add documenting comment in `InfoExtractor`
2025-03-26 12:47:19 +00:00
dirkf
c1ea7f5a24 [ITV] Mark ITVX not working
* update old shim
* correct [_]IE_DESC
2025-03-26 12:17:49 +00:00
dirkf
2b4fbfce25 [YouTube] Support player 4fcd6e4a
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
2025-03-26 02:27:25 +00:00
dirkf
c55dbf4838 [YouTube] Update signature extraction for players 643afba4, 363db69b 2025-03-25 22:35:06 +00:00
dirkf
087d865230 [YouTube] Support new player URL patterns 2025-03-25 22:35:06 +00:00
dirkf
a464c159e6 [YouTube] Make _extract_player_info() use _search_regex() 2025-03-25 22:35:05 +00:00
dirkf
7dca08eff0 [YouTube] Also get original of translated automatic captions 2025-03-25 22:35:05 +00:00
dirkf
2239ee7965 [YouTube] Get subtitles/automatic captions from both web and API responses 2025-03-25 22:35:05 +00:00
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>
2025-03-21 16:26:25 +00:00
dirkf
37c2440d6a [YouTube] Update player client data
thx seproDev (yt-dlp/yt-dlp#12603)

Co-authored-by: sepro <sepro@sepr0.com>
2025-03-21 16:13:24 +00:00
dirkf
32f89de92b [YouTube] Update TVHTML5 client parameters
* resolves #33078
2025-03-11 02:00:24 +00:00
dirkf
283dca56fe [YouTube] Initially support tce-style player JS
* resolves #33079
2025-03-11 02:00:24 +00:00
dirkf
422b1b31cf [YouTube] Temporarily redirect from tce-style player JS 2025-03-11 02:00:24 +00:00
dirkf
673277e510
[YouTube] Fix 91b1569 2025-02-28 01:02:20 +00:00