如何自动识别视频中的语音并生成字幕文件(.srt)
基于google API的自动语音识别
安装过程
- 01
到Python官网(https://www.python.org/downloads/)下载python2.7的最新版本,下载完成后安装Python2.7,本例中安装到C:\Python27目录下,注意,需要将Python的安装目录加入环境变量,加入环境变量的步骤如下:
- 02
以 管理员模式打开 cmd界面,切换到Python27目录下的Scripts目录下(命令为:cd /d C:\Python27\Scripts),输入安装autosub的命令(pip.exe install autosub),正常情况下,就可以安装成功了
- 03
如果第2步出现了问题,到Pypi上自己下载安装包,下载地址:https://pypi.org/project/autosub/#files,下载完毕后还是在Python27目录下的Scripts目录下输入命令:pip.exe install autosub安装包的地址,例子看图
- 04
安装完毕后,下载FFMPEG,地址:https://ffmpeg.zeranoe.com/builds/,下载后,进行解压,将文件夹中的bin文件夹中的ffmpeg.exe复制到C:\Python27(即Python目录)下
- 05
重命名C:\Python27\Scripts\目录下的autosub文件名为autosub_app.py
- 06
使用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")
- 07
重启计算机
使用autosub
- 01
首先对autosub进行测试,在Python目录下,输入如下命令: python.exe Scripts\autosub_app.py --list-languages(支持的语言列表如下, 很遗憾似乎没有中文的……),测试成功如下图:
- 02
测试成功后,我们将需要识别的视频放到C:/Python27目录下,我们以油管上的Ya6Av7uecbg视频为例
- 03
注意本步骤可能需要打开vpn,因为使用的是google api,不打开vpn可能会比较慢或者无法使用。 在C:/Python27/Scripts目录下,输入如下命令: python.exe Scripts/autosub_app.py 视频名称,具体输入看图,最后会得到一个srt文件
- 04
当出现0kb的srt文件时,有可能是视频源出现了问题,有两种解决方法:①换视频源②将视频中的音频取出来(可以使用pazera提取),将其转换成单声道(mono)的音频,再重新合成。(注意在转换的过程中可能会变成无声文件,所以需要正确的转换方式,比如在AA中复制一个channel的声音,新建一个单声道文件复制进去)。重新合成之后的视频文件进行提取字幕一般没有问题。