4

ストリーミングWebビデオの特定の時間範囲をダウンロードするために、範囲要求を行うことができることを理解しています。

ビデオからMP3またはAACオーディオストリームのみを要求できるかどうか疑問に思っているので、サーバーではオーディオのみをダウンロードします。

私が聞いたところによると、これは可能ですが、ウェブ上でこれを行うための正当な解決策や方法をまだ見つけていないので、どこから始めればよいのか本当にわかりません。

4

1 に答える 1

6

HTTPを介したストリームについて話していると仮定すると、これは実際には実現可能ではありません。あなたが非常に特別な必要性とあなたの手に多くの時間を持っていない限り、私は本当にそれを試すことさえお勧めしません。

出来ますか?多分。まず、範囲リクエストをサポートするHTTPサーバーが必要です。もしそうなら、あなたはコンテナフォーマットについて何かを知る必要があります。そのためには、ファイルのダウンロードを開始し、それを理解する必要があります。

ほとんどのコンテナは、ストリームを一緒にインターリーブします。つまり、ビデオ用のバイトのチャンク、オーディオ用のバイトのチャンク、および存在する他のストリーム用のチャンクがあります。デモンストレーションの目的で、ビデオにオーディオストリームとビデオストリームのみがあり、各チャンクに1秒分のコンテンツが含まれているとします。インターリーブは次のようになります。

HEADERS A V A V A V A V A V A V A V ...

HEADERSコンテナがストリームを設定するために持っているすべてのものです。 Aはオーディオストリームチャンクであり、Vはビデオストリームチャンクです。

ストリームを1つだけダウンロードする場合は、そのコンテナー形式を自分で解析し、コンテナーヘッダーとコンテナーに必要なその他のデータをダウンロードしてから、特定のストリームのすべてのチャンクに対して範囲要求を行う必要があります。欲しいです。インターリーブによっては、最終的にはこれはまったく効率的ではない場合があります。

データをダウンロードするときは、実際に使用できるファイルにデータを書き戻す必要があります。つまり、そのためのカスタムコードを作成するか、FFMPEGをだましてデータを作成する必要があります。

于 2013-03-09T14:57:13.577 に答える