mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-08-15 00:48:28 +00:00
Some code optimizations and add 'duration' key to output dict
This commit is contained in:
parent
72003004bf
commit
6d01405d9f
@ -103,18 +103,19 @@ def _real_extract(self, url):
|
|||||||
raise ExtractorError(str(e), expected=True)
|
raise ExtractorError(str(e), expected=True)
|
||||||
if json_info.get('status') != 200:
|
if json_info.get('status') != 200:
|
||||||
raise ExtractorError('Json download error. Status code: %s' % str(json_info.get('status')), expected=True)
|
raise ExtractorError('Json download error. Status code: %s' % str(json_info.get('status')), expected=True)
|
||||||
m3u8_url = json_info['data']['playlist']['medialist'][0]['sources']['m3u8'][
|
media_info = json_info['data']['playlist']['medialist'][0]
|
||||||
'auto'
|
|
||||||
]
|
|
||||||
formats, subtitles = self._extract_m3u8_formats_and_subtitles(
|
formats, subtitles = self._extract_m3u8_formats_and_subtitles(
|
||||||
m3u8_url, video_id, 'mp4', m3u8_id='hls',
|
media_info['sources']['m3u8']['auto'], video_id, 'mp4', m3u8_id='hls',
|
||||||
)
|
)
|
||||||
|
res = {
|
||||||
return {
|
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': json_info['data']['playlist']['medialist'][0]['title'],
|
'title': media_info['title'],
|
||||||
'thumbnail': json_info['data']['playlist']['medialist'][0]['pictures']['16:9'],
|
'thumbnail': media_info['pictures']['16:9'],
|
||||||
'formats': formats,
|
'formats': formats,
|
||||||
'subtitles': subtitles,
|
'subtitles': subtitles,
|
||||||
'is_live': json_info['data']['playlist']['type'] == 'live',
|
'is_live': json_info['data']['playlist']['type'] == 'live',
|
||||||
}
|
}
|
||||||
|
if not res['is_live'] and 'duration' in media_info:
|
||||||
|
res['duration'] = media_info['duration']
|
||||||
|
|
||||||
|
return res
|
||||||
|
Loading…
Reference in New Issue
Block a user