#8278 上传的中文视频是一分钟但是翻译出来的英语视频是10秒钟少去了很多部分与精彩画面这是什么问题

140.235**6 Posted at: 20 days ago

上传的中文视频是一分钟但是翻译出来的英语视频是10秒钟少去了很多部分与精彩画面这是什么问题

7 Replies

#1 DeepSeek reply at 20 days ago

这不是翻译过程"丢了内容",而是最终合成阶段视频画面轨道被压缩/截断了——画面时长与配音、字幕的时间轴没有正确对应,属于 FFmpeg 合成输出的时间轴问题,而非识别或翻译环节出错。

常见触发原因(按可能性排序):

  1. 原始视频是可变帧率(VFR)或视频流/音频流时长不一致
    某些录屏、手机拍摄或网页下载的视频,画面轨与音轨时长不同(例如画面轨元数据只有 10 秒、音轨 1 分钟,或时间戳缺失)。合成时按画面轨时长输出,就会表现为"只剩 10 秒"。
  2. 原始视频为多片段拼接 / 分片 MP4,FFmpeg 只正确读取了第一段。
  3. 硬件编码器(NVENC/QSV/AMF)在该视频上输出异常,回退不完整。

排查与解决步骤:

  1. 确认原视频:用播放器查看画面是否完整播放 1 分钟;或命令行执行
    ffprobe -show_streams 你的视频.mp4,分别看 video 流的 duration/nb_frames 与 audio 流的 duration 是否一致。若画面轨本身就只有 10 秒,则问题在源文件,与软件无关。
  2. 打开 菜单 → 工具/选项 → 高级选项 → 视频输出控制(Video Output):

    • 将 可变帧率vfr / 固定帧率cfr 切换一次(当前是 vfr 就改 cfr,反之亦然),保存后勾选主界面 清理已生成 重新翻译。
    • 勾选 强制软编码视频?(速度慢但兼容性好,可排除硬件编码导致的时间轴异常)。
  3. 改用 输出视频格式(mp4/mkv) 中的另一项(如 mp4 换 mkv)再试一次,用于验证是否为封装问题。
  4. 若原视频可被截取,先用格式转换工具(菜单 → 工具 → 音视频格式转换)重新转一遍标准 H.264/MP4 固定帧率文件,再导入翻译,多数此类问题可规避。

如果按以上操作后输出时长仍异常,暂无法确定具体原因。请提供:

  • 软件版本号(主界面左上角)、Windows 版本、是否为源码部署;
  • 软件目录 logs/ 下当日日志文件底部约 30 行;
  • 原始视频 ffprobe -show_streams 的输出结果。

请查阅相关文档:

#2 140.235**8 reply at 20 days ago

软件版本号(V4.16)、Windows 11、是否为源码部署
当日日志文件底部约 30 行;
[DEBUG] [Video-Concat] 合并 5 个视频片段 -> D:/pyVideoTrans/tmp/10000/7420d69b50/merged_video.mp4
[DEBUG] 共删除了 5 个临时视频切片
[DEBUG] 新视频连接生成完毕,实际总时长: 11133ms
[DEBUG] [音频加速] 使用12个进程,处理 35 个配音片段
[DEBUG] [rubberband]字幕0 配音时长:870ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕1 配音时长:1500ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕2 配音时长:2080ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕3 配音时长:1790ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕4 配音时长:2820ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕6 配音时长:2650ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕5 配音时长:3390ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕8 配音时长:3190ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕10 配音时长:2750ms, 目标时长:2533ms 倍率:1.09
[DEBUG] [rubberband]字幕7 配音时长:3440ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕11 配音时长:2880ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕12 配音时长:1380ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕13 配音时长:1810ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕14 配音时长:3140ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕15 配音时长:2520ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕16 配音时长:2530ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕17 配音时长:2830ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕18 配音时长:1920ms, 目标时长:1550ms 倍率:1.24
[DEBUG] [rubberband]字幕19 配音时长:2340ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕20 配音时长:2250ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕21 配音时长:770ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕22 配音时长:3120ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕23 配音时长:970ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕24 配音时长:2720ms, 目标时长:2316ms 倍率:1.17
[DEBUG] [rubberband]字幕25 配音时长:4850ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕26 配音时长:2380ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕27 配音时长:1590ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕28 配音时长:2090ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕29 配音时长:2600ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕30 配音时长:3680ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕31 配音时长:2100ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕32 配音时长:2840ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕33 配音时长:4160ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕34 配音时长:2680ms, 目标时长:2266ms 倍率:1.18
[DEBUG] 第0条字幕原始左偏移值: self.audio0_left_pad=300
[DEBUG] 连接音频前,配音音频总时长累计: _total_ms=11131ms , self.raw_total_time=11133ms
[DEBUG] 变速处理后,音频片段连接前, 配音总时长: 11133ms, 视频总时长: 11133ms
[DEBUG] 音频片段连接后,实际时长 11133ms, 已生成到: D:/pyVideoTrans/tmp/10000/7420d69b50/target.wav

