projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
41f5492
)
[brightcove:new] extract subtitles and strip video title
author
remitamine
<remitamine@gmail.com>
Sat, 2 Apr 2016 17:56:01 +0000
(18:56 +0100)
committer
remitamine
<remitamine@gmail.com>
Sat, 2 Apr 2016 17:57:15 +0000
(18:57 +0100)
youtube_dl/extractor/brightcove.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/brightcove.py
b/youtube_dl/extractor/brightcove.py
index a5091238bcefc4e131d357d47cba3051903e0849..6128b676276d144113aef0aa015fd3ffafde771b 100644
(file)
--- a/
youtube_dl/extractor/brightcove.py
+++ b/
youtube_dl/extractor/brightcove.py
@@
-515,7
+515,7
@@
class BrightcoveNewIE(InfoExtractor):
raise ExtractorError(json_data[0]['message'], expected=True)
raise
raise ExtractorError(json_data[0]['message'], expected=True)
raise
- title = json_data['name']
+ title = json_data['name']
.strip()
formats = []
for source in json_data.get('sources', []):
formats = []
for source in json_data.get('sources', []):
@@
-579,20
+579,22
@@
class BrightcoveNewIE(InfoExtractor):
formats.append(f)
self._sort_formats(formats)
formats.append(f)
self._sort_formats(formats)
- description = json_data.get('description')
- thumbnail = json_data.get('thumbnail')
- timestamp = parse_iso8601(json_data.get('published_at'))
- duration = float_or_none(json_data.get('duration'), 1000)
- tags = json_data.get('tags', [])
+ subtitles = {}
+ for text_track in json_data.get('text_tracks', []):
+ if text_track.get('src'):
+ subtitles.setdefault(text_track.get('srclang'), []).append({
+ 'url': text_track['src'],
+ })
return {
'id': video_id,
'title': title,
return {
'id': video_id,
'title': title,
- 'description':
description
,
- 'thumbnail':
thumbnail
,
- 'duration':
duration
,
- 'timestamp':
timestamp
,
+ 'description':
json_data.get('description')
,
+ 'thumbnail':
json_data.get('thumbnail') or json_data.get('poster')
,
+ 'duration':
float_or_none(json_data.get('duration'), 1000)
,
+ 'timestamp':
parse_iso8601(json_data.get('published_at'))
,
'uploader_id': account_id,
'formats': formats,
'uploader_id': account_id,
'formats': formats,
- 'tags': tags,
+ 'subtitles': subtitles,
+ 'tags': json_data.get('tags', []),
}
}