-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
[youtube] API-only mode/fallback (experimental) #682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Some options (only use if authenticated):
Curious as to how the non-web based clients get this data. OAuth? For interest: ytmusicapi requires the user to pass the datasyncid (and session index): https://ytmusicapi.readthedocs.io/en/latest/usage.html#brand-accounts Random note: Edit: I've gone with the third option. It seems like these "hacky" endpoints as what YouTube calls them are as they are called. |
…n index without ytcfg
Another issue: |
Some changes:
Currently, to enable a pure api-only mode for YoutubeIE, we can pass |
This comment has been minimized.
This comment has been minimized.
Slightly unrelated: you can get 429nd for downloading too many subtitles in a short amount of time. But, the 429 appears to only affect subtitle downloads. |
# Conflicts: # yt_dlp/extractor/youtube.py
This comment has been minimized.
This comment has been minimized.
Some extra things to fix: |
Superseded by #1122 |
Please follow the guide below
x
into all the boxes [ ] relevant to your pull request (like that [x])Before submitting a pull request make sure you have:
In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:
What is the purpose of your pull request?
Description of your pull request and other information
WIP & Experimental. This may not be something we merge all of, if any.
Adding a mode for the YouTube extractors to only use the Innertube API without any webpage downloading.
This might be useful for avoiding rate limiting - the webpage requests tend to be more heavily rate-limited.
API-only mode will also provide a fallback if the webpage fails to download. This is especially useful for if the webpage gets rate-limited, but the API requests are not (something I have personally seen).
TODO & Known Issues:
YouTubeIE
implementation: deal with not having player url from initial webpageYoutubeIE
andYoutubeTabIE
. Do we want one unified toggle?_extract_response
will throw anExtractorError
withexpected=False