Vimeo验证块和708错误

时间:2013-11-14 23:54:08

标签: vimeo vimeo-api

我正在尝试解决使用文件块通过api上传视频的问题。我有一个4704384字节的示例文件,我发送的块最大大小为1048576字节。所以将有4块1048576和1块510080.块似乎被发送到Vimeo很好,但是当我打电话给vimeo.videos.upload.verifyChunks时,我得到了这个回复:

<?xml version="1.0" encoding="UTF-8"?>
<rsp generated_in="3.8400" stat="ok">
  <ticket id="cf2c9a26eea3aaffb9b4593efc1e0eda">
    <chunks>
      <chunk id="cf2c9a26eea3aaffb9b4593efc1e0eda" size="511436"/>
    </chunks>
  </ticket>
</rsp>

由于与实际文件数据一起发送的其他http标头,块大小是否与我预期的任何块都不匹配?此外,这里是否存在问题,因为响应的格式与Vimeo上传api页面上的示例响应不匹配?他们的例子:

<?xml version="1.0" encoding="utf-8"?>
<rsp stat="ok" generated_in="0.0028">
    <ticket id="abcdef124567890">
        <chunk id="0" size="678900" />
        <chunk id="1" size="678900" />
        <chunk id="2" size="4003" />
    </ticket>
</rsp>

为什么我的所有块都合并为一个条目,而id与票证ID相同?

当我打电话给vimeo.videos.upload.complete时,我明白了:

<?xml version="1.0" encoding="UTF-8"?>
<rsp generated_in="2.3289" stat="fail">
  <err code="708" expl="The file could not be saved. Try again." msg="File error"/>
</rsp>

我如何解决这个问题以弄清楚发生了什么?

更新:我认为我的问题是我试图通过PUT发送多个块,用于流式传输整个文件。要上传块,它需要是一个POST。但是当我尝试发布到Vimeo时,我收到此错误:“已建立的连接被主机中的软件中止”。我已经尝试禁用防病毒和Windows防火墙,建议修复此错误,但它没有帮助。

1 个答案:

答案 0 :(得分:1)

事实证明我正在使用旧的vimeo.videos.upload.getTicket调用我一直用于流式传输使用PUT的upload_method = streaming的小视频。我将其更新为upload_method = post,我的多块POST工作正常。