#4749 我想问一下,你们的批量生成视频,是什么流程:比如第一个视频,识别 翻译 生成语音 合并输出 然后下一个视频。还是说,所有的视频,先统一识别,然后统一翻译,统一生成语音,统一输出,是哪种模式?

2a14:4900* Posted at: 1 day ago

我想问一下,你们的批量生成视频,是什么流程:比如第一个视频,识别 翻译 生成语音 合并输出 然后下一个视频。还是说,所有的视频,先统一识别,然后统一翻译,统一生成语音,统一输出,是哪种模式?

23 Replies

pyVideoTrans 的批量处理默认采用 多视频并行 + 视频内流水线 模式:

  1. 默认行为:多个视频同时进入各自的处理流水线(每个视频独立经历 ASR → 翻译 → TTS → 合成),即所有视频并发处理,但每个视频内部的阶段是顺序衔接的。
  2. 可切换的串行模式:若需要逐个视频完成(第一个全流程结束后再启动下一个),请进入 菜单 → 工具/选项 → 高级选项,勾选 批量翻译时强制串行。这样就可以避免多个任务争抢 GPU/CPU 资源导致的卡顿或显存溢出。

请查阅相关文档:

字幕配音 处理并发数是什么意思,我的是3060ti显卡,设置多少合适,我现在设置的为1,是这个造成,index tts生成一条,等待10秒的原因吗?

并发配音线程数 控制同时发送给 TTS 服务的任务数量。Index-TTS 这类本地模型单次请求耗时较长(你的 10 秒正常),是模型推理速度而非并发造成的。
3060Ti 建议保持为 1,因为本地 TTS 单任务已占满显卡资源,增大并发只会导致排队或显存溢出,不会提升单条速度。
若想加快单条生成速度,可检查 Index-TTS 服务是否开启了 GPU 加速(如使用 --device cuda)或改用更轻量的模型。

我的单条处理速度很快,完全没有问题,就是生成后,等待十几秒后,才会开始推理,>> gpt_gen_time: 1.26 seconds

gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 1.37 seconds
Generated audio length: 1.54 seconds
RTF: 0.8915
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.20 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 2.37 seconds
Generated audio length: 3.41 seconds
RTF: 0.6952
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.40 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 2.58 seconds
Generated audio length: 3.63 seconds
RTF: 0.7100
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 1.29 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 1.40 seconds
Generated audio length: 1.58 seconds
RTF: 0.8837
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.66 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 2.84 seconds
Generated audio length: 3.93 seconds
RTF: 0.7239
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.72 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.06 seconds
Total inference time: 2.90 seconds
Generated audio length: 3.93 seconds
RTF: 0.7396
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.06 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 2.22 seconds
Generated audio length: 2.94 seconds
RTF: 0.7541
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 1.89 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 2.03 seconds
Generated audio length: 2.73 seconds
RTF: 0.7430
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.01 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.05 seconds
Total inference time: 2.16 seconds
Generated audio length: 3.03 seconds
RTF: 0.7131
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 1.81 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.06 seconds
Total inference time: 1.93 seconds
Generated audio length: 2.18 seconds
RTF: 0.8887
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.83 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.06 seconds
Total inference time: 3.03 seconds
Generated audio length: 4.35 seconds
RTF: 0.6952
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.04 seconds
gpt_forward_time: 0.04 seconds
bigvgan_time: 0.18 seconds
Total inference time: 2.29 seconds
Generated audio length: 2.52 seconds
RTF: 0.9087
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.97 seconds
gpt_forward_time: 0.05 seconds
bigvgan_time: 0.07 seconds
Total inference time: 3.23 seconds
Generated audio length: 3.54 seconds
RTF: 0.9113
wav file saved to: outputs\sk
.wav
start inference...
Reference audio length: 8.10 seconds
gpt_gen_time: 2.46 seconds
gpt_forward_time: 0.05 seconds
bigvgan_time: 0.06 seconds
Total inference time: 2.69 seconds
Generated audio length: 3.03 seconds
RTF: 0.8866
wav file saved to: outputs\sk
.wav

这是 配音后暂停秒 设置导致的。软件在每条配音请求完成后会强制等待你设定的秒数,以限制 API 请求频率。你的日志中单条推理耗时很短,但两条 “start inference” 之间间隔十几秒,正是这个暂停造成的。

解决方法
进入 菜单 → 工具/选项 → 高级选项 → 字幕配音调整,找到 配音后暂停秒,将其改为 0 即可消除等待。

只要出现start inference...快速完成,就是等待十几秒,才会出现StartInference

