You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Vimeo Python SDK上传字幕(文本轨道)报错的解决求助

解决Vimeo Python SDK上传字幕时的TexttrackCreationFailure错误

以下是针对该错误的排查和解决步骤:

  • 修正视频ID格式:官方示例中的'/videos/12345'可能存在歧义,尝试直接传入纯数字视频ID,而非带路径前缀的字符串。将代码改为:

    v.upload_texttrack('12345', 'captions', 'en-US', 'your-texttrack.vtt')
    

    部分SDK版本仅接受纯数字ID作为视频标识。

  • 验证语言代码合规性:确保使用的是Vimeo支持的BCP 47标准语言代码,注意格式为语言代码-地区代码(连字符分隔,而非下划线)。例如en-US是合法的,en_us则会触发参数错误。可通过Vimeo后台手动上传字幕的语言选项,确认目标语言的正确代码。

  • 检查字幕文件有效性:

    • 确保文件是标准VTT格式,时间戳需符合HH:MM:SS.mmm格式,无语法错误(如未闭合的标签、无效字符)。
    • 确认文件路径正确,优先使用绝对路径避免SDK找不到文件;同时文件需为UTF-8编码,Vimeo不支持其他编码格式的字幕文件。
  • 确认API权限范围:检查你的Vimeo应用是否拥有video_files的编辑权限。在Vimeo开发者平台的应用设置中,确保权限列表包含「编辑视频内容」相关权限,权限不足会返回模糊的参数错误提示。

  • 直接调用API调试获取详细错误:若SDK报错仍不明确,可绕过SDK直接用HTTP请求调用Vimeo API,获取具体错误信息:

    import requests
    
    headers = {'Authorization': 'Bearer 你的访问令牌'}
    with open('your-texttrack.vtt', 'rb') as f:
        payload = {'type': 'captions', 'language': 'en-US'}
        files = {'file': f}
        resp = requests.post('https://api.vimeo.com/videos/12345/texttracks', headers=headers, data=payload, files=files)
        print(resp.json())
    

    返回的JSON响应会明确指出错误原因(如文件格式问题、语言代码无效等)。

  • 升级SDK版本:旧版本Vimeo Python SDK可能存在已知bug,执行pip install --upgrade vimeo升级至最新版本后重试。

内容的提问来源于stack exchange,提问作者ginjaemocoes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 19:12:39