多语言展示
当前在线:1600今日阅读:23今日分享:25

如何自动识别视频中的语音并生成字幕文件(.srt)

基于google API的自动语音识别
工具/原料
1

Python 2.7

2

AutoSub module

3

Windows系统

4

VPN

5

Notepad++

安装过程
1

到Python官网(https://www.python.org/downloads/)下载python2.7的最新版本,下载完成后安装Python2.7,本例中安装到C:\Python27目录下,注意,需要将Python的安装目录加入环境变量,加入环境变量的步骤如下:

2

以管理员模式打开cmd界面,切换到Python27目录下的Scripts目录下(命令为:cd /d C:\Python27\Scripts),输入安装autosub的命令(pip.exe install autosub),正常情况下,就可以安装成功了

4

安装完毕后,下载FFMPEG,地址:https://ffmpeg.zeranoe.com/builds/,下载后,进行解压,将文件夹中的bin文件夹中的ffmpeg.exe复制到C:\Python27(即Python目录)下

5

重命名C:\Python27\Scripts\目录下的autosub文件名为autosub_app.py

6

使用Notepad++编辑autosub_app.py文件,将第48行由原来的temp = tempfile.NamedTemporaryFile(suffix='.flac'),更改为temp = tempfile.NamedTemporaryFile(suffix='.flac', delete=False);第127行由原来的exe_file = os.path.join(path, program),更改为exe_file = os.path.join(path, program + '.exe')

7

重启计算机

使用autosub
1

首先对autosub进行测试,在Python目录下,输入如下命令:python.exe Scripts\autosub_app.py --list-languages(支持的语言列表如下, 很遗憾似乎没有中文的……),测试成功如下图:

2

测试成功后,我们将需要识别的视频放到C:/Python27目录下,我们以油管上的Ya6Av7uecbg视频为例

3

注意本步骤可能需要打开vpn,因为使用的是google api,不打开vpn可能会比较慢或者无法使用。在C:/Python27/Scripts目录下,输入如下命令:python.exe Scripts/autosub_app.py 视频名称,具体输入看图,最后会得到一个srt文件

4

当出现0kb的srt文件时,有可能是视频源出现了问题,有两种解决方法:①换视频源②将视频中的音频取出来(可以使用pazera提取),将其转换成单声道(mono)的音频,再重新合成。(注意在转换的过程中可能会变成无声文件,所以需要正确的转换方式,比如在AA中复制一个channel的声音,新建一个单声道文件复制进去)。重新合成之后的视频文件进行提取字幕一般没有问题。

注意事项
1

需要使用VPN

2

产生0kb的SRT文件时要自己提取音频生成单声道文件重新合成视频

推荐信息