Commit Graph

119 Commits (2831b4686c2436cd151260539e010ce3577911cc)

Author SHA1 Message Date
PSlava 858a65ecc1
[youtube] Improve signature function detection (#641)
Authored by: PSlava (Slava <slash@i-slash.com>)
3 years ago
pukkandan 379e44ed3c [youtube] Raise appropriate error when API pages can't be downloaded 3 years ago
pukkandan 57015a4a3f
[youtube] extractor-arg to show live dash formats
If replay is enabled, these formats can be used to download the last 4 hours
3 years ago
pukkandan cf87314d4e
[youtube] Extract SAPISID only once 3 years ago
David e7e94f2a5c
[youtube] Add age-gate bypass for unverified accounts (#600)
Adds `_creator` variants for each client

Authored by: zerodytrash, colethedj, pukkandan
3 years ago
coletdjnz eca330cb88
[youtube] Fix default global API key
bug introduced in 000c15a4ca
3 years ago
pukkandan 3619f78d2c
[youtube] Misc cleanup (#577)
Authored by: pukkandan, colethedj
3 years ago
pukkandan 65c2fde23f
[youtube] Add `thirdParty` to agegate clients (#577)
* This allows more videos like `tf2U5Vyj0oU` to become embeddable
    See https://github.com/yt-dlp/yt-dlp/pull/575#issuecomment-888837000
* Also added tests for all types of age-gate

Closes #581
3 years ago
pukkandan 000c15a4ca
[youtube] simplify and de-duplicate client definitions (#577) 3 years ago
colethedj 9275f62cf8
[youtube] Improve age-gate detection (#577)
Authored by: colethedj
3 years ago
coletdjnz 6552469433
[youtube] Force `hl=en` for comments (#594)
Closes #532
3 years ago
MinePlayersPE c0bc527bca
[YouTube] Age-gate bypass implementation (#575)
* Calling the API with `clientScreen=EMBED` allows access to most age-gated videos - discovered by @ccdffddfddfdsfedeee (https://github.com/yt-dlp/yt-dlp/issues/574#issuecomment-887171136)
* Adds clients: (web/android/ios)_(embedded/agegate), mweb_embedded
* Renamed mobile_web to mweb

Closes #574

Authored by pukkandan, MinePlayersPE
3 years ago
pukkandan 2a9c6dcd22
[youtube] Fix format sorting when using alternate clients 3 years ago
coletdjnz 5a1fc62b41
[youtube] Add `mobile_web` client (#557)
Authored by: colethedj
3 years ago
pukkandan b4c055bac2
[youtube] Add `player_client=all` 3 years ago
pukkandan f703a88055
Release 2021.07.24 3 years ago
pukkandan a353beba83
[youtube:tab] Extract video duration early
Based on: https://github.com/ytdl-org/youtube-dl/pull/29487 by glenn-slayden
3 years ago
pukkandan 052e135029
[youtube] Simplify `_get_text` early 3 years ago
pukkandan 3944e7af92
[youtube] Fix subtitles only being extracted from the first client
Closes #547
3 years ago
pukkandan ad34b2951e
Try all clients even if age-gated
Reverts: 892e31ce7c

If some API calls have any issue, saving the state will cause unnecessary errors
3 years ago
pukkandan c8fa48fd94
[youtube] Disable `get_video_info` age-gate workaround
This now seems to be completely dead
Closes: #553
3 years ago
coletdjnz 2fd226f6a7
[youtube] Fix age-gated videos for API clients when cookies are supplied (#545)
Fixes #543
Authored by: colethedj
3 years ago
pukkandan 245524e6a3
Release 2021.07.21
and fix some typos
Closes #538
3 years ago
pukkandan 9c0d7f4951
[youtube] Make `--extractor-retries` work for more errors
Closes #507
3 years ago
coletdjnz c926c9541f
[youtube] Add debug message for SAPISID cookie extraction (#540)
Authored by: colethedj
3 years ago
Matt Broadway 982ee69a74
Add option `--cookies-from-browser` to load cookies from a browser (#488)
* also adds `--no-cookies-from-browser`

Original PR: https://github.com/ytdl-org/youtube-dl/pull/29201
Authored by: mbway
3 years ago
pukkandan 7ea6541124
[youtube] Improve extraction of livestream metadata
Modified from and closes #441
Authored by: pukkandan, krichbanana
3 years ago
pukkandan 352d63fdb5
[utils] Improve `traverse_obj` 3 years ago
pukkandan 11f9be0912
[youtube] Extract data from multiple clients (#536)
* `player_client` accepts multiple clients
* default `player_client` = `android,web`
* music clients can be specifically requested
* Add IOS `player_client`
* Hide live dash since they can't be downloaded

Closes #501

Authored-by: pukkandan, colethedj
3 years ago
coletdjnz a1a7907bc0
[youtube] Fix controversial videos when requested via API (#533)
Closes: https://github.com/yt-dlp/yt-dlp/issues/511#issuecomment-883024350
Authored by: colethedj
3 years ago
pukkandan d61fc64618
[youtube:tab] Fix channels tab 3 years ago
pukkandan da503b7a52
[youtube] Make `parse_time_text` and `_extract_chapters` non-fatal
Related: #532, 7c365c2109
3 years ago
pukkandan 7c365c2109
[youtube] Sanity check `chapters` (and refactor related code)
Closes #520
3 years ago
pukkandan cca80fe611 [youtube] Extract even more thumbnails and reduce testing
* Also fix bug where `_test_url` was being ignored

Ref: https://stackoverflow.com/a/20542029
Related: #340
3 years ago
pukkandan 0ba692acc8
[youtube] Extract more thumbnails
* The thumbnail URLs are hard-coded and their actual existence is tested lazily
* Added option `--no-check-formats` to not test them

Closes #340, Related: #402, #337, https://github.com/ytdl-org/youtube-dl/issues/29049
3 years ago
coletdjnz fe93e2c4cf
[youtube] misc cleanup and bug fixes (#505)
* Update some `_extract_response` calls to keep them consistent
* Cleanup continuation extraction related code using new API format
* Improve `_extract_account_syncid` to support multiple parameters
* Generalize `get_text` and related functions into one
* Update `INNERTUBE_CONTEXT_CLIENT_NAME` with integer values

Authored by: colethedj
3 years ago
coletdjnz 314ee30548
[youtube] Fix session index extraction and headers for non-web player clients (#526)
Fixes #522
3 years ago
coletdjnz 34917076ad
[youtube] Fix authentication when using multiple accounts
`SESSION_INDEX` in `ytcfg` is the index of the active account and should be sent as `X-Goog-AuthUser` header

Closes #518
Authored by @colethedj
3 years ago
coletdjnz 47193e0298
[youtube:tab] Extract playlist availability (#504)
Authored by: colethedj
3 years ago
coletdjnz 49bd8c66d3
[youtube:comments] Improve comment vote count parsing (fixes #506) (#508)
Authored by: colethedj
3 years ago
coletdjnz c888ffb95a
[youtube] Use android client as default and add age-gate bypass for it (#492)
Authored by: colethedj
3 years ago
coletdjnz 9752433221
[youtube:comments] Fix `is_favorited` (#491)
Authored by colethedj
3 years ago
coletdjnz 2d6659b9ea
[youtube:comments] Move comment extraction to new API (#466)
Closes #438, #481, #485 

Authored by: colethedj
3 years ago
pukkandan 60bdb7bd9e
[youtube] Fix sorting of 3gp format 3 years ago
pukkandan 4bb6b02f93
Improve `extractor_args` parsing 3 years ago
krichbanana f6745c4980
[Youtube] Choose correct Live chat API for upcoming streams (#460)
Authored by: krichbanana
3 years ago
coletdjnz 109dd3b237
[youtube] Use new API for additional video extraction requests (#328)
Co-authored-by: colethedj, pukkandan
Closes https://github.com/yt-dlp/yt-dlp/issues/427
Workarounds for https://github.com/ytdl-org/youtube-dl/issues/29326, https://github.com/yt-dlp/yt-dlp/issues/319, https://github.com/ytdl-org/youtube-dl/issues/29086
3 years ago
coletdjnz 45261e063b
[youtube:comments] Fix error handling and add `itct` to params (#446)
Should close #439 (untested)

Authored by: colethedj
3 years ago
pukkandan 49c258e18d
[youtube] Fix subtitle names for age-gated videos
Related: https://github.com/iv-org/invidious/pull/2205#issuecomment-868680486
3 years ago
pukkandan 5d3a0e794b
Add `--extractor-args` to pass extractor-specific arguments 3 years ago