我的开源小项目 "视频翻译配音工具" github.com/jianchang51... ,至今开源快6个月了,也有不少用户使用,因个人时间和能力所限,bug不少,修复了n多,还有一些,本文将最近反馈较多的错误和解决方法简单说明下。
具体介绍说明可查看上一篇文章 juejin.cn/post/733155...
报错,错误中含有 "ffprobe exect error"
执行中,经常报出含有这类"ffprobe except error"字符的错误,那么大概率是视频名字太长,或者视频所在路径过深,尤其是从youtube下载的视频,名字一般都几百个文字甚至更长,同时如何视频存放的文件夹层级又很深,那么几乎肯定会遇到windows 上路径长度限制。
像上图这个,文件夹层级深,视频名字长,在调用 ffprobe
或 ffmpeg
执行命令时,几乎肯定会报错。
解决方法很简单,直接在某个盘下创建一个英文文件夹,然后将视频改个简单名字放进去,比如D:/myvideos/1.mp4
,再试试,应该就无错了。
弹出错误,说是"不含音轨"
有时在执行时,会频繁遇到"无法识别,请检查视频是否含有音轨"等错误。原因一般有以下几种
-
确实不存在声音,尤其youtube上下载的视频,一般都是视频画面和声音单独下载,然后再合并的,有可能下载中途出错,最终未合并,导致只有画面而无声音。
解决方法:重新下载,下载之后播放下检查是否有声音
-
存在声音,但背景噪声太大,比如大街上的视频或演唱会的视频,导致无法识别到任何文字。
解决方法:选中"保留背景音"或使用去除背景音工具提前删除掉背景噪声
-
所选择的"原始语音"和视频中说话语言不一致,比如你视频里都是英文发声,你应该选择原始语言位"英语",但是却选了"中文",那么肯定是无法识别到文字的。
解决方法:重新选择"原始语言"确保和视频里发声一致。
识别完成后就闪退
这种情况一般是"没有安装cudnn"或"GPU显存不足"。
解决方法:
- 安装cudnn,juejin.cn/post/731870...
- 使用小点的模型,比如"small" "medium" 而不是 large-v3
- 使用"预先分割"或"均等分割"
- 使用 "openai"模型而非 "faster"模型
识别出的字幕不完整
比如完整视频有10分钟,但只识别出了5分钟的字幕,后边就没有了。 可能的原因
- 背景噪声问题,提前去除背景噪声可解决
- 有错误发生,但未明确提示,可查看软件目录下
logs/最新日期.log
的报错信息 - 后边发声语言和原始语言不同
翻译无法连接
提示无法连接到 Google 或 chatGPT。 因为你懂的原因,国内无法正常使用这2个服务,如果你要使用,必须确保已掌握了科学上网方式,并且将网络代理地址填写到了"网络代理地址"文本框中。仅仅开了全局可能是无效的,保险的方法是手动填写到"网络代理地址"文本框中。
这个文本框中是需要填写"网络代理地址"的,而不是填写你的中转api地址的,有用户使用的chatGPT,却将第三方的api中转地址填写到这里,那百分百一万会报错。api地址是需要填写到"设置菜单-Openai/ChatGPT Key" 中的。
缺少 ffmpeg
如果是windows系统,预打包版本中已含有ffmpeg,无需处理,源码中有 ffmpeg.7z 文件,解压后存放在软件根目录即可。
如果是Linux系统,Debian系可使用 apt-get install ffmpeg
或 Fedora系 yum install ffmpeg
安装即可。
Mac系统使用 brew install ffmpeg
安装
报错信息一堆,含有ffmpeg
字样
大概率是视频名称或路径含有 空格、特殊字符、中日韩阿拉伯等文字导致执行ffmpeg出错了。
修改视频名称为简单"英文数字"等组成的新名称,将视频移动到由"英文、数字、下划线"等简单字符组成的目录下,包含上级、上上级目录都是如此。
例如 C:/Program file/videos
,这个目录就不可以,含有空格。
D:/videos[001]
这个目录也不行,含有特殊字符[]
E:/中文 ceshi 개하였다
这个含有中韩文字还有空格,会报错。
E:/myvideos001
这个就可以,无空格无特殊字符
youtube 下载视频报错
- 检查代理地址填写是否正确,正确的代理地址是
http://127.0.0.1:数字端口号
形式的,不要填写乱七八糟的内容。 - youtube视频下载是将视频画面和音频独立下载的2个文件,完毕后再合并为mp4,如果你下载过程中打开了其中的视频文件,那么肯定是没有声音的,请耐心等待下载完成后合并。
软件显示英文界面,如何显示中文界面
打开 videotrans/set.ini,11行左右,找到 lang =
,改为 lang=zh
videtorans/set.ini 中几个参数解释
以下几个参数均在 软件目录/videotrans/set.ini
文件中,打开该文件进行修改,修改保存后,最好重启,否则在使用视频工具箱里的功能时,新修改不会生效。
1. 调节背景音乐音量 :如果手动选择了"添加背景音"文件,想降低背景音量,打开这个文件,找到 backaudio_volume=0.5
默认0.5即代表背景音量减半,你可以降为更低,比如 0.1
2. 调节硬字幕文字大小 :找到 fontsize=14
,默认14代表文字尺寸,你可以调高比如到20,或降低到12等。
3. 改变识别完和翻译完后的倒计时 :找到countdown_sec=30
,默认倒计时30秒,你可以修改为大于0的任何正整数。
4. 改变字幕一行显示的文字 :找到cjk_len=30
和other_len=60
这2个标量,cjk_len
代表中日韩文字一行显示30个字符,other_len
代表其他文字一行显示60个字符,你可以根据需要修改
5. 加快配音速度 :找到dubbing_thread=2
,默认2代表同时2行字幕开始配音,你可以调为更大,比如10,代表同时10行字幕进行配音,但注意,太大了可能遇到频繁限制而出错。
6.改变翻译速度 :找到 trans_thread=10
,默认10,代表同时翻译10行字幕,可以调为20,表示同时翻译20行,但注意,太大了,一个是会遇到频率限制问题,另外在chatGPT/Gemini
等AI翻译时,可能会出现合并行问题,导致翻译前后字幕行数不同,改为1可解决这个问题。
7.减少显存占用:当显存不足时,可通过以下修改降低显存占用
cuda_com_type=float32
改为 cuda_com_type=int8
beam_size=5
改为 beam_size=1
best_of=5
改为 best_of=1
temperature=1
改为 temperature=0
同时在软件主界面中,"整体识别"改为"预先分割"或"均等分割",将能最大化降低显存占用