|
|
@ -515,7 +515,7 @@ class BrightcoveNewIE(InfoExtractor):
|
|
|
|
raise ExtractorError(json_data[0]['message'], expected=True)
|
|
|
|
raise ExtractorError(json_data[0]['message'], expected=True)
|
|
|
|
raise
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
|
|
title = json_data['name']
|
|
|
|
title = json_data['name'].strip()
|
|
|
|
|
|
|
|
|
|
|
|
formats = []
|
|
|
|
formats = []
|
|
|
|
for source in json_data.get('sources', []):
|
|
|
|
for source in json_data.get('sources', []):
|
|
|
@ -579,20 +579,22 @@ class BrightcoveNewIE(InfoExtractor):
|
|
|
|
formats.append(f)
|
|
|
|
formats.append(f)
|
|
|
|
self._sort_formats(formats)
|
|
|
|
self._sort_formats(formats)
|
|
|
|
|
|
|
|
|
|
|
|
description = json_data.get('description')
|
|
|
|
subtitles = {}
|
|
|
|
thumbnail = json_data.get('thumbnail')
|
|
|
|
for text_track in json_data.get('text_tracks', []):
|
|
|
|
timestamp = parse_iso8601(json_data.get('published_at'))
|
|
|
|
if text_track.get('src'):
|
|
|
|
duration = float_or_none(json_data.get('duration'), 1000)
|
|
|
|
subtitles.setdefault(text_track.get('srclang'), []).append({
|
|
|
|
tags = json_data.get('tags', [])
|
|
|
|
'url': text_track['src'],
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
'id': video_id,
|
|
|
|
'id': video_id,
|
|
|
|
'title': title,
|
|
|
|
'title': title,
|
|
|
|
'description': description,
|
|
|
|
'description': json_data.get('description'),
|
|
|
|
'thumbnail': thumbnail,
|
|
|
|
'thumbnail': json_data.get('thumbnail') or json_data.get('poster'),
|
|
|
|
'duration': duration,
|
|
|
|
'duration': float_or_none(json_data.get('duration'), 1000),
|
|
|
|
'timestamp': timestamp,
|
|
|
|
'timestamp': parse_iso8601(json_data.get('published_at')),
|
|
|
|
'uploader_id': account_id,
|
|
|
|
'uploader_id': account_id,
|
|
|
|
'formats': formats,
|
|
|
|
'formats': formats,
|
|
|
|
'tags': tags,
|
|
|
|
'subtitles': subtitles,
|
|
|
|
|
|
|
|
'tags': json_data.get('tags', []),
|
|
|
|
}
|
|
|
|
}
|
|
|
|