coletdjnz
b6de707d13
[youtube] Improvements to JS player extraction (See desc) ( #860 )
...
* fallback player url extraction when it fails to be extracted from the webpage
* don't download js player unnecessarily for clients that don't require it
* try to extract js player url from any additional client configs
* ability to skip the js player usage/download using `player_skip=js`
* ability to skip the initial webpage download using `player_skip=webpage`
known issue:
* authentication for multi-channel accounts and multi-account cookies may not work correctly if the webpage or client configs are skipped
* formats from the web client requiring signature decryption will be skipped if player js extraction is skipped
Authored by: coletdjnz
3 years ago
pukkandan
526d74ec5a
[cleanup] Misc
3 years ago
coletdjnz
c0ac49bcca
[youtube] Retry on 'Unknown Error' ( #854 )
...
and do not repeat unimportant alerts
Closes #839
Authored by: coletdjnz
3 years ago
pukkandan
a7429aa9fa
[youtube] Fix subtitle names
3 years ago
pukkandan
c311988d19
[youtube] Improve 26e8e04454
...
The streams of the same itag may have slightly different size/bitrate
3 years ago
pukkandan
26e8e04454
[youtube] Prefer audio stream that YouTube considers default
...
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29864
Related: https://github.com/clsid2/mpc-hc/issues/1268
3 years ago
coletdjnz
0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` ( #765 )
...
Closes #692
Authored by: coletdjnz
3 years ago
pukkandan
88acdbc269
[extractor] Better error message for DRM ( #729 )
...
Closes #636
3 years ago
Tom-Oliver Heidel
9b5fa9ee7c
[youtube] Add av01 itags to known formats list ( #747 )
...
Authored by: blackjack4494
3 years ago
pukkandan
3fb4e21b38
[lazy_extractors] Fix `suitable` and add flake8 test
3 years ago
pukkandan
4dfbf8696b
[utils] Add `parse_qs`
3 years ago
pukkandan
8fc54b1230
[youtube] Add `shorts` to `_VALID_URL`
...
Normally the generic extractor will redirect the URL,
but the cookies consent screen may sometimes appear instead
Closes #752
3 years ago
pukkandan
5ad28e7ffd
[extractor] Common function `_match_valid_url`
3 years ago
coletdjnz
641ad5d813
[youtube] Extract error messages from HTTPError response ( #644 )
...
Authored by: coletdjnz
3 years ago
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