[DEBUG] 最终合并视频前:音频时长 11133ms, 视频时长: 11133ms
[DEBUG] [最终视频合成]copy模式,无需重新编码:
['-y', '-progress', 'compose1792399868.0339327.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-map', '0:v', '-map', '1:a', '-c:v', 'copy', '-c:a', 'copy', '-movflags', '+faststart', '-r', '60.0', '-fps_mode', 'cfr', 'laste_target.mp4']

#3 DeepSeek reply at 20 days ago

根因不在翻译,而在语音识别阶段生成的 SRT 时间轴被严重压缩:日志中绝大多数行都是 目标时长:1ms 倍率:50.00,说明每条字幕的「结束时间 − 开始时间」只有 1 毫秒;同时 合并 5 个视频片段 后 实际总时长: 11133ms,即整个字幕/配音/画面时间轴只剩 11.1 秒。对齐引擎只能按 1ms 计算并对配音做 50 倍(上限)提速,画面切片也随之被压缩到 11 秒,最终就输出了 10 秒视频。

35 条字幕挤在 11 秒内,是典型的 VAD 过度切分 / 时间轴生成异常。

处理步骤

1. 先确认问题出在识别环节
打开输出目录 _video_out/你的视频名-mp4/,用记事本打开发音语言字幕(如 zh-cn.srt),看最后一条字幕的结束时间。若约等于 00:00:11,则确认是识别时间轴异常,与翻译/配音无关。

2. 恢复 VAD 默认参数(最关键)
菜单 → 工具/选项 → 高级选项 → 语音识别参数:

  • 最长语音持续(VAD:max speech duration(s)):5
  • 最短语音持续(VAD:min speech duration(ms)):3000
  • 静音分割持续(VAD:silence duration for split(ms)):600

注意:最长语音持续(秒) × 1000 必须大于最短语音持续(毫秒),否则切分逻辑会冲突,产生大量近 0 时长片段。

3. 关闭可能扰乱时间轴的选项

  • 若勾选了 LLM纠错 下的 使用LLM重新断句替代LLM纠错,先取消,改用普通 LLM纠错(重新断句若模型返回格式不符,会破坏条数与时间轴对应关系)。
  • 若软件根目录(sp.exe 所在文件夹)中手动创建过 no_resegment.txt,请删除。

4. 重新识别
回到主界面勾选 清理已生成,再点开始执行,避免复用上一步错误的时间轴缓存。

5. 附带检查对齐上限设置
高级选项 → 字幕声音画面对齐 → 音频加速最大倍数,默认应为 100。若被改成 50 等较小值,会把配音强行加速到上限,进一步恶化观感。

若按上述操作后仍出现 目标时长:1ms

暂无法确定具体原因,请提供:

  1. 本次生成的发音语言 SRT 文件内容(前 3 条 + 最后 1 条的时间码);
  2. 所选语音识别渠道及模型名称、是否勾选了降噪/分离人声背景声/分离说话人;
  3. 重新翻译后 logs/ 下当日日志底部约 30 行(含本次 [rubberband] 与 总时长 记录)。

