#4363 一直卡在transcribe word_timestamps 不动

2408:8262* Posted at: 2 hours ago 👁19

[DEBUG] BaseRecogn 初始化

[DEBUG] GPU进程池:max_workers=1
[DEBUG] faster_whisper实际使用计算精度:float16
[DEBUG] faster-whisper模式下,对large-v3-turbo模型返回的断句结果重新修正

7 Replies

这是由于在计算带有 word_timestamps 的转录时,显存或系统资源耗尽导致进程卡死。large-v3-turbo 模型本身资源占用较高,开启时间戳会额外消耗大量显存。

请按以下步骤尝试解决:

  1. 立即清理缓存:在主界面左上角勾选“清理已生成”,避免使用损坏的缓存文件。
  2. 降低显存/内存占用:打开菜单 → 工具/选项 → 高级选项,在“语音识别参数”区域:

    • CUDA数据类型 设置为 int8(牺牲少量精度换取极低显存占用)。
    • beam_size 由 5 改为 1。
    • best_of 由 5 改为 1。
  3. 如果问题仍然出现,可临时更换为 smaller 模型(如 basesmall)测试是否能跑通。
  4. 若不需要精确到词的级别的时间戳,可在“语音识别参数”中关闭 启用上下文感知(设为 false),并确保没有选中 Whisper预分割音频
  5. 检查 CUDA 环境:务必安装 CUDA 12.8 和 cuDNN 9.11,并确认已勾选主界面的“CUDA加速”。可打开命令行执行 nvcc -Vnvidia-smi 验证。
  6. 如网路不畅导致模型下载不完整,可手动下载 large-v3-turbo 模型文件至 models 目录(见下方文档)。

请查阅相关文档:

全部设置仍然无效,并且显存空闲10g,内存空闲20g

根据您当前的硬件状况(显存空闲10GB,内存空闲20GB)和调整无效的情况,这已不属于典型显存/内存不足的问题,很可能涉及环境兼容性或模型加载异常。目前无法直接确定故障点,请执行以下步骤以收集关键日志:打开软件安装目录下的 logs 文件夹,找到以当天日期命名的 .log 文件。将该日志文件底部的完整报错信息(约最后30~50行)复制出来,以便进一步判断具体错误堆栈。同时可临时尝试切换到 openai-whisper(本地) 或 Qwen-ASR(本地) 渠道,排除 faster-whisper 的特定兼容性问题;并确保已严格安装 CUDA 12.8 及 cuDNN 9.11,并通过命令行 nvcc -V 确认版本无误。请提供日志后继续分析。

First searching GPU...
[DEBUG] 返回缓存的编解码器 Windows-264: h264_nvenc
[DEBUG] 返回缓存的编解码器 Windows-265: hevc_nvenc
NVIDIA_GPU_NUMS=1
Found 1 GPUs, cost=2s
start workers...
process_max_gpu=1
multi_gpus=False
Concurrent task_nums=1
process_max=1
start 9 jobs
ended workers
[DEBUG] 最终配置信息:self.cfg=TaskCfgVTT(is_cuda=True, uuid='fcc64a2b03', cache_folder='E:/APP/win-pyvideotrans-v3.99-428/tmp/2892/fcc64a2b03', target_dir='F:/影音/4 Temp/新建文件夹/av/_video_out/489155.com@NHDTC-155-mp4', source_language='日语', source_language_code='ja', source_sub='F:/影音/4 Temp/新建文件夹/av/_video_out/489155.com@NHDTC-155-mp4/ja.srt', source_wav='E:/APP/win-pyvideotrans-v3.99-428/tmp/2892/fcc64a2b03/ja.wav', source_wav_output='F:/影音/4 Temp/新建文件夹/av/_video_out/489155.com@NHDTC-155-mp4/ja.m4a', target_language='简体中文', target_language_code='zh-cn', target_sub='F:/影音/4 Temp/新建文件夹/av/_video_out/489155.com@NHDTC-155-mp4/zh-cn.srt', target_wav='E:/APP/win-pyvideotrans-v3.99-428/tmp/2892/fcc64a2b03/target.wav', target_wav_
......
'start_time': '0.000000', 'duration_ts': 128829367333, 'duration': '12882.936733', 'bit_rate': '5753645', 'bits_per_raw_sample': '8', 'nb_frames': '386102', 'extradata_size': 43, 'disposition': {'default': 1, 'dub': 0, 'original': 0, 'comment': 0, 'lyrics': 0, 'karaoke': 0, 'forced': 0, 'hearing_impaired': 0, 'visual_impaired': 0, 'clean_effects': 0, 'attached_pic': 0, 'timed_thumbnails': 0, 'non_diegetic': 0, 'captions': 0, 'descriptions': 0, 'metadata': 0, 'dependent': 0, 'still_image': 0, 'multilayer': 0}, 'tags': {'language': 'und', 'handler_name': 'VideoHandler', 'vendor_id': '00'}}, {'index': 1, 'codec_name': 'aac', 'codec_long_name': 'AAC (Advanced Audio Coding)', 'profile': 'LC', 'codec_type': 'audio', 'codec_tag_string': 'mp4a', 'codec_tag': '0x6134706d', 'sample_fmt': 'fltp', 'sample_rate': '48000', 'channels': 2, 'channel_layout': 'stereo', 'bits_per_sample': 0, 'initial_padding': 0, 'id': '0x2', 'r_frame_rate': '0/0', 'avg_frame_rate': '0/0', 'time_base': '1/48000', 'start_pts': 0, 'start_time': '0.000000', 'duration_ts': 618385416, 'duration': '12883.029500', 'bit_rate': '255999', 'nb_frames': '603892', 'extradata_size': 2, 'disposition': {'default': 1, 'dub': 0, 'original': 0, 'comment': 0, 'lyrics': 0, 'karaoke': 0, 'forced': 0, 'hearing_impaired': 0, 'visual_impaired': 0, 'clean_effects': 0, 'attached_pic': 0, 'timed_thumbnails': 0, 'non_diegetic': 0, 'captions': 0, 'descriptions': 0, 'metadata': 0, 'dependent': 0, 'still_image': 0, 'multilayer': 0}, 'tags': {'language': 'und', 'handler_name': 'SoundHandler', 'vendor_id': '00'}}], 'format': {'filename': 'F:/影音/4 Temp/新建文件夹/av/[email protected]4', 'nb_streams': 2, 'nb_programs': 0, 'nb_stream_groups': 0, 'format_name': 'mov,mp4,m4a,3gp,3g2,mj2', 'format_long_name': 'QuickTime / MOV', 'start_time': '0.000000', 'duration': '12883.029500', 'size': '9695661786', 'bit_rate': '6020734', 'probe_score': 100, 'tags': {'major_brand': 'isom', 'minor_version': '512', 'compatible_brands': 'isomiso2avc1mp41', 'encoder': 'Lavf62.8.100'}}}
[DEBUG] The file info after process:result={'video_fps': 29.97002997002997, 'r_frame_rate': '30000/1001', 'video_codec_name': 'h264', 'audio_codec_name': 'aac', 'width': 1920, 'height': 1080, 'time': 12882936, 'streams_len': 2, 'streams_audio': 1, 'video_streams': 1, 'color': 'yuv420p'}

