mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-25 03:32:05 +00:00
parent
85fa80d5f9
commit
365343131d
1 changed files with 21 additions and 13 deletions
|
@ -210,18 +210,26 @@ query viewClip {
|
||||||
|
|
||||||
raise ExtractorError('Unable to log in')
|
raise ExtractorError('Unable to log in')
|
||||||
|
|
||||||
def _get_subtitles(self, author, clip_idx, lang, name, duration, video_id):
|
def _get_subtitles(self, author, clip_idx, clip_id, lang, name, duration, video_id):
|
||||||
captions_post = {
|
captions = None
|
||||||
'a': author,
|
if clip_id:
|
||||||
'cn': int(clip_idx),
|
captions = self._download_json(
|
||||||
'lc': lang,
|
'%s/transcript/api/v1/caption/json/%s/%s'
|
||||||
'm': name,
|
% (self._API_BASE, clip_id, lang), video_id,
|
||||||
}
|
'Downloading captions JSON', 'Unable to download captions JSON',
|
||||||
captions = self._download_json(
|
fatal=False)
|
||||||
'%s/player/retrieve-captions' % self._API_BASE, video_id,
|
if not captions:
|
||||||
'Downloading captions JSON', 'Unable to download captions JSON',
|
captions_post = {
|
||||||
fatal=False, data=json.dumps(captions_post).encode('utf-8'),
|
'a': author,
|
||||||
headers={'Content-Type': 'application/json;charset=utf-8'})
|
'cn': int(clip_idx),
|
||||||
|
'lc': lang,
|
||||||
|
'm': name,
|
||||||
|
}
|
||||||
|
captions = self._download_json(
|
||||||
|
'%s/player/retrieve-captions' % self._API_BASE, video_id,
|
||||||
|
'Downloading captions JSON', 'Unable to download captions JSON',
|
||||||
|
fatal=False, data=json.dumps(captions_post).encode('utf-8'),
|
||||||
|
headers={'Content-Type': 'application/json;charset=utf-8'})
|
||||||
if captions:
|
if captions:
|
||||||
return {
|
return {
|
||||||
lang: [{
|
lang: [{
|
||||||
|
@ -413,7 +421,7 @@ query viewClip {
|
||||||
|
|
||||||
# TODO: other languages?
|
# TODO: other languages?
|
||||||
subtitles = self.extract_subtitles(
|
subtitles = self.extract_subtitles(
|
||||||
author, clip_idx, 'en', name, duration, display_id)
|
author, clip_idx, clip.get('clipId'), 'en', name, duration, display_id)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': clip_id,
|
'id': clip_id,
|
||||||
|
|
Loading…
Reference in a new issue