请查阅相关文档:

#4 140.235**8 reply at 20 days ago

1.时间码
1
00:00:00,300 --> 00:00:01,266
2
00:00:01,266 --> 00:00:02,533
你竟然好这口啊

3
00:00:02,533 --> 00:00:04,166
各位观众老爷们大家好啊
35
00:00:59,400 --> 00:01:01,600
这就是他从奥特曼片场带来的习惯
2.没有勾选降噪/分离人声背景声/分离说话人
3.[DEBUG] [Video-Concat] 合并 13 个视频片段 -> D:/pyVideoTrans/tmp/29192/7420d69b50/merged_video.mp4
[DEBUG] 共删除了 13 个临时视频切片
[DEBUG] 新视频连接生成完毕,实际总时长: 27403ms
[DEBUG] [音频加速] 使用12个进程,处理 35 个配音片段
[DEBUG] [rubberband]字幕0 配音时长:870ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕1 配音时长:1500ms, 目标时长:1266ms 倍率:1.18
[DEBUG] [rubberband]字幕3 配音时长:1790ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕2 配音时长:2080ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕5 配音时长:3390ms, 目标时长:3043ms 倍率:1.11
[DEBUG] [rubberband]字幕6 配音时长:2650ms, 目标时长:2305ms 倍率:1.15
[DEBUG] [rubberband]字幕4 配音时长:2820ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕8 配音时长:3190ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕7 配音时长:3440ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕9 配音时长:2410ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字
......
ms 倍率:50.00
[DEBUG] [rubberband]字幕10 配音时长:2750ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕12 配音时长:1380ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕13 配音时长:1810ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕14 配音时长:3140ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕15 配音时长:2520ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕16 配音时长:2530ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕17 配音时长:2830ms, 目标时长:2242ms 倍率:1.26
[DEBUG] [rubberband]字幕18 配音时长:1920ms, 目标时长:1538ms 倍率:1.25
[DEBUG] [rubberband]字幕19 配音时长:2340ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕20 配音时长:2250ms, 目标时长:1989ms 倍率:1.13
[DEBUG] [rubberband]字幕22 配音时长:3120ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕23 配音时长:970ms, 目标时长:933ms 倍率:1.04
[DEBUG] [rubberband]字幕24 配音时长:2720ms, 目标时长:2306ms 倍率:1.18
[DEBUG] [rubberband]字幕25 配音时长:4850ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕26 配音时长:2380ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕27 配音时长:1590ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕28 配音时长:2090ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕29 配音时长:2600ms, 目标时长:2266ms 倍率:1.15
[DEBUG] [rubberband]字幕30 配音时长:3680ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕31 配音时长:2100ms, 目标时长:1643ms 倍率:1.28
[DEBUG] [rubberband]字幕32 配音时长:2840ms, 目标时长:2303ms 倍率:1.23
[DEBUG] [rubberband]字幕33 配音时长:4160ms, 目标时长:3313ms 倍率:1.26
[DEBUG] [rubberband]字幕34 配音时长:2680ms, 目标时长:2250ms 倍率:1.19
[DEBUG] 第0条字幕原始左偏移值: self.audio0_left_pad=300
[DEBUG] 连接音频前,配音音频总时长累计: _total_ms=27397ms , self.raw_total_time=27403ms
[DEBUG] 变速处理后,音频片段连接前, 配音总时长: 27403ms, 视频总时长: 27403ms
[DEBUG] 音频片段连接后,实际时长 27403ms, 已生成到: D:/pyVideoTrans/tmp/29192/7420d69b50/target.wav

[DEBUG] 最终合并视频前:音频时长 27403ms, 视频时长: 27403ms
[DEBUG] [最终视频合成]copy模式,无需重新编码:
['-y', '-progress', 'compose1792407616.6641102.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-map', '0:v', '-map', '1:a', '-c:v', 'copy', '-c:a', 'copy', '-movflags', '+faststart', '-fps_mode', 'vfr', 'laste_target.mp4']

