#6539 No transcription results returned. Please check the original audio/video or model and try again.info=TranscriptionInfo(l

112.48.**3 Posted at: 4 hours ago

No transcription results returned. Please check the original audio/video or model and try again.
info=TranscriptionInfo(language='en', language_probability=1, duration=28.9553125, duration_after_vad=0.0, all_language_probs=None, transcription_options=TranscriptionOptions(beam_size=5, best_of=5, patience=1, length_penalty=1, repetition_penalty=1.0, no_repeat_ngram_size=0, log_prob_threshold=-1.0, no_speech_threshold=0.6, compression_ratio_threshold=2.4, condition_on_previous_text=False, prompt_reset_on_temperature=0.5, temperatures=[0.0, 0.2, 0.4, 0.6, 0.8, 1.0], initial_prompt=None, prefix=None, suppress_blank=True, suppress_tokens=(1, 2, 7, 8, 9, 10, 14, 25, 26, 27, 28, 29, 31, 58, 59, 60, 61, 62, 63, 90, 91, 92, 93, 359, 503, 522, 542, 873, 893, 902, 918, 922, 931, 1350, 1853, 1982, 2460, 2627, 3246, 3253, 3268, 3536, 3846, 3961, 4183, 4667, 6585, 6647, 7273, 9061, 9383, 10428, 10929, 11938, 12033, 12331, 12562, 13793, 14157, 14635, 15265, 15618, 16553, 16604, 18362, 18956, 20075, 2
......
ptions(beam_size=5, best_of=5, patience=1, length_penalty=1, repetition_penalty=1.0, no_repeat_ngram_size=0, log_prob_threshold=-1.0, no_speech_threshold=0.6, compression_ratio_threshold=2.4, condition_on_previous_text=False, prompt_reset_on_temperature=0.5, temperatures=[0.0, 0.2, 0.4, 0.6, 0.8, 1.0], initial_prompt=None, prefix=None, suppress_blank=True, suppress_tokens=(1, 2, 7, 8, 9, 10, 14, 25, 26, 27, 28, 29, 31, 58, 59, 60, 61, 62, 63, 90, 91, 92, 93, 359, 503, 522, 542, 873, 893, 902, 918, 922, 931, 1350, 1853, 1982, 2460, 2627, 3246, 3253, 3268, 3536, 3846, 3961, 4183, 4667, 6585, 6647, 7273, 9061, 9383, 10428, 10929, 11938, 12033, 12331, 12562, 13793, 14157, 14635, 15265, 15618, 16553, 16604, 18362, 18956, 20075, 21675, 22520, 26130, 26161, 26435, 28279, 29464, 31650, 32302, 32470, 36865, 42863, 47425, 49870, 50254, 50258, 50359, 50360, 50361, 50362, 50363), without_timestamps=False, max_initial_timestamp=1.0, word_timestamps=True, prepend_punctuations='"\'“¿([{-', append_punctuations='"\'.。,,!!??::”)]}、', multilingual=False, max_new_tokens=None, clip_timestamps=[0.0], hallucination_silence_threshold=None, hotwords=''), vad_options=VadOptions(threshold=0.5, neg_threshold=None, min_speech_duration_ms=0, max_speech_duration_s=inf, min_silence_duration_ms=140, speech_pad_ms=400))

cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: C:/Users/Administrator/Desktop/视频/3.mp4,
输出结果保存到文件夹: C:/Users/Administrator/Desktop/视频/_video_out/3-mp4,
临时文件夹: D:/pyvideotrans/win-pyvideotrans-v4.09/tmp/9036/9f44220770
已选 清理已存在
未启用CUDA加速
未选 降噪
语音识别:faster-whisper(内置), large-v3-turbo, 发音语言: 英语, 断句方式:LLM重新断句
翻译渠道:DeepSeek,原始语言:英语,目标语言:简体中文, 已选 发送完整字幕
配音渠道:Edge-TTS(免费), 角色:Xiaoxiao(Female/CN), 配音语言:简体中文, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: 嵌入硬字幕
已选 分离人声与背景声, 已选 重新嵌入背景声, 背景音量0.8, 背景声音时长 短于 视频时长时: 拉长(降速播放),存在分离后的纯净人声文件,存在分离后的背景声音文件


=
system:Windows-10-10.0.19045-SP0
version:v4.09
frozen:True
language:zh
root_dir:D:/pyvideotrans/win-pyvideotrans-v4.09

13 Replies

核心原因是 VAD 将整段音频判定为静音,有效语音时长为 0,因此转录结果为空。
日志关键字段:duration=28.9553125, duration_after_vad=0.0 表示音频时长约 29 秒,但经过 VAD 过滤后,没有任何片段被识别为人声。

可能的原因

  1. 原始音频中本身没有清晰人声(纯音乐、环境音或静音)。
  2. 你勾选了“分离人声与背景声”,但分离后的人声文件 vocal.wav 为空、损坏或全是静音,识别时使用该文件作为输入。
  3. VAD 语音阈值(默认 0.5)过高,导致轻微声音或远距离说话被全部过滤。
  4. 音频音量过低或背景噪声过大。

建议按以下步骤排查

  1. 先取消“分离人声与背景声”,取消勾选“清理已生成”,重新执行一次。如果恢复正常,说明 vocal.wav 有问题。
  2. 用播放器打开输出目录/临时目录中的 vocal.wav,确认里面是否真的有人声。
  3. 如果人声较小或距离较远,到 菜单 → 工具 → 高级选项 → 语音识别参数,将“语音阈值”从 0.5 调低到 0.2~0.3 试试。
  4. 用其他已知含清晰人声的视频测试,排除源视频本身问题。
  5. 你的视频路径包含中文和空格(C:/Users/Administrator/Desktop/视频/3.mp4),底层工具对特殊路径兼容性较差,建议将视频改为纯英文数字路径(如 D:/test/3.mp4)后再试。

请查阅相关文档:

pyVedioTrans必须要有人声才能识别吗?只有字母没有人声,将韩文字幕转换成中文不行吗

视频翻译功能必须依靠语音识别提取人声生成字幕,若视频中无人声(纯音乐/画面/硬字幕),则无法完成视频翻译流程。

但如果你已有韩文字幕文件(.srt),可直接用左侧「翻译字幕」功能将其翻译为中文,无需任何音频或视频。

  • 打开左侧「翻译字幕」面板
  • 导入韩文字幕 .srt 文件
  • 源语言选「韩语」,目标语言选「简体中文」
  • 选择翻译渠道后点击开始

若你只想翻译视频中内嵌的硬字幕(烧在画面上的文字),软件无法直接提取,需使用专用硬字幕提取工具,如 本地离线提取视频硬字幕

二次语音识别是什么意思

二次识别是指在配音完成后,对生成的配音音频再次进行语音识别,生成新的字幕。目的是让最终嵌入视频的字幕与配音精确对齐,避免出现字幕和声音不同步的情况。它主要作用于:配音角色已选(非“No”)、字幕嵌入方式为“嵌入单字幕”(非双语)时。需要注意:二次识别会使用你当前所选语音识别渠道和模型,该渠道必须支持识别目标语言(即配音语言),否则会得到乱码或错误文字。举例:原视频是中文,目标语言为日语,但所选语音识别渠道是“Firered中文”(不支持日语),若开启二次识别,最终字幕很可能就是错误的。在高级选项的“语音识别参数”区域,可以单独设置二次识别的最长/最短语音持续时长,设置较小值有利于生成更短小的字幕。

生成视频里面时,字幕有的都超出边缘了怎么办

字幕超出画面边缘,通常是因为硬字幕样式中的字体过大或自动换行未生效。解决办法:在主界面「设置更多参数」中点击「修改硬字幕样式」,调整以下项:字号调小:将字体大小(或按视频分辨率计算的字号)调小,例如从 16 降到 12。开启自动换行/限制单行字符数:进入 菜单 → 工具 → 高级选项 → 字幕声音画面对齐,设置「中日韩字幕单行字符数」或「其他语言字幕单行字符数」,例如设为 15~20,超出会自动换行,避免文字超出左右边界。调整字幕内边距/左右边距:在硬字幕样式编辑器中,增大左右边距让字幕整体居中收窄。修改字体后重新执行视频翻译即可生效。注意修改样式只对后续生成的新视频生效,不会自动套用到已生成的文件,需重新处理或重新合成。请查阅相关文档:高级选项

开启自动换行在哪 我怎么没看见

自动换行不是单独的一个勾选框,而是通过设置“单行字符数”来触发的。具体位置:菜单 → 工具/选项 → 高级选项 → 字幕声音画面对齐

在这一栏里找到:

  • 中日韩字幕单行字符数
  • 其他语言字幕单行字符数

它们默认可能是空或某个数字。填入一个较小的数字(如 15 或 20),表示每行最多显示这么多字符,超过就会自动换行,字幕就不再会超出画面左右边缘。这个设置只对后续新处理的视频生效,修改后需要重新翻译或重新合成视频。如果当前版本里没有这两个选项,可能是界面语言翻译差异,请检查高级选项的“字幕声音画面对齐”分组下是否有类似“字符数”的输入框。

什么时候用LLM重新断句和什么默认断句

LLM重新断句和默认断句是对语音识别结果的字幕文本进行后期优化的两种方式。简单来说:默认断句:直接使用语音识别模型返回的断句结果(或VAD切割结果),不做额外处理。速度快,适合大多数场景。LLM重新断句:将识别出的字幕文本发送给AI大模型(需配置DeepSeek或OpenAI ChatGPT),由AI修正错别字、重新切分长文本,使字幕更通顺自然。速度慢,效果取决于AI模型本身。何时用LLM重新断句:追求更高字幕质量和流畅度时(如用于最终发布、对字幕文本准确性要求高)。对识别结果不满意,希望AI帮忙改善断句和错别字时。硬件性能较好、时间充裕的情况下。何时用默认断句:对处理速度有要求,或视频内容简单、识别准确率已经很高。使用原音色克隆(配音角色为 clone)时强烈不建议用LLM重新断句,因为LLM可能会改动时间轴,导致截取的参考音频与说话时间错位,影响克隆效果。启用说话人分离时,会强制禁用LLM重新断句,以免降低说话人识别精度。使用位置:主界面“语音识别”渠道旁或高级选项里可选择“默认断句/LLM重新断句”。LLM断句模型在 菜单 → 工具 → 高级选项 → 通用设置 → LLM断句模型 中选择,目前支持 DeepSeek 或 OpenAI ChatGPT。注意:LLM重新断句也可能是二次识别后再进行一次LLM修正,对应提示词在 软件目录/videotrans/prompts/resegment/llm2.txt 中。

简单一点字太多了 什么情况下使用LLM 什么情况下使用默认

用LLM:追求字幕质量、时间充裕时。
用默认:追求速度、或使用克隆音色、或启动了说话人识别时。

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