视频翻译配音时几个常见错误与解决方法

我的开源小项目 "视频翻译配音工具" github.com/jianchang51... ,至今开源快6个月了,也有不少用户使用,因个人时间和能力所限,bug不少,修复了n多,还有一些,本文将最近反馈较多的错误和解决方法简单说明下。

具体介绍说明可查看上一篇文章 juejin.cn/post/733155...

报错,错误中含有 "ffprobe exect error"

执行中,经常报出含有这类"ffprobe except error"字符的错误,那么大概率是视频名字太长,或者视频所在路径过深,尤其是从youtube下载的视频,名字一般都几百个文字甚至更长,同时如何视频存放的文件夹层级又很深,那么几乎肯定会遇到windows 上路径长度限制。

像上图这个,文件夹层级深,视频名字长,在调用 ffprobeffmpeg 执行命令时,几乎肯定会报错。

解决方法很简单,直接在某个盘下创建一个英文文件夹,然后将视频改个简单名字放进去,比如D:/myvideos/1.mp4,再试试,应该就无错了。

弹出错误,说是"不含音轨"

有时在执行时,会频繁遇到"无法识别,请检查视频是否含有音轨"等错误。原因一般有以下几种

  1. 确实不存在声音,尤其youtube上下载的视频,一般都是视频画面和声音单独下载,然后再合并的,有可能下载中途出错,最终未合并,导致只有画面而无声音。

    解决方法:重新下载,下载之后播放下检查是否有声音

  2. 存在声音,但背景噪声太大,比如大街上的视频或演唱会的视频,导致无法识别到任何文字。

    解决方法:选中"保留背景音"或使用去除背景音工具提前删除掉背景噪声

  1. 所选择的"原始语音"和视频中说话语言不一致,比如你视频里都是英文发声,你应该选择原始语言位"英语",但是却选了"中文",那么肯定是无法识别到文字的。

    解决方法:重新选择"原始语言"确保和视频里发声一致。

识别完成后就闪退

这种情况一般是"没有安装cudnn"或"GPU显存不足"。

解决方法:

  1. 安装cudnn,juejin.cn/post/731870...
  2. 使用小点的模型,比如"small" "medium" 而不是 large-v3
  3. 使用"预先分割"或"均等分割"
  4. 使用 "openai"模型而非 "faster"模型

识别出的字幕不完整

比如完整视频有10分钟,但只识别出了5分钟的字幕,后边就没有了。 可能的原因

  1. 背景噪声问题,提前去除背景噪声可解决
  2. 有错误发生,但未明确提示,可查看软件目录下 logs/最新日期.log 的报错信息
  3. 后边发声语言和原始语言不同

翻译无法连接

提示无法连接到 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 下载视频报错

  1. 检查代理地址填写是否正确,正确的代理地址是 http://127.0.0.1:数字端口号形式的,不要填写乱七八糟的内容。
  2. 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=30other_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

同时在软件主界面中,"整体识别"改为"预先分割"或"均等分割",将能最大化降低显存占用

相关推荐
冬奇Lab2 小时前
一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
开源·音视频开发
一个处女座的程序猿4 小时前
AI之Agent之VibeCoding:《Vibe Coding Kills Open Source》翻译与解读
人工智能·开源·vibecoding·氛围编程
一只大侠的侠5 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
IvorySQL6 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
一只大侠的侠6 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠7 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠7 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
晚霞的不甘7 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
晚霞的不甘8 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
猫头虎9 小时前
OpenClaw-VSCode:在 VS Code 里玩转 OpenClaw,远程管理+SSH 双剑合璧
ide·vscode·开源·ssh·github·aigc·ai编程