如何在不将视频上传到YouTube的情况下使用Google的YouTube语音识别?


15

我有很多演讲视频内容,我想为其添加字幕。YouTube在特定条件下会自动为视频生成字幕(这些条件对我来说还是个谜)。

我希望能够在YouTube之外使用此语音识别技术。我不想上传每个视频只是为了获取成绩单(太耗时),而且,我不认为YouTube会为超过30分钟(大多数是30分钟)的视频使用该视频。不要以为它会在非公开列出的视频中使用(这是个问题,因为它是要出售的优质内容)。

完美的场景:有一个程序可以在我的桌面上运行,以从这些视频中获取抄本,并且其质量与YouTube相同或更好,并且其时间代码类似于YouTube生成的SRT或XML [ 如何获得YouTube字幕 ]。

可以接受的情况:我可以采取一些技巧来迫使YouTube抄录视频,无论是公开的还是公开的,尽管长度不限。

可行的方案:有一个库或我可以用来编写自己的程序的东西。我对C#很好,对C ++很好(但是我真的更喜欢C#)。


2
感谢您的链接-从聋哑的角度,非常有兴趣听到它的工作原理...
studiohack

@studiohack没有双关语。
2014年

大声笑,我什至没有意识到!:P
studiohack

Answers:


10

Google在Chrome中实现了Web Speech API(用于语音识别和合成),如果您是开发人员,则可以使用。这就是YouTube用于为某些视频添加字幕的方式。也许您会找到与之交互的代码。

数据流可能是:

视频文件=>提取并转换音频=>将其发送到Google API =>获取文本=>写入SRT。

编辑:除W3C规范外,似乎没有正式的API页面。因此,这里有更多链接:

这些示例是关于在Chrome内部使用API​​的,但是您可以直接查询Google的在线语音识别引擎。例如,Raspberrry Pi的语音识别个人助理Jasper允许您选择Google作为语音识别引擎。


谢谢!我一定会尝试的。如果可以快速完成(处理时间除外),则可以在产品中实现。那将是多么的荣幸。
287352年

该API的另一来源可能是NodeWebkit环境
约翰·德沃夏克

1

尽管使用了较旧的Google语音API,但有一个名为“ autosub”的工具(请参阅github上的agermanidis / autosub)可以精确地完成此操作。该工具使用ffmpeg将音频剥离为FLAC文件,然后将FLAC文件发送给Google进行转录。它产生一个SRT或VTT文件。

准确性较低的部分原因是Google API较旧。有更新的API(位于https://cloud.google.com/speech/docs/apis的 “ Cloud Speech REST API” )。这个API非常简单,在某些时候,我将派出autosub来使用它。

另一种方法是在字幕制作完成后上载到YouTube并下载VTT文件。这样做的复杂之处在于,YouTube会生成非常细腻的字幕(例如,几个单词),而不是一个句子。这使得在进行手动扫描时更难检查字幕。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.