次の方法で共有


ASF ファイル構造体

このトピックでは、Advanced Systems Format (ASF) ファイルの構造について説明します。

ASF ファイルの詳細については、「ASF 仕様」をダウンロードしてください。

ASF ファイルの編成の基本単位は、オブジェクトと呼ばれます。 ASF ファイル オブジェクトには、次のデータが含まれています。

データ​​ サイズ
オブジェクトを識別する GUID。 128 ビット
オブジェクトのサイズ。 64 ビット
オブジェクト データ。 オブジェクト データには、他の ASF オブジェクトを含めることができます。 状況に応じて異なります。

Note

ASF ファイル オブジェクトは、単なるデータのチャンクです。 コンピューター プログラミングの意味でのオブジェクトではありません。

ASF ファイルには、3 種類の最上位のファイル オブジェクトが含まれています。

ASF ファイル オブジェクト 説明
ヘッダー オブジェクト
ASF ファイルに関する情報が含まれています。
データ オブジェクト
メディア データのパケットが含まれています。
Index オブジェクト
1 つ以上のインデックスが含まれています。 (省略可能)

次の図は、ASF ファイルの構造を示しています。

ヘッダー、データ、インデックス内の項目を含む、asf ファイルの構造を示す図

この図の比率は正確ではありません。通常は、データ オブジェクトがファイルの大部分を占めています。

ヘッダー オブジェクト

ヘッダー オブジェクトは必須であり、すべての ASF ファイルの先頭に表示されます。 ASF ファイル内のストリームに関する情報とグローバル ファイル属性が含まれています。 この情報は、ファイル内のデータを解釈して再生するために使用されます。

ヘッダー オブジェクトには、いくつかの必須のサブオブジェクトが含まれています。

  • ファイル プロパティ オブジェクトは、ファイル サイズ、再生時間、データ パケット数、最小および最大パケット サイズ、最大ビット レートなど、ファイルのグローバル属性を記述します。
  • ヘッダー拡張オブジェクトを使用すると、下位互換性を維持しながら、ASF ファイルに追加機能を追加できます。
  • ストリーム プロパティ オブジェクトは、ファイル内の 1 つのストリームを記述します。 ASF ファイルには少なくとも 1 つのストリームと、少なくとも 1 つの ストリーム プロパティ オブジェクトが含まれている必要があります。

ヘッダー オブジェクトには、ファイルに関するメタデータ (タイトルや作成者など)、ファイルのエンコードに使用されるコーデックの一覧、コンテンツ保護情報など、追加のオプション情報を含めることができます。

データ オブジェクト

ASF データ オブジェクトには、ASF ファイルのすべてのメディア データが含まれています。 このオブジェクトは必須であり、ASF ヘッダー オブジェクトの後に続く必要があります。

データ オブジェクトは、データ パケットに分割されます。 各パケットには、ファイル内の 1 つまたは複数のストリームのデータが含まれています。 データ パケットには、パケット解析情報を提供するデータ パケット ヘッダーと、その後ろに、実際のデジタル メディア データであるペイロード データが含まれます。 すべてのデータ パケットにはプレゼンテーション時間が関連付けられているため、受信した順序で配置されます。

パケット サイズやパケット数など、データ オブジェクトの内容に関する情報は、ヘッダー オブジェクトに格納されます。

インデックス オブジェクト

インデックス オブジェクトは省略可能であり、ASF ファイルの最後のオブジェクトです。 ASF ファイルには、複数のインデックス オブジェクトを含めることができます。 インデックス オブジェクトは、ASF データ オブジェクトへの時間ベースのランダム アクセスを提供します。

Simple Index オブジェクトは、これとは別の種類のインデックスです。

メディア ファンデーションでの ASF のサポート