#5166 TaskCfgVTT(uuid='747cad535e', name='E:/AV_restored/AV/YFF/DJE-036.restored.mp4', dirname='E:/AV_restored/AV/YFF', noextn

2401:e180* Posted at: 3 hours ago

语音识别阶段出错[自定义识别API] 处理数据时缺少必需的键:'end_time'
Traceback (most recent call last):

File "videotrans\task\job.py", line 35, in run

File "videotrans\task\job.py", line 100, in process_task

File "videotrans\task\trans_create.py", line 322, in recogn

File "videotrans\recognition\__init__.py", line 190, in run

File "videotrans\recognition\_base.py", line 96, in run

File "videotrans\recognition\_base.py", line 122, in _post_fix

KeyError: 'end_time'
TaskCfgVTT(uuid='747cad535e', name='E:/AV_restored/AV/YFF/DJE-036.restored.mp4', dirname='E:/AV_restored/AV/YFF', noextname='DJE-036.restored', basename='DJE-036.restored.mp4', ext='mp4', target_dir='E:/AV_restored/AV/YFF/DJE-036.restored-mp4', cache_folder='C:/Users/stanl/Desktop/win-pyvideotrans-v4.01-0602/tmp/19876/747cad535e', is_cuda=True, source_language='日语', source_language_code='ja', source_sub='E:/AV_restored/AV/YFF/DJE-036.restored-mp4/ja.srt', source_wav='C:/Users/stanl/Desktop/win-pyvideotrans-v4.01-0602/tmp/19876/747cad535e/ja.wav', source_wav_output='E:/AV_restored/AV/YFF/DJE-036.restored-mp4/ja.m4a', target_language='繁体中文', target_language_code='zh-tw', target_sub='E:/AV_restored/AV/YFF/DJE-036.restored-mp4/zh-tw.srt', target_wav='C:/Users/stanl/Desktop/win-pyvideotrans-v4.01-0602/tmp/19876/747cad535e/target.wav', target_wav_output='E:/AV_restored/AV/YFF/DJE-036.restored-mp4/zh-tw.m4a', translate_type=3, tts_type=0, volume='+10%', pitch='+0Hz', voice_rate='+0%', voice_role='No', voice_autorate=False, video_autorate=False, remove_silent_mid=False, align_sub_audio=True, detect_language='ja', recogn_type=21, model_name='tiny', shibie_audio=None, remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=0, fix_punc=False, subtitle_language=None, app_mode='tiqu', subtitles='', targetdir_mp4='E:/AV_restored/AV/YFF/DJE-036.restored-mp4/DJE-036.restored.mp4', novoice_mp4='C:/Users/stanl/Desktop/win-pyvideotrans-v4.01-0602/tmp/19876/747cad535e/novoice.mp4', is_separate=False, embed_bgm=True, instrument=None, vocal='C:/Users/stanl/Desktop/win-pyvideotrans-v4.01-0602/tmp/19876/747cad535e/vocal.wav', clear_cache=True, background_music='', subtitle_type=0, only_out_mp4=False, recogn2pass=False, output_srt=0, copysrt_rawvideo=True, loop_backaudio=0, backaudio_volume=0.8)


=
system:Windows-10-10.0.26200-SP0
version:v4.01
frozen:True
language:zh
root_dir:C:/Users/stanl/Desktop/win-pyvideotrans-v4.01-0602

1 Replies

这是一个典型的自定义识别API返回数据格式错误问题。您的API响应缺少必需的 end_time 字段,导致软件无法解析时间轴。

解决方案

  1. 检查API返回的Json格式
    请确认您的自定义API对每一条字幕都返回以下结构(必须包含 textstart_timeend_time):

    [
      {
        "text": "字幕文本",
        "start_time": 1000,    // 毫秒
        "end_time": 2500       // 毫秒
      },
      ...
    ]
  2. 验证时间字段的单位
    start_timeend_time 必须是以毫秒为单位的整数(或浮点数),不能是字符串或其他格式。
  3. 测试返回示例
    若您自己开发API,可先用Postman或curl模拟请求,确认返回数据包含 end_time

参考文档

如果问题仍未解决,请提供您的API返回的完整Json样例(前3条即可),以便进一步分析。

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