#5142 Resegment:ended之后就不动了,卡住了

2401:b60* Posted at: 1 day ago

Resegment:ended之后就不动了,卡住了

12 Replies

这是由于 LLM 重新断句过程中调用大模型 API 超时或失败导致的卡死。

解决方案:

  1. 点击顶部菜单 工具/选项 -> 高级选项 -> 通用设置,确认 LLM重新断句所用AI渠道LLM重新断句每批字幕行数 配置正确,API Key 有效且网络代理填写正确(如需)。
  2. 若使用本地部署的 LLM,检查模型是否正在运行、地址是否正确。
  3. 可暂时关闭 LLM重新断句,改用 默认断句 测试是否正常。
  4. 如果问题依旧,请提供 logs/ 目录下最新的日志文件(复制底部约30行报错信息)以便进一步分析。

请查阅相关文档:

[DEBUG] 任务参数:kwargs={'detect_language': 'ja', 'model_name': 'large-v3-turbo', 'logs_file': 'C:/zimu/tmp/66136/1b8516f37a/faster-ja-1781267889.9044366.log', 'is_cuda': True, 'no_speech_threshold': 0.6, 'condition_on_previous_text': False, 'speech_timestamps': None, 'audio_file': 'C:/zimu/tmp/66136/1b8516f37a/PPPD-445-U.restored-1781267743.577498.wav', 'local_dir': 'C:/zimu/models/models--mobiuslabsgmbh--faster-whisper-large-v3-turbo', 'compute_type': 'default', 'jianfan': False, 'audio_duration': 7110577, 'hotwords': '', 'prompt': '', 'beam_size': 5, 'best_of': 5, 'temperature': '', 'repetition_penalty': 1.0, 'compression_ratio_threshold': 2.4, 'max_speech_ms': 5000, 'device_index': 0}
[DEBUG] GPU进程池:max_workers=1
[DEBUG] [faster_whisper]加载模型:当前 is_cuda=True,_compute_type='default'
[DEBUG] faster-whisper模式下,对large-v3-turbo模型返回的断句结果重新修正
[DEBUG] 断句结果重新修正完毕
[DEBUG] 返回识别结果

