aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--yt_dlp/extractor/rutv.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/yt_dlp/extractor/rutv.py b/yt_dlp/extractor/rutv.py
index 0b07dc5ad..75da01f7d 100644
--- a/yt_dlp/extractor/rutv.py
+++ b/yt_dlp/extractor/rutv.py
@@ -141,7 +141,7 @@ class RUTVIE(InfoExtractor):
if media['errors']:
raise ExtractorError('%s said: %s' % (self.IE_NAME, media['errors']), expected=True)
- view_count = playlist.get('count_views')
+ view_count = int_or_none(playlist.get('count_views'))
priority_transport = playlist['priority_transport']
thumbnail = media['picture']
@@ -152,6 +152,7 @@ class RUTVIE(InfoExtractor):
duration = int_or_none(media.get('duration'))
formats = []
+ subtitles = {}
for transport, links in media['sources'].items():
for quality, url in links.items():
@@ -171,8 +172,10 @@ class RUTVIE(InfoExtractor):
'vbr': str_to_int(quality),
}
elif transport == 'm3u8':
- formats.extend(self._extract_m3u8_formats(
- url, video_id, 'mp4', quality=preference, m3u8_id='hls'))
+ fmt, subs = self._extract_m3u8_formats_and_subtitles(
+ url, video_id, 'mp4', quality=preference, m3u8_id='hls')
+ formats.extend(fmt)
+ self._merge_subtitles(subs, target=subtitles)
continue
else:
fmt = {
@@ -186,7 +189,7 @@ class RUTVIE(InfoExtractor):
})
formats.append(fmt)
- self._sort_formats(formats)
+ self._sort_formats(formats, ('source', ))
return {
'id': video_id,
@@ -196,5 +199,6 @@ class RUTVIE(InfoExtractor):
'view_count': view_count,
'duration': duration,
'formats': formats,
+ 'subtitles': subtitles,
'is_live': is_live,
}