这是 配音后暂停秒 设置导致的。每条 TTS 请求完成后,软件会暂停设定的秒数再发起下一条,你的日志中单条推理仅需1-3秒,但两次 “start inference” 间隔十几秒,正是这个暂停在起作用。

解决方法:

进入 菜单 → 工具/选项 → 高级选项 → 字幕配音调整,将 配音后暂停秒 的值改为 0,然后保存。此后每条配音将连续推理,不再有额外等待。

请查阅相关文档:

我已经调整为0了,还是特别慢

根据你补充的日志,每条推理仅需1-3秒,但两条“start inference”之间确有十几秒间隔。这说明等待并非来自推理本身,而是软件在其他环节产生了阻塞。可能性集中在以下几个方面:

  1. “移除字幕间静音”或“对齐字幕声音”
    如果你在“设置更多参数”中开启了这些选项,每生成一条配音后,软件会立即执行音画对齐处理(包括截取、变速、拼接等,可能涉及ffmpeg),这会消耗额外时间。请检查并取消勾选这些选项。
  2. “二次识别”
    主界面右上角的“二次识别”会在每条配音生成后再次进行ASR转录以生成对齐字幕,该步骤极耗时间。请关闭。
  3. “分离人声背景声”
    如果开启了人声背景分离,也会在配音后重新混合背景音造成等待。需在“设置更多参数”中取消。
  4. 临时文件读写或缓存清理
    检查高级选项中是否启用了“保留每条字幕的配音文件”,或者每次配音后清理临时缓存的速度较慢。可尝试在“菜单→工具→高级选项→字幕配音调整”中关闭“保留每条字幕的配音文件”。

如果是批量为字幕配音(独立工具),上述部分选项不适用。最简单的排查方法是:打开软件根目录下 logs/ 中的最新日志文件,找到这两条“start inference”之间的记录,复制报错或进度信息,这样能精准定位等待的来源。

如果实现中英文字幕,如何设置

要实现中英双语字幕,请在主界面勾选 嵌入硬字幕(双)嵌入软字幕(双),同时确保“发音语言”和“目标语言”分别设为一种中文(如简体中文)和英文。具体步骤:1. 在主界面“翻译视频或音频”区域,将发音语言设为视频实际语言,目标语言设为另一种(如英文→简体中文)。2. 在字幕嵌入类型处选择双语硬字幕(永久嵌入画面)或双语软字幕(独立轨道,播放器可开关)。3. 若需要自定义字幕样式,可在“设置更多参数”中点击修改硬字幕样式调整字体、颜色等。如果在生成后只显示单语,请检查“发音语言”或“目标语言”是否正确,并确认翻译渠道未中断。

我打算不需要二次断句,只需要一次就可以了,我问下,参数设置多少最合适,我感觉默认的,断句太碎

不要二次断句,可通过调整 ASR 断句参数让字幕更连贯(减少碎句)。推荐进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数,按以下设置:

  • 最长语音持续秒数:设为 8 ~ 10(默认通常为6,增大可减少强制分割)
  • 静音分割持续毫秒:设为 500 ~ 800(越大,仅当静音足够长时才切分,可减少碎句)
  • 最短语音持续毫秒:保持 1000 ~ 2000(合并过短字幕,避免单字/半秒字幕)
  • 合并过短字幕到邻近:勾选(如果希望自动合并短句,保持勾选)
  • Whisper预分割音频?:取消勾选(预分割本身会切碎音频,取消后让模型自行断句,句子可能更长、更连贯)

以上调整同时适用于 Faster-Whisper 和 OpenAI-Whisper 等本地模型,生效后一次识别即可得到较连贯的字幕,无需二次识别。

弹出倒计时窗口,我想人工修正,但是这个窗口一直现在最前面,无法最小化,太碍眼了

这是交互式编辑窗口的默认模态行为,无法最小化或取消置顶。如果需要快速完成人工修正而不被窗口卡住,建议:进入 菜单 → 工具/选项 → 高级选项 → 通用设置,将 单视频交互翻译暂停倒计时 设为 0。这样处理单个视频时将完全跳过编辑窗口,不再弹出,直接进入后续步骤。如果你仍希望在必要时手动修正字幕,可将倒计时设为一个较短的值(如 5 秒),倒计时结束后窗口自动关闭,此时可在窗口弹出期间快速修改并等待自动关闭。

希望这个优化一下,毕竟人工二次校正才是主要的,机翻错误太多

理解你的需求。当前版本的交互式编辑窗口是模态的(必须在前台操作,无法最小化),这是已知的设计局限。如果需要更灵活的人工编辑流程,可参考以下替代方案:

