#4139 二次语音识别,识别出的字幕的字数有什么需要注意的吗

103.172* Posted at: 2 hours ago 👁19

二次语音识别,识别出的字幕的字数有什么需要注意的吗

9 Replies

二次识别生成的字幕长度主要受原始配音音频的语速和内容密度影响,通常会更贴合配音的实际时长。为了获得更简短、更适合视频显示的字幕,可以调整首次语音识别的参数来“预切割”出较短的片段。

具体操作步骤如下:

  1. 进入 菜单 -> 工具/选项 -> 高级选项
  2. 找到 【语音识别参数】 区域。
  3. 调整 最长语音持续秒数 为一个较小的值(例如 34),这会让首次识别时强制分割出更短的语音片段,从而生成更短的字幕。
  4. 在视频翻译主界面,确保已选中 二次识别 选项。

这样,软件会先基于较短的片段生成配音,再对配音音频进行二次识别,最终得到的字幕在时长和字数上都会更紧凑。

请查阅相关文档:

翻译术语表怎么不起作用了,版本3.99

翻译术语表功能在v3.99版本中可能存在已知问题。请先尝试以下步骤进行排查和解决:1. 确认术语表格式:术语表应为纯文本文件,每行一个术语对,格式为 源语言术语=目标语言术语。2. 检查文件路径:确保术语表文件路径不包含中文字符或特殊符号,且路径不宜过长。3. 重新下载完整包:如果是从旧版本升级到v3.99,请从官网重新下载完整的v3.99软件包,解压后覆盖运行,以确保所有文件均为最新版本。4. 检查日志:如果问题依旧,请查看软件根目录下 logs 文件夹中当天的日志文件,复制底部约30行报错信息以便进一步分析。如果上述步骤无法解决,这可能是v3.99版本的一个待修复的bug。您可以关注官方更新或暂时回退到v3.98版本。请查阅相关文档:免费下载pyVideoTrans视频翻译软件

