#8518 Subprocess Error: 'utf-8' codec can't decode byte 0xb0 in position 37: invalid start byteTraceback (most recent call las

171.222**7 Posted at: 3 hours ago

Subprocess Error: 'utf-8' codec can't decode byte 0xb0 in position 37: invalid start byte
Traceback (most recent call last):
File "videotrans\task\only_one.py", line 71, in run
File "videotrans\task\_stage_recogn.py", line 64, in recogn
File "videotrans\recognition\__init__.py", line 148, in run
File "videotrans\recognition\_base.py", line 101, in run
File "videotrans\recognition\_whisper.py", line 39, in _exec
File "videotrans\recognition\_whisper.py", line 136, in _faster
File "videotrans\configure\base.py", line 277, in _new_process
videotrans.configure.excepts.VideoTransError: Subprocess Error: 'utf-8' codec can't decode byte 0xb0 in position 37: invalid start byte

trk=[TransCreate]: uuid='eb71ca731e', proxy_str=None, cfg=[TaskCfgVTT]当前工作模式: 翻译视频 单视频模式
原始输入文件名: D:/达芬奇课程/DaVinci-Resolve-17-Fairlight-ChannelMappingandLinkedGroups.mp4,
输出结果保存到文件夹: D:/达芬奇课程/_video_out/DaVinci-Resolve-17-Fairlight-ChannelMappingandLinkedGroups-mp4,
临时文件夹: D:/win-pyvideotrans-v4.17-1028/tmp/29012/eb71ca731e
已选 清理已存在
已启用CUDA加速
语音识别:faster-whisper(内置), large-v3-turbo, 发音语言: 英语, , 数据类型:default
翻译渠道:Google(免费),原始语言:英语,目标语言:简体中文, 已选 发送完整字幕, settings.get('trans_thread')=5, settings.get('aitrans_thread')=40
配音渠道:Edge-TTS(免费), 角色:Yunxi(Male/CN), 配音语言:简体中文
已选 二次语音识别
音量:+0%, 语速:+0%, 未选 音频加速, 未选 视频慢速
未选 移除字幕间空隙, 未选 强制对齐字幕和声音
已选 移除每条字幕配音开头和结尾静音缓冲
静音移除力度: default
字幕: 嵌入硬字幕 , precent=4, hasend=False, should_recogn=True, should_trans=True, should_dubbing=True, should_hebing=True, is_copy_video=True, video_codec_num=264, ignore_align=False, is_audio_trans=False, clone_ref='', should_recogn2=True, do_diarize=True
video_duration_ms=1417958


=
system:Windows-10-10.0.26300-SP0
version:v4.17
frozen:True
language:zh_CN
root_dir:D:/win-pyvideotrans-v4.17-1028

1 Replies

#1 DeepSeek reply at 3 hours ago

该报错发生在语音识别子进程阶段,本质是子进程输出/读取内容时按 UTF-8 解码,却遇到了 GBK 编码字节(0xb0)。结合你的日志(D:/达芬奇课程/DaVinci-Resolve-17-Fairlight-ChannelMappingandLinkedGroups.mp4),最典型诱因是视频路径与文件名含中文且过长,其次常见诱因是子进程因显存不足崩溃后输出了中文报错信息。

按顺序排查

  1. 改路径和文件名(先做这一步,命中率最高)

    • 把视频复制到浅层全英文目录,并改成极简名字,例如:D:/videos/001.mp4
    • 重新在主界面选择该文件执行,不要再使用 D:/达芬奇课程/ 这种中文目录,也避免超长文件名
    • 重试前勾选 清理已生成
  2. 排查显存不足(你已启用 CUDA + large-v3-turbo,约需 6GB+ 显存)

    • 若显存不足,faster-whisper 子进程会硬崩溃,崩溃信息为中文编码,正好触发此解码错误
    • 处理方式任选其一:

      • 取消勾选 CUDA加速,先用 CPU + small 模型验证流程能否跑通
      • 或保持 CUDA,把模型换成 medium / small
      • 进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数,将 计算数据类型 改为 float16(GPU)或 int8(最省显存)
      • 将 GPU同时任务数 设为 1,并关闭 启用上下文感知
  3. 清理残留后重试

    • 关闭软件,进入软件目录下 tmp/ 文件夹,清空内部临时文件
    • 同时确认软件目录本身不含中文、空格、特殊符号(你当前 D:/win-pyvideotrans-v4.17-1028 是合规的,无需改动)
  4. 确认模型文件完整

    • 若 large-v3-turbo 模型下载不完整,子进程也会异常退出
    • 可先删除 软件目录/models/models--mobiuslabsgmbh--faster-whisper-large-v3-turbo,让其重新下载,或按官方地址手动下载后覆盖
  5. 若仍复现

    • 请提供 软件目录/logs/ 下最新日志文件末尾约 30 行(含子进程原始报错的那段),以及是否已按上述 1、2 步操作过

请查阅相关文档:

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
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

Related resource