方案一:使用本地已有字幕文件(推荐手动修改)

  1. 先单独运行“批量语音转字幕”功能,得到初始SRT字幕文件。
  2. 用任意文本编辑器或字幕编辑软件(如Subtitle Edit、Aegisub)手动修正所有错误。
  3. 修改完成后,将SRT字幕按 第13节 使用已有的SRT字幕文件 放置到 _video_out/视频名-mp4/ 目录下(分别命名为 en.srt 和对应目标语言代码的 .srt 文件)。
  4. 随后在主界面选择视频,勾选“清理已生成”,软件将直接使用你的修正字幕,跳过ASR和翻译步骤,仅执行配音和合成。

方案二:单视频交互中快速修改倒计时

  • 在“高级选项→通用设置”中,将 单视频交互翻译暂停倒计时 设为较大值(如 300 秒),窗口弹出后你有足够时间修改,修改完等待自动关闭或手动点确定即可。虽不能最小化,但可以移动窗口到屏幕边缘。

关于功能改进建议

你希望的“编辑窗口可最小化/后台操作”是合理的需求。我会将此反馈转达给开发者。目前建议优先使用方案一,先导出字幕在外部工具中高效编辑,再回导至软件处理。这样既能保证质量,又不受窗口限制。

如需进一步协助,请提供日志或具体错误信息。

Whisper预分割音频?: 我问了好几次,有时候说开启,有时候说关闭好,我也不知道怎么办了,我现在用的是V3-TURBO模型,

根据你的需求,明确建议:关闭 “Whisper预分割音频”。开启此选项后,软件会先将音频强制切成短句再送入模型,适合声音克隆(clone)时需要每条字幕时长在3-10秒。但你没有使用 clone 角色,且希望字幕更连贯、碎句更少,关闭预分割可让 Whisper 模型自行判断句子边界,得到更自然的整句字幕。补充:关闭预分割后,需同时确保“最长语音持续秒数”设为 8~10、“静音分割持续毫秒”设为 500~800,以进一步减少强制切断。这样配合 V3-TURBO 模型即可获得一次性的高质量连贯字幕,无需二次断句。

我在问一下,V3和v3 turbo 模型识别率能差多少,还有智能分割,我现在是3060ti显卡,推荐用哪个模型,

关于 V3 和 V3 turbo 的识别率差异:V3 (large-v3) 是最大、最准确的版本,尤其在复杂背景音、口音、多语言混合场景下效果最好,但推理速度较慢、显存消耗高。V3 turbo 是优化速度的轻量化版本,识别率略低于 large-v3(通常相差 5%~10% 左右),但在大多数常见条件下(清晰语音、单一语言)差异不显著,适合显存有限的显卡。针对你的 3060Ti(通常 8GB 或 12GB 显存):推荐选择 V3 (large-v3) 模型,因为 3060Ti 的显存足够运行 large-v3(12GB 版本更稳妥),能获得最佳识别准确率。若使用中遇到显存不足报错,再降级为 V3 turbo 或 medium。关于“智能分割”:软件中不存在名为“智能分割”的独立开关,你提到的可能是“Whisper预分割音频?”选项。该选项开启后会在模型识别前预先将音频切成片段,适合声音克隆(clone)时保证参考音频时长,但会导致字幕较碎。若你追求一次识别的连贯性(不多次断句),建议关闭此选项。相关建议:进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数,关闭“Whisper预分割音频?”,并将“最长语音持续秒数”设为 8 ~ 10、“静音分割持续毫秒”设为 500 ~ 800,即可在保持 large-v3 高准确率的同时获得自然整句字幕。

我才我试了一下,声音感觉是画面同步,但是字幕没有,如果声音比较长,字幕会提前消失

字幕提前消失的原因是:翻译后的配音时长超过原始语音时长,而字幕时间轴仍沿用原始语速的起止时间,因此配音未播完字幕已消失。解决方法:在主界面右上角勾选二次识别(仅适用于单硬字幕)。该选项会在配音完成后对配音文件再次进行 ASR 转录,生成与配音精确对齐的新字幕,从而消除时长偏差。确保字幕类型选为嵌入硬字幕(单硬字幕)。若已勾选二次识别仍无效,检查是否同时开启了音频加速或视频慢速,两者会改变原始时间轴,可能与二次识别冲突。建议仅保留二次识别,其余同步选项取消。请查阅相关文档:视频翻译中的配音、字幕、画面同步对齐

Post Your Reply
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.

Related resource