0

私はPythonでかなり新しいです。libtorrent を使用して、トレント経由でビデオ ファイルをダウンロードするプログラムを作成しました。ダウンロード中にそのビデオを見るために、すべての部分が正しい順序でダウンロードされるように、順次ダウンロードに設定しました。私が得る問題は、ダウンロードが開始された直後にファイルを再生できないことです。ビデオの表示を開始する前に、10 MB、場合によっては 30 MB をダウンロードする必要があります。私の考えでは、これは一部のメタデータが欠落しているためです。私の質問は、ファイルが再生できたかどうかを確認する方法についてです。これを達成するための提案はありますか?私はたくさん検索しましたが、まだ何も見つかりませんでした。私はpython 2.7(libtorrentとの互換性のため2.7)、libtorrent、kivyフレームワーク1.8、および私の知る限りgstreamerを使用する組み込みのビデオプレーヤーを使用しています。https://github.com/dpitkevics/stream-ies?files=1 重要なファイルは、main.py、lib/downloader.py です。よろしくお願いします:)

4

1 に答える 1

1

Hachoirなどのメタデータ抽出ツールを使用することをお勧めします。ツールがメタデータを正常に読み取ることができれば、ファイルは正常に動作している可能性があります。しかし、必ずしもその時点で再生を開始する必要はありません。バッファも必要です。メタデータはコンテンツの長さを提供します。トレントからのファイル サイズとダウンロード速度を使用して、シームレスな再生を確保するために必要なバッファ量を計算できます。適切にバッファリングし、コンテナ内のストリームがインターリーブされている場合、これにより、再生を開始するために必要なデータが常に確保されます。

于 2015-02-17T18:20:48.517 に答える