mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-08-21 19:01:39 +00:00
[ie/youtube] Handle required preroll waiting period (#14081)
Authored by: bashonly
This commit is contained in:
parent
d154dc3dcf
commit
a97f4cb57e
@ -1816,6 +1816,7 @@ The following extractors use this feature:
|
||||
* `po_token`: Proof of Origin (PO) Token(s) to use. Comma seperated list of PO Tokens in the format `CLIENT.CONTEXT+PO_TOKEN`, e.g. `youtube:po_token=web.gvs+XXX,web.player=XXX,web_safari.gvs+YYY`. Context can be any of `gvs` (Google Video Server URLs), `player` (Innertube player request) or `subs` (Subtitles)
|
||||
* `pot_trace`: Enable debug logging for PO Token fetching. Either `true` or `false` (default)
|
||||
* `fetch_pot`: Policy to use for fetching a PO Token from providers. One of `always` (always try fetch a PO Token regardless if the client requires one for the given context), `never` (never fetch a PO Token), or `auto` (default; only fetch a PO Token if the client requires one for the given context)
|
||||
* `preroll_sleep`: Duration (in seconds) to wait inbetween the extraction and download stages in order to ensure the formats are available. The default is `6` seconds
|
||||
|
||||
#### youtubepot-webpo
|
||||
* `bind_to_visitor_id`: Whether to use the Visitor ID instead of Visitor Data for caching WebPO tokens. Either `true` (default) or `false`
|
||||
|
@ -4044,6 +4044,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||
if needs_live_processing:
|
||||
self._prepare_live_from_start_formats(
|
||||
formats, video_id, live_start_time, url, webpage_url, smuggled_data, live_status == 'is_live')
|
||||
elif live_status != 'is_live':
|
||||
# Handle preroll waiting period
|
||||
preroll_sleep = int_or_none(self._configuration_arg('preroll_sleep', [None])[0], default=6)
|
||||
available_at = int(time.time()) + preroll_sleep
|
||||
for fmt in formats:
|
||||
fmt['available_at'] = available_at
|
||||
|
||||
formats.extend(self._extract_storyboard(player_responses, duration))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user