提取来自YouTube视频的自动字幕(Extract automatic captions from

2019-07-17 12:58发布

我有来自YouTube的视频中提取自动字幕的问题。

我尝试使用http://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=en方法,但一个只适用于那些影片,其中有一个名为轨道。 例如,这一个不具有任何命名轨道(只自动字幕),并且不加载:rrkrvAUbU9Y

有几个Web的应用程序在那里,可以做到这一点(如http://www.serpsite.com/youtube-subtitles-download-tool/和http://mo.dbxdb.com/ ),但我需要一个脚本,因为我想用我的研究。

任何人有任何的想法是什么让这个正确的方法是什么? YouTube的API有一些关于字幕,但只有注册用户,而以上所有的视频工作的应用程序,我怀疑他们只是捕捉来自网页的HTML代码(虽然这也是有可能的)。 必须有一种方式......请帮助!

Answer 1:

首先,您需要调用另一个API: http://video.google.com/timedtext?type=list&v=3wszM2SA12E

这会给你提供的曲目列表。 在你的情况下,只有一个轨道,可以得到: id="0" name="Automatic" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"

在这个特定的视频,我可以解决由曲目name=Automatic只是因为某些原因。 但是,对于其他视频它能正常工作:

http://video.google.com/timedtext?type=track&v=zenMEj0cAC4& ID = 0&郎= EN



Answer 2:

关于去从网页中获取数据的一个好方法是使用的file_get_contents但是这只能如果视频有一个“CC”或标题按钮,但是当它,你可以从不幸的是作为记录了一个XML文件中的所有文本元素对的“的Youtube添加字幕”服务说,它需要由YouTube用户得到字幕所以很遗憾你不能从视频字幕没有“CC”已允许的字幕,但是如果你还是想你可以在XML文件中使用的file_get_contents然后找到所有在“文本”标签,然后将这些成字幕。



Answer 3:

在这里我花了一些时间后建议:

  • JS库: https://github.com/syzer/youtube-captions-scraper =>支持自动生成的标题。

  • 2层快捷的方法,下面不支持自动生成字幕

    • 获取字幕的列表: http://video.google.com/timedtext?type=list&v=lT3vGaOLWqE
    • 获取与轨道ID字幕: http://video.google.com/timedtext?type=track&v=lT3vGaOLWqE&id=0&lang=en
  • 快速下载: http://downsub.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dag_EJRhMfOM



Answer 4:

我正在看downsub.com,发现下面的API调用,这似乎自动生成的字幕工作:

https://www.youtube.com/api/timedtext?expire=1491547251&v=YD1tc8lRsdQ&sparams=asr_langs%2Ccaps%2Cv%2Cexpire&hl=en_US&signature=6241BAB9F7E9DB164AFE496B40B4DA4B58B463FD.D7FEC5B2CC81721AF9928215343509E280FEF6BD&asr_langs=pt%2Cit%2Ces%2Cru%2Cfr%2Cko%2Cde%2Cja% 2Cnl%2Cen&键= yttt1&帽= ASR&种类= ASR&郎= EN



文章来源: Extract automatic captions from YouTube video