mirror of
https://github.com/ytdl-org/youtube-dl
synced 2025-07-27 05:44:13 +09:00
Youtube: Create a 'timestamp' field when we can
In case of a video originated from a live broadcast stream, take the broadcast start time and set it as the 'timestamp' field of the video. 'upload_date' will be auto-generated based on the value of 'timestamp'. In case this is a video not originated from a live broadcast simply set 'upload_date' as it used to be. Signed-off-by: Jon Doron <arilou@gmail.com>
This commit is contained in:
parent
8055132746
commit
1d7b3aa258
@ -30,6 +30,7 @@ from ..utils import (
|
||||
mimetype2ext,
|
||||
parse_codecs,
|
||||
parse_duration,
|
||||
parse_iso8601,
|
||||
qualities,
|
||||
remove_start,
|
||||
smuggle_url,
|
||||
@ -1780,10 +1781,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||
or parse_duration(search_meta('duration'))
|
||||
is_live = video_details.get('isLive')
|
||||
owner_profile_url = microformat.get('ownerProfileUrl')
|
||||
live_details = microformat.get('liveBroadcastDetails')
|
||||
broadcast_start_timestamp = None
|
||||
if live_details:
|
||||
broadcast_start_timestamp = live_details.get('startTimestamp')
|
||||
|
||||
info = {
|
||||
'id': video_id,
|
||||
@ -1813,9 +1810,20 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||
'categories': [category] if category else None,
|
||||
'tags': keywords,
|
||||
'is_live': is_live,
|
||||
'broadcast_start_timestamp': broadcast_start_timestamp,
|
||||
}
|
||||
|
||||
live_details = microformat.get('liveBroadcastDetails')
|
||||
broadcast_start_timestamp = None
|
||||
if live_details:
|
||||
broadcast_start_timestamp = live_details.get('startTimestamp')
|
||||
|
||||
if broadcast_start_timestamp:
|
||||
info['timestamp'] = parse_iso8601(broadcast_start_timestamp)
|
||||
else:
|
||||
info['upload_date'] = unified_strdate(
|
||||
microformat.get('uploadDate')
|
||||
or search_meta('uploadDate'))
|
||||
|
||||
pctr = try_get(
|
||||
player_response,
|
||||
lambda x: x['captions']['playerCaptionsTracklistRenderer'], dict)
|
||||
|
Loading…
x
Reference in New Issue
Block a user