2

http://dash-mse-test.appspot.com/media.htmlからサンプルの mpd ファイルを取得しました。以下は、単一の表現を含むスニペットです。

   ...
   <Representation bandwidth="4190760" codecs="avc1.640028" height="1080" id="1" mimeType="video/mp4" width="1920">
    <BaseURL>car_cenc-20120827-89.mp4</BaseURL>
    <SegmentBase indexRange="2755-3230">
      <Initialization range="0-2754" />
    </SegmentBase>
  </Representation>
  ...

SegmentBase とはどういう意味ですか? indexRange の値は何を意味しますか?

初期化の終了範囲は、常に indexRange の開始値より 1 小さい値です。つまり、上記の 2755-1 = 2754 (初期化の値)

これらの数字の重要性を理解するのを手伝ってくれる人はいますか?

編集1:

以下の@sanderの回答によると、segmentindexはバイト範囲であることを理解しています。ただし、この値の使用方法についてはまだ混乱しています。

例: <Representation bandwidth="4190760" codecs="avc1.640028" height="1080" id="1" mimeType="video/mp4" width="1920"> <BaseURL>car-20120827-89.mp4</BaseURL> <SegmentBase indexRange="674-1149"> <Initialization range="0-673" /> </SegmentBase> </Representation>

この表現には、ビデオ クリップ全体を 1 つのファイルに含むセグメントが 1 つだけあります。(ファイルサイズは約90MB)。

初期化範囲は 0 ~ 673 です。したがって、ファイルの 0 番目のバイトからファイルの 673 番目のバイトまでには、ビデオの初期化セグメントが含まれます。私の理解は正しいですか?

その場合、ファイルは約 90MB です。バイト範囲で他のセグメントを取得するにはどうすればよいですか? SegmentBase は indexRange 674-1149 のみを言及しています。

ところで、私はこのプレーヤーを使用してセグメントインデックスを理解しています。

http://dash-mse-test.appspot.com/dash-player.html?url=http://yt-dash-mse-test.commondatastorage.googleapis.com/media/car-20120827-manifest.mpd

Chrome の検査ツールを使用して送信されたヘッダー リクエストを見ると、小さなバイト範囲で多くのリクエストが発生していますが、これらのバイト範囲を MPD から取得する方法がわかりません。


ありがとう

4

1 に答える 1

3

このファイルの正確な形式は、DASH 仕様 (ISO/IEC 23009-1)で説明されています。このSegmentBase要素については、5.3.9.2 章で説明されています。

このスニペットの私の解釈は、この表現は、1 つのセグメントとしてプレーヤーに配信される単一の mp4 ファイルで構成されているということです。は、セグメント インデックス ( mp4 ファイルのボックス)indexRangeを表すこのセグメント内のバイト範囲であり、要素は、関連する初期化データ (mp4 ファイルのさまざまなヘッダー ボックス) を含むバイト範囲を示します。お気づきのように、範囲はセグメントの先頭をきちんとカバーしており、残りはおそらくメディア サンプル データで満たされています。バイト範囲は、関連するデータをどこからロードする必要があるかをプレーヤーに通知します。sidxInitialization

編集:sidxボックスには、この 1 つの mp4 ファイルのサブセグメントを参照するバイト範囲が含まれています。ISO/IEC 14496-12:2012(E)からの引用:

各セグメント インデックス ボックスには、(サブ) セグメントが 1 つまたは複数のサブセグメントに分割される方法が記載されています (セグメント インデックス ボックスを使用して、サブセグメント自体をさらに分割することもできます)。

サブセグメントは、包含 (サブ) セグメントの時間間隔として定義され、包含 (サブ) セグメントの単一のバイト範囲に対応します。すべてのサブセグメントの持続時間の合計は、それを含む (サブ) セグメントの持続時間になります。

ボックスの内容に基づいてsidx、プレーヤーは、ビデオの特定の部分を再生するために、mp4 ファイルのどの部分をダウンロードする必要があるかを判断できます。

于 2014-12-17T06:21:55.347 に答える