[DEBUG] [recognition]__init__:kwargs={'detect_language': 'ja', 'audio_file': 'E:/APP/win-pyvideotrans-v3.99-428/tmp/2892/fcc64a2b03/ja.wav', 'cache_folder': 'E:/APP/win-pyvideotrans-v3.99-428/tmp/2892/fcc64a2b03', 'model_name': 'large-v3-turbo', 'uuid': 'fcc64a2b03', 'is_cuda': True, 'subtitle_type': 0, 'recogn_type': 0, 'max_speakers': -1, 'llm_post': False, 'recogn2pass': False}
[DEBUG] BaseRecogn 初始化

[DEBUG] GPU进程池:max_workers=1
[DEBUG] faster_whisper实际使用计算精度:float16
[DEBUG] faster-whisper模式下,对large-v3-turbo模型返回的断句结果重新修正

根据日志,进程正在执行 faster-whisper 的断句修正阶段,这是一个对超长视频(约 3.5 小时)性能压力极大的步骤,极可能因计算量巨大导致卡死或长时间无响应。

解决方法(按顺序尝试)

  1. 关闭不必要的修正功能
    打开菜单 → 工具/选项 → 高级选项 → 语音识别参数,将以下两项设置为 取消选中

    • Whisper预分割音频
    • 合并过短字幕到邻近
      同时将 启用上下文感知 设为 false
  2. 降低修正负载
    在同一高级选项中,增大 最长语音持续秒数(如改为 20),减少分割片段数量;将 最短语音持续毫秒 设为 1000 以下(非 clone 角色时)。
  3. 更换识别模型或渠道
    尝试改用 openai-whisper(本地),或使用更轻量的 faster-whisper large-v2 模型(需要手动下载),避免大模型的修正压力。
  4. 检查 CUDA 环境
    确保 CUDA 版本为 12.8,cuDNN 为 9.11 以上,并已验证通过 nvcc -Vnvidia-smi。若环境不匹配,修正过程可能出现异常。
  5. 临时使用在线 API 完成长视频
    若时间紧迫,可先将长视频分割为 30 分钟片段处理,或临时采用 OpenAI 语音识别 API 完成本次任务(需付费)。

如果上述步骤均无效,请提供 logs 文件夹中该日志的最后 50 行,以便进一步分析断句修正阶段的具体报错。

请查阅相关文档:

[DEBUG] BaseRecogn 初始化

[DEBUG] GPU进程池:max_workers=1
[DEBUG] faster_whisper实际使用计算精度:float16
[DEBUG] faster-whisper模式下,对large-v3-turbo模型返回的断句结果重新修正
[WARNING] 读取进程间日志文件出错,可忽略:Extra data: line 1 column 131 (char 130)
[WARNING] 读取进程间日志文件出错,可忽略:Extra data: line 1 column 131 (char 130)

根据最新日志中的警告信息,进程正在尝试对断句结果进行修正,但出现了多进程日志写入冲突,这通常表明进程可能陷入了死锁或长时间等待状态。此问题与长视频计算断句的负载过高有关。请执行以下步骤:终止当前卡死的任务,确保软件进程已完全退出,并删除临时文件夹(软件目录下的 tmp 文件夹)内容,避免残留文件干扰下次运行。彻底关闭高级选项中的断句修正路径:依次进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数,确认以下两项已取消勾选Whisper预分割音频合并过短字幕到邻近;同时将 启用上下文感知 设为 false。将识别模型更换为 openai-whisper(本地) 并选择同样模型 large-v3(openai-whisper 的断句逻辑与 faster-whisper 不同,可能规避此卡死问题)。若仍需要使用 faster-whisper,可尝试将模型降级为 large-v2,该模型在超长视频上的修正压力较小。如果上述软件侧调整均无效,则强烈建议将超长视频(3.5 小时以上)分割为 30-60 分钟的片段单独处理,或临时改用在线语音识别 API(如 OpenAI Whisper API)进行任务,事后可再切回本地模型处理其他短视频。如果仍需进一步排查,请提供日志文件(logs/日期.log)末尾 50 行,以便分析进程终止前的实际错误堆栈。请查阅相关文档:优化断句效果常见错误与解决方法

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