def getCaptions(url, progress_cb, so_far, task_weight):
ydl = youtube_dl.YoutubeDL({'writesubtitles': True, 'allsubtitles': True, 'writeautomaticsub': True})
with ydl:
res = ydl.extract_info(url, download=False)
if res['requested_subtitles'] and res['requested_subtitles']['en']:
print ('Grabbing vtt file from ' + res['requested_subtitles']['en']['url'])
response = requests.get(res['requested_subtitles']['en']['url'], stream=True)
b = BytesIO()
for block in response.iter_content(1024):
b.write(block)
b.seek(0)
arr = WebVTTReader().read(b.read().decode('ascii'))
progress_cb(so_far + task_weight, so_far + task_weight)
return arr.get_captions('en-US')
else:
return []
print ('Youtube Video does not have any english captions')
return None
评论列表
文章目录