如何从YouTube视频中提取闭路字幕?
可以从YouTube视频中提取闭路字幕记录吗 我们在YouTube上有200多个网络广播,每个广播至少一小时。YouTube已经为所有视频设置了闭路字幕,但用户似乎无法获取 我在这个博客中尝试了这个URL,但它与我们的视频不兼容如何从YouTube视频中提取闭路字幕?,youtube,caption,Youtube,Caption,可以从YouTube视频中提取闭路字幕记录吗 我们在YouTube上有200多个网络广播,每个广播至少一小时。YouTube已经为所有视频设置了闭路字幕,但用户似乎无法获取 我在这个博客中尝试了这个URL,但它与我们的视频不兼容 以下文档称只有频道所有者才能通过标准youtube界面执行此操作: 廉价修复: 您可以单击“interactive transscript”按钮,并以这种方式复制内容。 当然,这样会损失毫秒数 非常便宜的解决方案: 共享youtube帐户- 这样多人可以编辑和上传字幕
以下文档称只有频道所有者才能通过标准youtube界面执行此操作: 廉价修复: 您可以单击“interactive transscript”按钮,并以这种方式复制内容。 当然,这样会损失毫秒数 非常便宜的解决方案: 共享youtube帐户- 这样多人可以编辑和上传字幕文件 具有挑战性的解决方案: youtube API允许通过HTTP下载和上传字幕文件。。。 您可以编写youtube API应用程序,为任何用户或特定用户提供用于上载或下载的浏览器用户界面 下面是一个java中的示例项目 下面是一个非常简单的上传示例:
您可以使用和从YouTube下载流式字幕
您可以从自动抄本或作者提供的字幕中进行选择。它还提供了使用谷歌翻译将英文字幕自动翻译成其他语言的可能性 以下是如何获取YouTube视频的成绩单(如果可用):
- 转到YouTube并打开您选择的视频李>
- 单击“共享”按钮旁边的“更多操作”按钮(3个水平点)
- 点击“打开成绩单”
/api/timedtext
的响应,其中包含XML格式的闭路字幕信息
这样的回答似乎是:
<p t="0" d="5430" w="1">
<s p="2" ac="136">we've</s>
<s t="780" ac="252"> got</s>
</p>
<p t="2280" d="7170" w="1">
<s ac="243">we're</s>
<s t="810" ac="233"> going</s>
</p>
您可以通过访问来查看/复制/下载youtube闭路字幕文件的时间编码xml文件
http://video.google.com/timedtext?lang=[LANGUAGE]&v=[YOUTUBE VIDEO IDENTIFIER]
例如http://video.google.com/timedtext?lang=pt&v=WSVKbw7LC2w
注意:此方法不会下载自动生成的闭路字幕,即使您获得了正确的语言(可能有自动生成语言的特殊代码)。从投票向上/向下和共享链接右侧的
下拉列表中选择Open Transcript
这将在右侧打开一个Transcript
滚动div
然后可以使用复制。请注意,您不能使用全选
,但需要单击顶行,然后使用滚动拇指滚动到底部,然后按住shift键并单击最后一行
请注意,您也可以使用普通的网页搜索在该文本中进行搜索。我只是在视频开头打开成绩单,在00:00标记处左键单击并拖动,并在开头几行上按下shift键,就可以轻松地完成这项工作
然后我将视频推进到接近尾声的地方。当视频停止时,我再次按住shift键,同时单击最后一句的结尾。我用CTRL-C将文本复制到剪贴板并粘贴到编辑器中
完成了
警告:确保没有共享剪贴板的RDP窗口或Teamviewer等软件同时运行,因为此过程将在复制大量文本时溢出缓冲区。另一个选项是使用youtube dl
:
youtube dl--跳过下载--写入自动sub$youtube\u url
默认格式为vtt
,另一种可用格式为ttml
(--子格式ttml
)
——写入子对象
写字幕文件
--写自动子程序
写入自动生成的字幕文件(仅限YouTube)
--所有潜艇
下载视频的所有可用字幕
--列表子节点
列出视频的所有可用字幕
--子格式
字幕格式,接受格式首选项,例如:“srt”或“ass/srt/best”
--次郎朗
要下载的字幕语言(可选)由逗号分隔,使用--list sub作为可用的语言标记
您可以使用ffmpeg
将字幕文件转换为其他格式:
ffmpeg-i input.vtt output.srt
这就是VTT字幕的样子:
WEBVTT
种类:字幕
语言:en
00:00:01.429-->00:00:04.249对齐:起始位置:0%
女士们先生们,我要感谢你们
00:00:04.249-->00:00:04.259对齐:起始位置:0%
女士们先生们,我要感谢你们
00:00:04.259-->00:00:05.930对齐:起始位置:0%
女士们先生们,我要感谢你们
谢谢你今晚来,尤其是在
00:00:05.930-->00:00:05.940对齐:起始位置:0%
谢谢你今晚来,尤其是在
00:00:05.940-->00:00:07.730对齐:起始位置:0%
谢谢你今晚来,尤其是在
这么短的通知
00:00:07.730-->00:00:07.740对齐:起始位置:0%
这么短的通知
00:00:07.740-->00:00:09.620对齐:起始位置:0%
这么短的通知
我相信欧文先生会告诉你的
00:00:09.620-->00:00:09.630对齐:起始位置:0%
我相信欧文先生会告诉你的
00:00:09.630-->00:00:11.030对齐:起始位置:0%
我相信欧文先生会告诉你的
给我们带来的环境
00:00:11.030-->00:00:11.040对齐:起始位置:0%
给我们带来的环境
以下是相同的字幕,文件顶部没有部分,也没有标签:
00:00:01.429-->00
http://video.google.com/timedtext?lang=[LANGUAGE]&v=[YOUTUBE VIDEO IDENTIFIER]
pip install youtube_transcript_api