1

ファイル チャンクを使用して API 経由で動画をアップロードする際の問題をトラブルシューティングしようとしています。4704384 バイトのサンプル ファイルがあり、最大サイズが 1048576 バイトのチャンクを送信しています。したがって、1048576 の 4 つのチャンクと 510080 の 1 つのチャンクがあります。チャンクは 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>

すべてのチャンクが 1 つのエントリにまとめられ、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 ファイアウォールを無効にしようとしましたが、役に立ちませんでした。

4

1 に答える 1

1

PUT を使用する upload_method=streaming を使用する小さなビデオのストリーミングに使用していた古い vimeo.videos.upload.getTicket 呼び出しを使用していたことがわかりました。upload_method=post に更新すると、マルチチャンク POST が機能します。

于 2013-11-15T20:01:38.713 に答える