#5 DeepSeek reply at 20 days ago

问题已定位,与翻译、识别无关,在于画面切片(对齐)阶段截取失败:

  • 你提供的 SRT 时间码正常(最后一条到 00:01:01,600,约 61.6 秒),内容没有缺失。
  • 但日志显示:合并 13 个视频片段 ... 实际总时长: 27403ms,最终成片只有 27.4 秒。
  • 同时大量 目标时长:1ms 倍率:50.00,说明这些字幕行在按时间轴从原视频截取画面时,切片时长被算成 0~1ms。对齐引擎会丢弃低于 40ms 的片段(MIN_CLIP_DURATION_MS = 40),所以 35 条字幕只有 13 个切片被成功截出,其余画面被整段丢掉,成片由此变短。
  • 两次运行一次 11.1 秒、一次 27.4 秒,结果不同,这是典型的源视频时间戳/可变帧率(VFR)异常导致 FFmpeg 按时间定位(seek)不准,属切片定位失败,并非固定逻辑错误。

处理步骤(按优先级)

  1. 先把原视频重新编码为标准 CFR H.264/MP4,再翻译(最可能有效)
    打开 菜单 → 工具 → 音视频格式转换,将该视频转换为 MP4(H.264 + 固定帧率 AAC),输出后用新文件重新翻译。
    这一步会把不连续的时间戳重写为规整时间轴,绝大多数切片错位由此消除。
  2. 改一次帧率模式
    菜单 → 工具 → 高级选项 → 视频输出控制:把 可变帧率vfr/固定帧率cfr 切换(日志中本次为 vfr,改成 cfr 再试),并勾选 强制软编码视频?,排除硬编码干扰。
  3. 减少碎片切片数量,降低失败概率
    高级选项 → 语音识别参数:

    • 最长语音持续(秒):6(原 5 略小,1 分钟出 35 条偏碎)
    • 最短语音持续(毫秒):3500
    • 静音分割持续(毫秒):600
      注意:最长(6)×1000 必须大于最短(3500),且若后续要用 clone 音色,最短不要低于 3000ms。
  4. 不要复用旧缓存
    主界面勾选 清理已生成 后重新执行;同时确认未勾选 视频慢速(该功能会额外切片重编码,放大此问题)。
  5. 确认源文件本身完整
    CMD 执行:ffprobe -show_streams -show_format "你的视频.mp4",看 video 流的 duration、r_frame_rate、avg_frame_rate 是否一致,以及是否与 audio 流时长相差很大。若画面流本身时长就只有 20~30 秒,则问题在源文件。

若按上述操作(尤其是第 1 步重新编码)后仍出现 目标时长:1ms 且成片明显短于原片,请把以下内容反馈给开发者:

  • 本次生成的发音语言 SRT 全文(含全部时间码);
  • ffprobe -show_streams -show_format 的完整输出;
  • logs/ 当日日志中 [Video-Concat] 前后各约 40 行。

请查阅相关文档:

#6 140.235**5 reply at 20 days ago

1.SRT 全文:1
00:00:00,300 --> 00:00:01,266
啊田口

2
00:00:01,266 --> 00:00:02,533
你竟然好这口啊

3
00:00:02,533 --> 00:00:04,166
各位观众老爷们大家好啊

4
00:00:04,166 --> 00:00:05,366
这里是浮云诗人

5
00:00:05,366 --> 00:00:06,733
今天我要聊的作品是

6
00:00:06,733 --> 00:00:09,466
克雷瓦提斯魔兽之王与婴儿与狮之

7
00:00:09,466 --> 00:00:11,466
勇者以下简称狮之勇者

8
00:00:11,466 --> 00:00:13,300
而这回的导演是在我们特摄

9
00:00:13,300 --> 00:00:15,000
圈内从爱尔兰到契丹无人

10
00:00:15,000 --> 00:00:17,366
不知无人不晓的田口清隆

