|
@@ -21,6 +21,13 @@ class RTBFIE(InfoExtractor):
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ _QUALITIES = [
|
|
|
+ ('mobile', 'mobile'),
|
|
|
+ ('web', 'SD'),
|
|
|
+ ('url', 'MD'),
|
|
|
+ ('high', 'HD'),
|
|
|
+ ]
|
|
|
+
|
|
|
def _real_extract(self, url):
|
|
|
video_id = self._match_id(url)
|
|
|
|
|
@@ -32,14 +39,21 @@ class RTBFIE(InfoExtractor):
|
|
|
r'data-video="([^"]+)"', webpage, 'data video')),
|
|
|
video_id)
|
|
|
|
|
|
- video_url = data.get('downloadUrl') or data.get('url')
|
|
|
-
|
|
|
if data.get('provider').lower() == 'youtube':
|
|
|
+ video_url = data.get('downloadUrl') or data.get('url')
|
|
|
return self.url_result(video_url, 'Youtube')
|
|
|
+ formats = []
|
|
|
+ for key, format_id in self._QUALITIES:
|
|
|
+ format_url = data['sources'].get(key)
|
|
|
+ if format_url:
|
|
|
+ formats.append({
|
|
|
+ 'format_id': format_id,
|
|
|
+ 'url': format_url,
|
|
|
+ })
|
|
|
|
|
|
return {
|
|
|
'id': video_id,
|
|
|
- 'url': video_url,
|
|
|
+ 'formats': formats,
|
|
|
'title': data['title'],
|
|
|
'description': data.get('description') or data.get('subtitle'),
|
|
|
'thumbnail': data.get('thumbnail'),
|