[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -i C:\Users\Admin\AppData\Local\Temp\gradio\6453602fbf795527c743594f614e682db03d6b5927bacacdb8e5f2d115deb0e5\spk_1776497060.wav -ar 48000 -ac 2 -c:a pcm_s16le D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/dubb-9.wav

[DEBUG] [字幕配音]渠道11:共耗时:49s
[DEBUG] [SpeedRate] Init. AudioRate=False, VideoRate=False, Rubberband=True
[DEBUG] [SpeedRate] 未启用变速,进入普通拼接模式。
[DEBUG] concat_txt='D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/final_audio_concat.txt',filelist[0]='D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/silence_gap_0.wav'
[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -f concat -safe 0 -i D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/final_audio_concat.txt -c:a copy D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/final_audio_temp.wav

[DEBUG] [Audio-Concat] 最终音频已生成: D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/target.wav
[DEBUG] 跳过二次识别, 因设置了嵌入双字幕,二次识别后双字幕时间戳将无法保持一致,因此跳过:self.cfg.subtitle_type=4
[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -i D:/_Output/片段02.mp4 -vn -b:a 128k -c:a aac D:/_Output/_video_out/片段02-mp4/en.m4a

[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -i target.wav -ac 2 -b:a 128k -c:a aac origin_audio.m4a

[DEBUG]


==准备要嵌入的字幕:self.cfg.subtitle_type=4
=
[DEBUG] 最终确定字幕嵌入类型:4 ,目标字幕语言:chi, 字幕文件:D:/win-pyvideotrans-v3.99/tmp/2752/770e19c827/shuang.srt

[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -i novoice.mp4 -vf tpad=stop_mode=clone:stop_duration=2.370 -c:v libx264 -crf 23 -preset veryfast -an final_video_with_freeze_lastend.mp4

[DEBUG] 视频定格应延长2370ms,实际向上取整秒延长2.37s,操作成功。
[DEBUG] 原始hw_type='hevc_nvenc'
[DEBUG] 整理后hw_type='nvenc'
[DEBUG] [尝试硬件编解码执行命令]
-y -progress compose1776497082.9597092.txt -hwaccel cuda -hwaccel_output_format cuda -i novoice.mp4 -i origin_audio.m4a -i shuang.srt -map 0:v -map 1:a -map 2:s -c:v hevc_nvenc -c:a copy -c:s mov_text -metadata:s:s:0 language=chi -cq 23 -preset p2 -movflags +faststart -t 30.733000 laste_target.mp4

日志显示,在处理过程中,软件检测到您设置了“嵌入双字幕”(self.cfg.subtitle_type=4),因此自动跳过了二次识别步骤。这是软件的预期行为,并非功能失效。

原因:当选择嵌入双字幕(无论是双硬字幕还是双软字幕)时,软件为了保证原始语言字幕和目标语言字幕的时间轴完全一致,会禁用二次识别。因为二次识别会基于配音音频生成全新的时间轴,这将导致原始字幕和目标字幕的时间戳无法对齐。

解决方案

  1. 如果必须使用双字幕:请接受当前结果。为了提升字幕与配音的同步性,您可以:

    • 在主界面调整 配音语速 值(例如设为 10),使配音时长更接近原声。
    • 同时勾选 配音加速视频慢速,强制对齐音画。
  2. 如果更看重字幕与配音的精确对齐:请将 嵌入字幕 选项改为 嵌入单字幕(例如“嵌入硬字幕”或“嵌入软字幕”),然后务必勾选“二次识别”。这样软件会在配音后重新识别,生成与配音完全同步的字幕。

相关设置位置

  • 嵌入字幕类型:在主界面“同步对齐”行右侧的下拉列表中。
  • 二次识别:在主界面“同步对齐”行左侧的复选框。
  • 配音语速/加速/慢速:在主界面“同步对齐”行。

请查阅相关文档:

我的问题是术语表失效,查找原因

术语表失效的可能原因及排查步骤如下:1. 检查术语表文件格式:确保是纯文本文件(.txt),每行格式为 源语言术语=目标语言术语,例如 apple=苹果。2. 检查术语表文件路径:文件路径应避免中文和特殊符号,且不宜过长。建议将术语表文件直接放在软件根目录下。3. 确认翻译渠道:术语表功能主要作用于 AI 翻译渠道(如 OpenAI、DeepSeek 等)。如果您使用的是传统翻译渠道(如 Google、微软翻译),术语表可能不生效。4. 检查日志:在软件根目录的 logs 文件夹中,打开当天的日志文件,搜索“术语表”或“glossary”关键词,查看是否有相关加载或应用记录。5. 重新下载完整包:如果您是从旧版本升级到 v3.99,术语表功能可能存在兼容性问题。请从官网下载完整的 v3.99 软件包,解压到新目录后重试。如果以上步骤无法解决,请提供日志文件中关于术语表加载和应用的相关段落(约10-20行),以便进一步分析。请查阅相关文档:免费下载pyVideoTrans视频翻译软件

日志中没有“术语表”或“glossary”关键词

日志中没有“术语表”或“glossary”关键词,这表明术语表文件可能未被成功加载或应用。请按以下步骤排查:1. 确认术语表文件已正确关联:在视频翻译主界面,点击“翻译术语表”右侧的文件夹图标,重新选择您的术语表.txt文件。2. 验证文件内容与编码:用记事本打开术语表文件,确保内容为 源词=目标词 格式,并且文件编码为 UTF-8。3. 测试翻译渠道:术语表功能目前主要支持 AI 翻译渠道(如 OpenAI、DeepSeek、Claude 等)。请切换到任一 AI 翻译渠道进行测试。4. 检查高级设置:进入 菜单 -> 工具/选项 -> 高级选项 -> 【字幕翻译调整】,确保“发送完整字幕”选项未被勾选(某些情况下勾选此选项可能影响术语表注入)。5. 简化测试:创建一个最简单的术语表,例如仅包含一行 test=测试,并选择一个简短的视频片段,使用 AI 翻译渠道进行测试,观察“test”一词是否被替换为“测试”。如果问题依旧,这可能是 v3.99 版本的一个 bug。您可以暂时在 AI 翻译的“提示词”中手动添加术语替换要求,或关注后续版本更新。请查阅相关文档:使用AI翻译文档

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