根据日志,faster-whisper ASR 已经完成并返回识别结果,问题发生在后续的 LLM 重新断句(Resegment) 阶段卡住。常见原因如下:

  1. 大模型 API 调用超时:DeepSeek/OpenAI 等接口响应慢或被限流。
  2. 网络代理未正确配置:访问海外 API 需要填写代理地址(如 http://127.0.0.1:7890)。
  3. API Key 无效或余额不足:未正确填写或余额已用完。
  4. 发送字幕行数过多:字幕数据过大导致模型处理超时。

解决方案

  1. 关闭 LLM 重新断句:回到主界面,在“语音识别渠道”行,将 LLM重新断句 改为 默认断句,以排除该功能影响。
  2. 检查 API 配置:点击顶部 菜单 -> 翻译设置 -> 对应AI渠道(如DeepSeek/ChatGPT),确认 API Key 正确、网络代理已填写。
  3. 降低单批次行数:进入 菜单 -> 工具/选项 -> 高级选项 -> 通用设置,将 LLM重新断句每批字幕行数 改为 10 或更低。
  4. 测试连接:若使用代理,在命令行执行 curl -x http://127.0.0.1:7890 https://api.deepseek.com 测试是否连通。

如果上述仍无效,请提供 logs/ 文件夹中 Resegment 阶段的日志(文件名包含 rephrasellm 关键词,或复制完整报错信息),以便进一步定位。

无其余日志输出

问题核心:ASR 完成后,调用大模型 API 进行 LLM 重新断句时,因网络不通或配置错误导致阻塞,且无超时处理日志。
请按以下顺序排查:

  1. 检查网络代理
    主界面第5行“网络代理”必须填写正确的 HTTP 代理地址(如 http://127.0.0.1:7890)。如果不需要代理请留空,不要填写乱码或空白字符。
  2. 检查 API Key 和渠道
    点击顶部菜单 翻译设置 → 选择当前使用的 AI 渠道(如 DeepSeek、OpenAI ChatGPT),确认 API Key 已正确填写且账户余额充足。若使用本地大模型,请确保模型服务已运行并可访问。
  3. 临时关闭 LLM 重新断句
    在主界面第2行语音识别渠道右侧,将“LLM重新断句”切换为“默认断句”,然后重新执行一次。若能正常完成,说明问题确实出在大模型调用上。
  4. 手动测试 API 连通性
    以 DeepSeek 为例,打开命令提示符(CMD)执行(替换 <key> 和代理地址):

    curl -x http://127.0.0.1:7890 https://api.deepseek.com/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer <key>" -d "{\"model\":\"deepseek-chat\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}"

    若返回 200 则网络正常,否则需调整代理或密钥。

  5. 若以上均无效
    请前往软件目录 logs/ 下,查找名称包含 rephrasellm 或对应时间的最新的日志文件,提供其最后30行内容。

使用的是默认断句

您使用的确实是“默认断句”,因此卡住并非因 LLM 重新断句调用 API 导致。ASR 完成后无后续日志输出,常见原因如下:

  1. 翻译渠道或配音渠道配置错误

    • 若翻译渠道选择的是 GoogleDeepLOpenAI 等需要网络的渠道,未填写网络代理API Key 无效 会导致程序在尝试调用时阻塞且不输出日志。
    • 若配音渠道选择了需要下载模型或网络的角色(如 Edge-TTS),同样可能因网络问题卡住。
    • 请确认:顶部菜单 翻译设置 中当前翻译渠道是否配置正确;主界面第5行 网络代理 是否已填写(如需代理请填如 http://127.0.0.1:7890,不需则留空)。
  2. 翻译渠道选择为本地(M2M100)但模型未正确加载

    • 本地翻译模型首次运行需下载,若下载失败或路径异常会卡住且无错误日志。
    • 尝试切换到 微软翻译(免费)(无需代理)测试是否能跳过卡住阶段。
  3. 视频文件本身问题

    • 视频编码或时长异常可能导致后续合并阶段无限等待。
    • 尝试先用 批量语音转字幕 面板单独对该视频执行 ASR,看是否能顺利产生 SRT 文件。

请按以下步骤快速定位

  1. 打开 logs/ 文件夹,找到最新日志文件(按时间排序),用记事本打开检查是否包含 翻译ddpassemb 等关键词的最后几行。
  2. 关闭 LLM 重新断句后,将翻译渠道改为 微软翻译(免费),配音渠道改为 Edge-TTS 并选择任一角色,再执行一次,观察是否卡住。
  3. 若仍卡住,请提供 logs/ 目录下最新的 .log 文件内容(约末尾30行)。

目前使用的就是批量语音转字幕

批量语音转字幕 功能中,ASR 完成后卡住通常是因为后续的 SRT 文件写入/保存过程出现问题。根据您提供的日志,faster-whisper 模型已经返回识别结果,但程序没有继续输出日志,可能是以下原因:1. 输出目录写入权限不足;2. 磁盘空间已满;3. 临时文件堆积导致写操作阻塞。请按顺序操作:检查磁盘剩余空间:确保 C 盘和软件所在盘有足够空间(至少 10GB 以上)。清理临时文件:进入软件根目录下的 tmp/ 文件夹,删除其中所有文件(可安全删除)。检查输出目录:独立功能默认输出目录为软件目录下的 output/ 文件夹。请确保该目录存在且有写入权限。如无法访问,可尝试修改输出路径:菜单 -> 工具/选项 -> 高级选项 -> 通用设置 -> 独立功能输出目录,指定一个有权限的路径(如 D:\my_output)。修改后重新执行一次。提供完整日志:请打开软件主目录下的 logs/ 文件夹,找到最新生成的 .log 文件(不是 faster-whisper 子进程的独立日志),复制其最后 50-100 行内容粘贴过来。如果日志文件较大无法粘贴,可以将其上传至云盘或私信开发者。在得到日志前,您可以尝试:将翻译渠道(虽然当前不需要)确保留空或不设置、将配音角色设为“不配音”,然后在小文件(如 1 分钟长)上测试批量语音转字幕,看是否正常。如果小文件正常,则可能是音频文件过长导致内存或处理超时(您的音频时长 118 分钟,属于超大文件),可尝试先用格式转换工具切割为多个小段再分别处理。

可能进程崩了,换 small 模型重试下看看 或者取消cuda加速试试

small 模型一样卡在Resegment:ended,取消cuda加速输出字幕明显不够视频时长

根据您的反馈,问题集中在 ASR 进程完成后静默崩溃,导致主进程无限等待。开发者版判断一致。即使换 small 模型仍卡,说明不是显存不足,而是进程本身在退出时无错误冻结。取消 CUDA 后虽能输出但时长不足,说明 CPU 模式下模型处理效率或断句参数不佳。

请按以下顺序操作:

  1. 启用“清理已生成”
    在主界面勾选“清理已生成”,确保不使用旧的缓存文件,避免缓存损坏导致的流程阻塞。
  2. 调低 VAD 参数优化断句
    进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数

    • 非语音阈值 从默认 0.6 降至 0.3(减少背景噪声误判)。
    • 最长语音持续秒数 设为 3最短语音持续毫秒 设为 1000
    • 勾选“合并过短字幕到邻近”。
  3. 切换 ASR 渠道(绕过 faster-whisper 进程崩溃)
    将 ASR 从 faster-whisper(本地) 切换为 openai-whisper(本地)(使用相同模型名称,如 small),观察是否仍卡。若 openai-whisper 能正常完成,则问题确系 faster-whisper 子进程版本兼容性。
  4. 降低搜索精度减少资源竞争
    在高级选项 语音识别参数 中:

    • beam_sizebest_of 均设为 1(最省资源)。
    • 取消勾选“Whisper预分割音频?”。
  5. 换用其他本地 ASR 渠道
    推荐 Qwen-ASR(本地)阿里FunASR(本地)(选 paraformer-zh),这两者对中文及常见语言稳定性更好,且非 faster-whisper 子进程,可避开该崩溃问题。
  6. 检查模型完整性
    进入 models 目录,确认 models--mobiuslabsgmbh--faster-whisper-large-v3-turbomodels--Systran--faster-whisper-small 文件夹内存在所有 .bin/.json/.txt 文件。如不完整,重新下载并覆盖(国内可使用 hf-mirror.com 镜像)。

若以上仍无效,请提供 logs/ 目录最新日志文件末尾 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: ko-fi.com/jianchang512

Related resource

Similar issues already exist