2016-09-18 9 views
2

現代のMP4プレーヤーは、あなたがここでビデオ全体ネットワーク経由でmp4の特定のセクションを読むことは可能ですか?

をダウンロードすることなく、ビデオの任意の位置にジャンプしましょう例のビデオです: http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4

ビデオがダウンロードされる前に、任意の位置に追跡することができます。私はビデオ全体をダウンロードすることなく、ストリーム内の位置からビデオを読むことができるPythonライブラリがあるのだろうかと思います。

答えて

2

これはビデオストリームの特定のフォーマット、特に使用されているストリーミングフォーマットに依存しますが、一般的に可能です。

例として、これはNetflixなどのビデオクライアントのブックマークが通常動作する方法です。

ストリームはに分割され、すなわち、ビデオストリーム、オーディオ、字幕など -

ストリーミング、MPEGのDASHのための新たな業界標準では、動画を構成する個々のストリームへのリンクがインデックスファイルまたはマニフェストを使用しています例えば10秒のチャンクであり、プレーヤーは通常の再生中にそれらを順次ダウンロードする。これにより、クライアントは、ビデオの異なるビットレートバージョンにアップまたはダウンして、一般的なネットワーク条件に合うように切り替えることができます。

ストリームをサポートすると、クライアントは特定の時間オフセットでセグメントを要求することもできます。ライブイベントの将来のセグメントをリクエストできないため、常にサポートされているわけではありません。コンテンツ所有者の希望に応じて過去のセグメントの利用可能性

他のストリーミング形式、HLS、スムーズストリーミングなども同様のメカニズムを備えています。

mp4が単なるサーバー上でホストされ、アダプティブストリーミングプロトコルを使用していない静的ファイルである場合、サーバーとクライアントがバイト範囲要求をサポートしている限り、依然としてファイルの特定のチャンクを要求できます。ほとんどのサーバーとクライアントはこれをサポートしていますが、機能を有効にするためにサーバーを明示的に構成する必要があります。参照:https://en.wikipedia.org/wiki/Byte_serving

関連する問題