快速给外语视频自动添加字幕
https://github.com/agermanidis/autosub/issues/31
项目是公开的,利用google speech技术自动给音频视频文件添加字幕或者歌词
目前的测试结果是可以在2.7上完美运行,在3.7上出错。。。
1.安装python2.7
https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi
2.下载安装autosub
运行cmd (Win+R)
输入指令
C:\Python27\Scripts\pip.exe install autosub
或者
C:\Python27\Scripts\pip.exe install https://pypi.python.org/packages/35/7b/9d5361c0f7abfcc6d826a5279b1c4501f7616505629f6c54857587ec6e37/autosub-0.3.9.tar.gz
或者
(下载最新版本的 autosub https://pypi.python.org/pypi/autosub)
C:\Python27\Scripts\pip.exe install "c:\你下载的地址\autosub-0.3.9.tar.gz"
3.改名字,把"autosub" 改成 "autosub_app.py"
输入指令:
Rename C:\Python27\Scripts\autosub autosub_app.py
通过 notepad.exe 或者 Notepad++编辑 autosub_app.py
4.1 在48行添加 ", delete=False"
也就是把
temp = tempfile.NamedTemporaryFile(suffix='.flac')
改成
temp = tempfile.NamedTemporaryFile(suffix='.flac', delete=False)
4.2 移除 53行 os.system('stty sane'). (目前版本已经不需要更改l)
UPDATE For last Version Autosub (23 May 2017)
在 Windows xp,7,8,10
修改:
127行:
exe_file = os.path.join(path, program)
改成:
exe_file = os.path.join(path, program + ".exe")
第48行:
temp = tempfile.NamedTemporaryFile(suffix='.flac')
改成:
temp = tempfile.NamedTemporaryFile(suffix='.flac', delete=False)
下载ffmeg用于媒体格式处理(https://ffmpeg.zeranoe.com/builds/)
把压缩包中的bin下的ffmpeg.exe复制到C:\Python27\
重启系统,其实不重启也无所畏
测试脚本 C:\Python27\python.exe C:\Python27\scripts\autosub_app.py --list-languages
这个将列出语言列表
具体使用:
C:\Python27\python.exe C:\Python27\scripts\autosub_app.py -S en -D en YouVideo.mp4
视频最好是绝对地址,就是加上具体位置,命令提示符会按照你打开命令提示符的相对位置找。。。
字幕会返回到视频统一个目录下
转歌词上传到这个网站就能转成歌词
http://www.lrccon.com/convert.php
国内封了谷歌。。。所以需要翻墙,,,上传的不是整个视频是视频中的音频单声道文件
=======================================================
这个程序并没有完全列出google cloud speech全部的语言支持列表
具体支持列表在google介绍中
https://cloud.google.com/speech-to-text/docs/languages
因为程序在判断指令的时候会自动挡住不符合设定的语言代码,
要在C:\Python27\Lib\site-packages\autosub\constants.py
LANGUAGE_CODES中添加你在google官网上查到可以添加的语言代码。。。举个例子英语口音就有很多种。。。
同时也可以更改成自己的API
PS:印度人的英语识别率很低
推荐阅读: