#2166 一直是分离音频结束等待识别

124.244* Posted at: 1 month ago 👁110

批量选择视频之后 全部只有百分之1的进度显示分离音频结束等待识别

3 Replies

这个问题通常是由于视频文件路径或名称包含特殊字符(尤其是从YouTube下载的视频可能包含Windows禁止的字符)导致的。请按以下步骤排查:

  1. 检查文件路径和名称

    • 将待处理的视频文件重命名为纯英文或数字(如 video1.mp4)。
    • 将文件移动到简单的根目录路径,例如 D:\E:\ 下。
    • 绝对避免路径或文件名中包含 \ / : * ? " < > | 等Windows系统禁止的字符,以及中文括号、空格等。
  2. 使用正确的处理流程

    • 在主界面,确保正确选择了 “语音识别” 模型(例如 faster-whisper(本地))。
    • 确认选择了视频的 “发音语言”
    • 勾选 “CUDA加速”(如果使用NVIDIA显卡)。
    • 不要勾选“人声分离”功能,除非你明确需要此功能,因为它会显著增加处理时间。
  3. 清理缓存并重试

    • 在重新处理前,勾选主界面上的 “清理已生成” 选项,以确保软件重新处理原始文件。
  4. 查看详细日志

    • 如果以上步骤无效,请打开软件所在目录下的 logs 文件夹,将最新的日志文件内容提供出来,以便进一步分析具体错误。

首先请尝试第1步,这是最常见的原因。


Application started at 2026-01-19 20:34:56