11
00:00:17,466 --> 00:00:19,733
不了解他的朋友只需要知道一件事

12
00:00:19,733 --> 00:00:21,900
他是圆谷目前的王牌导演之一

13
00:00:22,066 --> 00:00:22,733
泽塔奥特曼和

14
00:00:22,733 --> 00:00:24,600
布莱泽奥特曼就是他拍的

15
00:00:24,600 --> 00:00:26,400
而他第一次跨界到动漫

16
00:00:26,400 --> 00:00:27,900
领域交出的这份答卷

17
00:00:27,900 --> 00:00:30,266
我个人认为是稳稳的佳作

18
00:00:30,266 --> 00:00:31,966
本座的舞台设在异世界

19
00:00:31,966 --> 00:00:33,166
而只要是异世界

20
00:00:33,
......

[DEBUG] [rubberband]字幕11 配音时长:2880ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕14 配音时长:3140ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕15 配音时长:2520ms, 目标时长:2000ms 倍率:1.26
[DEBUG] [rubberband]字幕16 配音时长:2530ms, 目标时长:2366ms 倍率:1.07
[DEBUG] [rubberband]字幕17 配音时长:2830ms, 目标时长:2266ms 倍率:1.25
[DEBUG] [rubberband]字幕18 配音时长:1920ms, 目标时长:1ms 倍率:50.00
[DEBUG] [rubberband]字幕19 配音时长:2340ms, 目标时长:2033ms 倍率:1.15
[DEBUG] [rubberband]字幕20 配音时长:2250ms, 目标时长:2000ms 倍率:1.12
[DEBUG] [rubberband]字幕21 配音时长:770ms, 目标时长:700ms 倍率:1.10
[DEBUG] [rubberband]字幕22 配音时长:3120ms, 目标时长:2633ms 倍率:1.18
[DEBUG] [rubberband]字幕23 配音时长:970ms, 目标时长:950ms 倍率:1.02
[DEBUG] [rubberband]字幕24 配音时长:2720ms, 目标时长:2316ms 倍率:1.17
[DEBUG] [rubberband]字幕25 配音时长:4850ms, 目标时长:4016ms 倍率:1.21
[DEBUG] [rubberband]字幕26 配音时长:2380ms, 目标时长:1866ms 倍率:1.28
[DEBUG] [rubberband]字幕27 配音时长:1590ms, 目标时长:1433ms 倍率:1.11
[DEBUG] [rubberband]字幕28 配音时长:2090ms, 目标时长:1900ms 倍率:1.10
[DEBUG] [rubberband]字幕29 配音时长:2600ms, 目标时长:2266ms 倍率:1.15
[DEBUG] [rubberband]字幕31 配音时长:2100ms, 目标时长:1666ms 倍率:1.26
[DEBUG] [rubberband]字幕30 配音时长:3680ms, 目标时长:2900ms 倍率:1.27
[DEBUG] [rubberband]字幕32 配音时长:2840ms, 目标时长:2316ms 倍率:1.23
[DEBUG] [rubberband]字幕33 配音时长:4160ms, 目标时长:3333ms 倍率:1.25
[DEBUG] [rubberband]字幕34 配音时长:2680ms, 目标时长:2266ms 倍率:1.18
[DEBUG] 第0条字幕原始左偏移值: self.audio0_left_pad=300
[DEBUG] 第0条字幕需恢复偏移值:_start_time=300
[DEBUG] 连接音频前,配音音频总时长累计: _total_ms=50657ms , self.raw_total_time=50666ms
[DEBUG] 变速处理后,音频片段连接前, 配音总时长: 50666ms, 视频总时长: 50666ms
[DEBUG] 音频片段连接后,实际时长 50666ms, 已生成到: D:/pyVideoTrans/tmp/29192/d1bee127ab/target.wav

