#8781 多个视频一起翻译的时候,部分视频字幕不视频不匹配,多个视频之间错乱了

212.107**2 Posted at: 9 hours ago

多个视频一起翻译的时候,部分视频字幕不视频不匹配,多个视频之间错乱了

12 Replies

#1 DeepSeek reply at 9 hours ago

批量翻译时出现字幕与视频串台,常见原因是缓存串用——低于 v4.18 的版本存在"复用其他视频已缓存的 clone 配音"这一已知 bug(v4.18 修复项:don't reuse cached clone dubbing from another video);其次是批量并发过高、多个视频同名或文件名含特殊字符,导致临时文件互相覆盖。

按以下顺序排查处理:

  1. 升级版本:将软件升级到 v4.18 或更新版本,该版本修复了跨视频复用配音缓存导致的串台问题。
  2. 确保每个视频文件名唯一且简短:避免出现 D:/a/001.mp4 与 D:/b/001.mp4 同名不同目录的情况;删除文件名中的表情、特殊符号。
  3. 降低并发:菜单 → 工具/选项 → 高级选项 → 通用设置 中,将 批量翻译视频时每批数量 设为 1,GPU同时任务数 设为 1,CPU同时任务数 设为 1,保存后重启软件再试。
  4. 清理旧缓存后重试:主界面勾选 清理已生成;若问题仍在,关闭软件后手动清空 软件目录/tmp/ 内的临时切片与 dubbing_cache/、translate_cache/ 目录,再重新批量翻译。
  5. 使用 clone 配音角色时:确认 高级选项 → 语音识别参数 → 最短语音持续(毫秒) 不低于 3000,否则参考音频裁切异常也会造成音轨错位。
  6. 定位问题范围:先单独翻译其中"错乱"的那个视频,若单独翻译正常、批量才出错,基本可判定为并发/缓存问题;若单独也错乱,则是该视频文件本身的问题。

以上处理后仍复现,请提供:软件版本号、是否一次性选择多个视频或勾选了 文件夹、所用语音识别/翻译/配音渠道(是否使用 clone 角色)、以及 软件目录/logs/ 下最新日志文件底部约 30 行报错或处理记录,以便进一步分析。

请查阅相关文档:

#2 212.107**2 reply at 9 hours ago

降低并发:菜单 → 工具/选项 → 高级选项 → 通用设置 中,将 批量翻译视频时每批数量 设为 1,GPU同时任务数 设为 1,CPU同时任务数 设为 1,保存后重启软件再试。后会报错

#3 DeepSeek reply at 9 hours ago

该报错的具体原因需要看报错原文才能判断;但与“降低并发”直接相关的已知问题是:旧版本在同时任务数被设小后,会抛出 max_workers must be greater than 0,这属于内部 bug,v4.18 已修复。

请按以下步骤处理:

  1. 确认报错文本:若报错中包含 max_workers must be greater than 0(或类似 max_workders...),直接升级到 v4.18 或更新版本即可解决,无需改动其他设置。
  2. 恢复并发参数的默认值:先把 CPU同时任务数 和 GPU同时任务数 两项清空或恢复为默认值 0(不要留 1,也不要留负数或空字符串外的其他字符),只把 批量翻译视频时每批数量 设为 1。这两项的合法范围是:CPU 项不应超过 CPU 核心数,GPU 项除非显存极大否则为 1;填 0 表示自动分配。
  3. 必须重启软件:这三项都标注为“重启生效”,保存后要彻底退出 sp.exe 再启动,仅关窗口无效。
  4. 若仍报错:进入 软件目录/videotrans/ 文件夹,把 cfg.json 临时改名备份(如 cfg.bak),重启软件让它重建默认配置(此操作会重置高级选项设置,params.json 里的 API 密钥不受影响)。
  5. 另一种思路:若只是担心批量串台,可不改并发数,改为逐个视频依次提交(一次只选一个视频,批量视频分多次跑),并勾选 清理已生成,这样并发参数保持默认,避开该 bug 触发点。

如果升级并恢复默认值后仍报错,请提供:软件版本号、报错弹窗或控制台的完整报错原文、以及 软件目录/logs/ 下最新日志文件底部约 30 行内容。

请查阅相关文档:

#4 212.107**2 reply at 9 hours ago

image

#5 DeepSeek reply at 9 hours ago

当前无法读取图片中的文字内容,因此无法据此定位具体报错。请用文字提供以下信息,以便判断原因:

  1. 报错弹窗或控制台中的完整报错原文(可将文字复制出来,或手打关键报错行,尤其是 xxxError:、xxxException: 之后的部分)。
  2. 软件版本号(左上角显示,如 v4.18)。
  3. 系统是 Windows 预打包版还是源码部署。
  4. 触发时机:是点击“开始执行”立即报错,还是在语音识别、翻译、配音、合成哪一步报错。
  5. 软件目录/logs/ 下最新日志文件底部约 30 行内容。

请查阅相关文档:

#6 212.107**2 reply at 9 hours ago

image

#7 DeepSeek reply at 9 hours ago

当前环境无法读取图片内容,因此无法判断该报错的具体含义。请复制或手打以下信息提供:报错完整原文(尤其是 xxxError: / Exception: 之后的部分)、软件版本号、触发阶段(开始执行即报错,还是识别/翻译/配音/合成某一步)、系统与部署方式(Windows 预打包版或源码部署)。另可自行查看 软件目录/logs/ 下最新日志文件,复制底部约 30 行内容。

请查阅相关文档:

#8 212.107**2 reply at 9 hours ago

Error

Traceback (most recent call last):
File "videotrans\task\mult_video.py", line 42, in run
TypeError: Task


() got an unexpected keyword argument
'batch_size'

#9 DeepSeek reply at 9 hours ago

这是补丁包覆盖不完整、新旧代码文件版本不一致导致的,跟并发设置无关:mult_video.py(新代码)在创建任务时传入了 batch_size 参数,而它调用的 Task 类仍是旧版本、不认识该参数。升级时只替换了 sp.exe 或只覆盖了部分文件,就会触发这个 TypeError。

按以下步骤处理:

  1. 关闭软件,在软件根目录及 _internal 文件夹内搜索 __pycache__,把所有搜到的 __pycache__ 文件夹与 .pyc 文件全部删除(旧字节码残留会让新代码不生效)。
  2. 重新下载与当前版本一致的完整包(或与完整包版本对应的最新补丁包),将包内所有文件和文件夹完整覆盖到旧目录,重点是 sp.exe、_internal 文件夹、videotrans 文件夹,不能只替换 sp.exe。
  3. 覆盖完成后重新启动软件再执行批量翻译,不要再调用并发参数去规避。
  4. 你的配置不会丢:videotrans/params.json(API 密钥等)、cfg.json 不含在完整包内,覆盖后仍保留;如需保险可先复制这两个 json 备份。
  5. 若为源码部署:重新拉取源码覆盖后执行 uv sync,并同样清理 __pycache__。

注意:仅下载 260MB 左右的补丁包并单独覆盖 sp.exe 是这类 TypeError 的典型诱因;如果是首次安装或长期未更新,请使用 2GB+ 的完整包。

若按上述完整覆盖后仍报同类 unexpected keyword argument,请提供当前版本号(左上角)、覆盖的包类型(完整包/补丁包)、以及 logs/ 下最新日志底部约 30 行。

请查阅相关文档:

#10 212.107**2 reply at 9 hours ago

我是改了并发数才出现的

#11 DeepSeek reply at 9 hours ago

并发数的数值本身不可能产生这个报错:batch_size 是代码里写死的参数名,你在界面填的只是数字(1、2、0…),数字不会变成关键字参数名。Task() got an unexpected keyword argument 'batch_size' 只能说明调用方 mult_video.py 传了 batch_size,而被调用的 Task 类定义里没有这个参数,即两者不是同一版本的代码文件。

不过也不能完全排除「该版本处理『每批数量』的分支本身有 bug」,可以按下面顺序做一次严格验证,一步一结论:

  1. 想验证是否与并发设置相关:把「批量翻译视频时每批数量」改回默认值 0(或直接清空),CPU/GPU 同时任务数 也恢复 0,保存后彻底退出 sp.exe 再启动,重新批量翻译同一批视频。

    • 若不再报错 → 说明是该版本「每批数量」逻辑的 bug,请暂时保持 0(不限制)使用,不要设 1。
    • 若仍报同样错误 → 与并发设置无关,属版本文件不一致,继续第 2 步。
  2. 修版本不一致:关闭软件,在软件根目录和 _internal 文件夹内搜索 __pycache__,把搜到的全部文件夹和 .pyc 文件删除;然后用与当前版本一致的完整包(非仅 260MB 补丁包、非只替换 sp.exe)整体覆盖 sp.exe、_internal、videotrans 文件夹,重启再试。
  3. 若第 1 步确实变成「改回 0 就好、设 1 就报错」,请在反馈时一并提供:软件版本号(左上角)、logs/ 下最新日志底部约 30 行、以及原样那句 traceback,便于按代码定位该参数分支。

补充:videotrans/params.json、cfg.json 不在完整包内,覆盖后你的密钥和设置仍在,担心的话先复制这两个文件备份。

请查阅相关文档:

#12 Admin reply at 3 hours ago

bug, 先恢复默认值,后续修复

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Related resource