load subtitles area...
Set ui text...
Set style...
Set controls style...
Set menu...
Load function window...
Set default params
Bind signal...
2026-01-19 20:34:58,654 - INFO - 平台: Windows。正在按优先级检测最佳的 'h264' 编码器: ['nvenc', 'qsv', 'amf']
Import torch...
2026-01-19 20:35:03,790 - INFO - 正在测试编码器是否可用: h264_nvenc...
end
2026-01-19 20:35:04,418 - INFO - 硬件编码器 'h264_nvenc' 可用。
2026-01-19 20:35:04,418 - INFO - 已选择硬件编码器: h264_nvenc
2026-01-19 20:35:04,418 - INFO - 最终确定使用的编码器: h264_nvenc
2026-01-19 20:35:04,418 - INFO - 平台: Windows。正在按优先级检测最佳的 'hevc' 编码器: ['nvenc', 'qsv', 'amf']
2026-01-19 20:35:04,419 - INFO - 正在测试编码器是否可用: hevc_nvenc...
2026-01-19 20:35:04,576 - INFO - 硬件编码器 'hevc_nvenc' 可用。
2026-01-19 20:35:04,577 - INFO - 已选择硬件编码器: hevc_nvenc
2026-01-19 20:35:04,577 - INFO - 最终确定使用的编码器: hevc_nvenc
self.proxy_str='http://127.0.0.1:7897',self.uuid=None
2026-01-19 20:37:53,332 - INFO - Starting call to 'videotrans.transl
......
0_1787808.wav'}, {'line': 430, 'text': '', 'start_time': 1787968, 'end_time': 1790816, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1787968_1790816.wav'}, {'line': 431, 'text': '', 'start_time': 1791296, 'end_time': 1797280, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1791296_1797280.wav'}, {'line': 432, 'text': '', 'start_time': 1797312, 'end_time': 1798784, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1797312_1798784.wav'}, {'line': 433, 'text': '', 'start_time': 1799392, 'end_time': 1805376, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1799392_1805376.wav'}, {'line': 434, 'text': '', 'start_time': 1805408, 'end_time': 1809312, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1805408_1809312.wav'}, {'line': 435, 'text': '', 'start_time': 1809856, 'end_time': 1812608, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1809856_1812608.wav'}, {'line': 436, 'text': '', 'start_time': 1812896, 'end_time': 1818880, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1812896_1818880.wav'}, {'line': 437, 'text': '', 'start_time': 1818912, 'end_time': 1824896, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1818912_1824896.wav'}, {'line': 438, 'text': '', 'start_time': 1824928, 'end_time': 1828864, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1824928_1828864.wav'}, {'line': 439, 'text': '', 'start_time': 1829056, 'end_time': 1835040, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1829056_1835040.wav'}, {'line': 440, 'text': '', 'start_time': 1835072, 'end_time': 1835488, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1835072_1835488.wav'}, {'line': 441, 'text': '', 'start_time': 1835776, 'end_time': 1837696, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1835776_1837696.wav'}, {'line': 442, 'text': '', 'start_time': 1838176, 'end_time': 1838816, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1838176_1838816.wav'}, {'line': 443, 'text': '', 'start_time': 1839136, 'end_time': 1842816, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1839136_1842816.wav'}, {'line': 444, 'text': '', 'start_time': 1843168, 'end_time': 1844864, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1843168_1844864.wav'}, {'line': 445, 'text': '', 'start_time': 1845184, 'end_time': 1850880, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1845184_1850880.wav'}, {'line': 446, 'text': '', 'start_time': 1851072, 'end_time': 1856160, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1851072_1856160.wav'}, {'line': 447, 'text': '', 'start_time': 1856672, 'end_time': 1862656, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1856672_1862656.wav'}, {'line': 448, 'text': '', 'start_time': 1862688, 'end_time': 1864256, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1862688_1864256.wav'}, {'line': 449, 'text': '', 'start_time': 1864576, 'end_time': 1864800, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1864576_1864800.wav'}, {'line': 450, 'text': '', 'start_time': 1865472, 'end_time': 1866656, 'file': 'E:/pyvideo/tmp/14112/1768826926.6590703/1865472_1866656.wav'}]

根据日志,问题已明确:语音识别(ASR)步骤成功执行并生成了大量音频片段(如 0_1787808.wav),但所有片段的识别结果 'text' 字段均为空字符串 ''。这表明 faster-whisper 模型未能从音频中识别出任何有效语音

请按以下步骤排查和解决:

  1. 检查视频/音频内容:确认你的视频中确实包含清晰的人声说话。如果视频只有背景音乐、环境噪音或人声非常模糊,模型将无法识别。
  2. 检查“发音语言”设置:在主界面第3行“翻译设置”区域,确保 “发音语言” 选择正确。如果视频是英文,请选择“英语(English)”;如果是中文,请选择“中文(Chinese)”。不确定时可先选“auto(自动识别)”。
  3. 更换语音识别模型或模式

    • 尝试其他模型:在主界面第2行“语音识别”下拉菜单中,尝试更换模型,例如从 large-v3 换成 mediumsmall。有时小模型对嘈杂环境更鲁棒。
    • 尝试“阿里FunASR(本地)”:如果视频主要是中文,切换到“阿里FunASR”识别效果通常更好。
    • 尝试“整体识别”模式:如果你当前使用的是“批量推理”模式,请切换到“整体识别”模式,它使用VAD检测,断句和识别效果可能更好。
  4. 调整VAD参数(提高灵敏度)

    • 点击主界面右下角的 “设置更多参数”
    • 在“快速参数”区域,找到 “VAD参数”
    • “语音阈值” 从默认的 0.45 调低(例如改为 0.30.2)。数值越小,系统对语音越敏感,更容易将声音片段切分出来进行识别。
  5. 检查音频文件本身:用播放器打开软件临时目录下的一个wav文件(例如日志中提到的 E:/pyvideo/tmp/14112/.../0_1787808.wav),听一下是否包含清晰可辨的人声。如果这里的声音就是空白或全是噪音,那么问题出在视频源或音频提取环节。
  6. 启用“降噪”功能:在“设置更多参数”中勾选 “降噪” 选项,这可能在预处理时改善音频质量。

核心排查顺序:建议优先进行第2步(检查语言设置)和第3步(更换模型/模式),这是最常见的原因。如果问题依旧,再进行第4步(调整VAD)。

请查看更多参考文档:

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