#5826 可以识别出SRT,并进行翻译,但是有部分英文内容未能翻译语音识别 openai-whisper翻译渠道 Google 识别模型 large-v3

98.128* Posted at: 1 hour ago

可以识别出SRT,并进行翻译,但是有部分英文内容未能翻译
语音识别 openai-whisper
翻译渠道 Google
识别模型 large-v3

5 Replies

这是翻译阶段部分字幕行因网络限制或渠道响应失败被跳过导致的。

解决方案

  1. 检查网络及代理:Google翻译在国内需科学上网。若软件主界面未设置代理,请填入有效代理地址(格式如http://127.0.0.1:7890),或切换至微软翻译(无需代理,免费渠道)。
  2. 清除翻译缓存:关闭软件,删除 软件目录/tmp/translate_cache/ 下的所有文件,避免错误缓存影响结果。
  3. 降低翻译频率:进入菜单 → 工具 → 高级选项 → 字幕翻译调整,将传统翻译渠道每批字幕行数设为1翻译后暂停秒设为2~5,避免批量请求被限流。
  4. 查看日志定位失败行:打开logs/目录下最新日志文件,搜索"translate_srt error""skip",可看到具体未翻译的行号和原因(如网络超时、返回空等)。

若以上无效,请提供软件左上角版本号及logs/最新日志底部约30行报错内容以便进一步分析。

请查阅相关文档:

1.Google 可以正常访问
2.关闭软件后无tmp文件夹
3.无法再log中搜索到"translate_srt error"或"skip"
4.传统翻译渠道每批字幕行数设为1,翻译后暂停秒设为2~5 并不能解决问题

部分英文内容未能翻译,很可能是翻译渠道返回了空结果但未触发明确的错误日志,或者缓存中的错误结果被复用。请按以下步骤逐一排查:

  1. 清除翻译缓存
    尽管软件关闭后 tmp/ 文件夹可能被清理,但翻译缓存位于 tmp/translate_cache/ 目录。请重新打开软件,勾选主界面的清理已生成复选框,然后重新执行任务。这能强制删除缓存并重新翻译。
  2. 取消发送完整字幕
    Google 翻译在处理带行号和时间的完整字幕格式时,可能因格式解析异常而返回空行。请取消勾选发送完整字幕,让软件以纯文本逐行提交翻译。
    (设置位置:主界面第3行“Trans Channel”右侧的发送完整字幕复选框)
  3. 临时切换翻译渠道
    将翻译渠道改为微软翻译(免费、无需代理),重复测试。如果微软翻译正常,说明问题出在 Google 渠道的返回格式或限流,建议保持使用微软翻译。
  4. 检查日志中的异常行
    重新运行任务,在日志中搜索以下关键词:

    • translated result is empty
    • failed to translate
    • 或直接搜索未能翻译的英文片段(如“data”或“result”)。
      如有相关记录,请提供具体行数附近的上下文。
  5. 提供日志与版本号
    若上述方法仍无效,请打开 logs/ 目录下最新的日志文件(例如 20250625.log),复制底部约30行内容粘贴给我,同时告知软件左上角的完整版本号(例如 v4.05-0711)。

上述方法均无效
版本号为v4.05
[DEBUG] 返回缓存的编解码器 Windows-264: libx264
[DEBUG] 可用 Nvidia 显卡数: 1
[DEBUG] 找到 1 个 Nvidia GPUs, 耗时: 1s
[DEBUG] 返回缓存的编解码器 Windows-265: libx265

[DEBUG] start 9 jobs
[DEBUG] app_cfg.proxy=''
[DEBUG] 可以使用 huggingface.co
[DEBUG] [TransCreate]最终配置信息:self=TransCreate(uuid='8489a3f9aa', proxy_str=None, last_down_time=0, precent=1, hasend=False, should_recogn=True, should_trans=False, should_dubbing=True, should_separate=False, should_hebing=True, source_srt_list=[], target_srt_list=[], video_time=0.0, is_copy_video=False, video_codec_num=264, ignore_align=False, is_audio_trans=False, clone_ref='', cost_duration=1784056795.6074722, should_recogn2=False)
self.cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: C:/Users/xxxx/Downloads/30-Day Drawing Challenge Day 1 Practice Drawing Shapes - sk


(720p, h264).mp4,
输出结果保存到文件夹: C:/Users/xxxxx/Downloads/New folder (3)/30-Day Drawing Challenge Day 1 Practice Drawing Shapes - sk
(720p, h264)-mp4,
临时文件夹: C:/Users/xxxx/Downloads/win-pyvideotrans-v4.05-0711/tmp/25264/8489a3f9aa
已选 清理已存在
已选 启用CUDA加速
未选 降噪
语音识别:openai-whisper(本地内置), model_name: large-v3, 发音语言: 简体中文, 断句方式:默认断句
发音语言和目标语言相同,不翻译字幕
配音渠道:Edge-TTS(免费), 角色:Yunyang(Male/CN), 配音语言:简体中文, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: 不嵌入字幕
代理地址:
[DEBUG] The file info after process:result={'video_fps': 30.0, 'r_frame_rate': 30.0, 'video_codec_name': 'h264', 'audio_codec_name': 'aac', 'width': 1280, 'height': 720, 'time': 138066, 'streams_len': 2, 'streams_audio': 1, 'video_streams': 1, 'color': 'yuv420p'}
[DEBUG] runffmpeg:cmd=['ffmpeg', '-hide_banner', '-nostdin', '-ignore_unknown', '-threads', '0', '-y', '-fflags', '+genpts', '-i', 'C:/Users/wangy/Downloads/30-Day Drawing Challenge Day 1 Practice Drawing Shapes - sk
(720p, h264).mp4', '-an', '-c:v', 'copy', 'novoice.mp4']

[DEBUG] [新进程任务 开始:title='STT use large-v3']
[DEBUG] 新进程任务 参数:kwargs={'prompt': '', 'detect_language': 'zh-cn', 'model_name': 'large-v3', 'logs_file': 'C:/Users/wangy/Downloads/win-pyvideotrans-v4.05-0711/tmp/25264/8489a3f9aa/openai-zh-cn-1784056795.756015.log', 'is_cuda': True, 'no_speech_threshold': 0.6, 'condition_on_previous_text': False, 'speech_timestamps': None, 'audio_file': 'C:/Users/wangy/Downloads/win-pyvideotrans-v4.05-0711/tmp/25264/8489a3f9aa/zh-cn.wav', 'jianfan': True, 'audio_duration': 138136, 'temperature': '', 'compression_ratio_threshold': 2.4, 'max_speech_ms': 5000, 'device_index': 0}
[DEBUG] GPU进程池:max_workers=1
[DEBUG] openai-whisper模式下,传递完整音频由模型large-v3 输出字级时间戳
[DEBUG] 对字级时间戳进行组合断句
[DEBUG] 断句完毕,返回结果
[DEBUG] [新进程任务 title='STT use large-v3'] 已返回
[DEBUG] [新进程任务 结束:title='STT use large-v3'],耗时44.35214138031006s
[DEBUG] 移除无效字幕行
[DEBUG] 修正重叠时间轴
[DEBUG] 开始移除每条字幕末尾标点

根据日志分析,您的问题并非“翻译失败”,而是语音识别阶段未能识别出视频中的英文内容。因为您设置的发音语言是简体中文,而目标语言也是简体中文,所以软件跳过了翻译步骤(should_trans=False),直接对识别出的中文字幕进行配音。视频中的英文部分未被识别为有效字幕,因此最终输出中没有这些英文内容。

解决方案

  1. 正确设置发音语言:如果视频是中英混合,应将发音语言设为自动检测或明确设为English

    • 方法:在主界面第3行“Spoken Lang”下拉框中,选择English(英语)或auto(自动检测)。
    • 若设为English,Whisper模型会优先识别英文;若设为auto,模型会尝试自动判断语种,但可能将部分英文识别为中文。
  2. 调整目标语言:如果您希望保留中英双语字幕,可设置:

    • 发音语言:自动检测
    • 目标语言:简体中文
    • 这样会将识别的英文翻译为中文,同时保留原文(需选中“嵌入硬字幕”并勾选“双”)。
  3. 重新运行任务:修改设置后,务必勾选主界面的“清理已生成”,清除之前的识别缓存,否则软件会直接复用上次的识别结果。

参考文档

如果问题依旧,请提供重新运行后最新的日志(底部约30行),并确认视频中英文部分的实际占比。

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.

Dondate via ko-fi.com

Dondate via PayPal

Related resource