[DEBUG] 最终合并视频前:音频时长 50666ms, 视频时长: 50666ms
[DEBUG] [最终视频合成]copy模式,无需重新编码:
['-y', '-progress', 'compose1792408453.7414682.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-map', '0:v', '-map', '1:a', '-c:v', 'copy', '-c:a', 'copy', '-movflags', '+faststart', '-r', '60.0', '-fps_mode', 'cfr', 'laste_target.mp4']

#7 DeepSeek reply at 20 days ago

结论:问题不在翻译;真正的原因是对齐阶段把部分字幕行的“可用时长”算成了 1 毫秒。

依据你的日志:

  • 你贴的 SRT 时间码正常,末条一直到 61.6 秒,内容连续无缺失;
  • 本次音频与视频总时长一致(50666ms / 50657ms),说明合成阶段没有截断错误;
  • 但成片只有 50.6 秒,比原片 61.6 秒少约 11 秒,同时存在多条 目标时长:1ms 倍率:50.00(字幕 11、14、18 等)。

对齐引擎会按每条字幕的“目标时长”重新排布时间轴。这些被算成 1ms 的行,其配音会被强行加速到上限 50 倍(剩约 20ms),对应画面切片也因低于 40ms 被直接丢弃,于是时间轴整体从 61.6 秒压到 50.6 秒。画面并没有被删除,而是这些片段的定位时长算错了,被丢弃了。这是 v4.16 对齐逻辑的缺陷,不是你的操作问题。

立即规避(按顺序做,前 3 步最有效)

  1. 关掉静音移除(最可能消除 1ms)
    菜单 → 工具/选项 → 高级选项 → 字幕配音:

    • 取消勾选 移除每条字幕配音开头结尾静音缓冲
    • 取消勾选 移除每条字幕配音全部静音缓冲
    • 静音移除力度 设为 low
      这些选项会缩短配音并重算时间轴,容易把相邻字幕的可用窗口挤压成 0~1ms。
  2. 修正加速上限
    高级选项 → 字幕声音画面对齐 → 音频加速最大倍数:当前被设成了 50,改回默认 100。
  3. 给相邻字幕留出间隙
    打开 _video_out/你的视频名-mp4/zh-cn.srt,把每一行的结束时间统一提前约 150ms,保证下一条开始时间与上一条结束时间不重叠、且留有空隙(例如 00:00:19,733 改为 00:00:19,580)。
    改动后回主界面,不要勾选 清理已生成,直接重新执行,让软件使用你改过的 SRT。
    (也可以在单视频模式下,在弹出的字幕编辑窗口逐条调整,但改文件更快。)
  4. A/B 验证,确认故障环节
    用主界面右侧的 导入发音语言字幕 直接导入上一步修正后的 SRT,跳过语音识别再跑一次:

    • 若不再出现 目标时长:1ms → 问题在“识别结果 → 对齐”这段内部处理;
    • 若仍出现 → 问题在“对齐引擎”本身。
      这个结果对定位缺陷很关键。
  5. 其他确认项

    • 不要勾选 视频慢速(会额外切片重编码,放大此问题),只用 音频加速;
    • 主界面勾选 清理已生成 时,注意它会删除你手工改过的 SRT,改好的字幕不要放在会被清理的目录里重跑。

补充说明:你的原识别结果还有断句与错别字问题(如第 9、10 条被切断、个别词识别错),可选中 LLM纠错(不要选 使用LLM重新断句替代LLM纠错)改善,但这与本次画面变短无关。

若按第 1~3 步操作后,成片时长与 目标时长:1ms 现象依旧
请把以下三样直接反馈开发者(这是明确的 v4.16 缺陷证据):

  • 完整 SRT 原文(含全部时间码)
  • logs/ 当日日志中 [Video-Concat] 前后各约 40 行
  • CMD 执行 ffprobe -show_streams -show_format "你的视频.mp4" 的完整输出

临时可用替代:若有旧版本(如 v4.14 安装包)可先用于该视频,或将该视频先用 菜单 → 工具 → 音视频格式转换 重编码为标准 H.264/MP4 固定帧率再翻译,部分情况下可减轻切片定位偏差。

请查阅相关文档:

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