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 ファイルに追加機能を追加できます。
- ストリーム プロパティ オブジェクトは、ファイル内の 1 つのストリームを記述します。 ASF ファイルには少なくとも 1 つのストリームと、少なくとも 1 つの ストリーム プロパティ オブジェクトが含まれている必要があります。
ヘッダー オブジェクトには、ファイルに関するメタデータ (タイトルや作成者など)、ファイルのエンコードに使用されるコーデックの一覧、コンテンツ保護情報など、追加のオプション情報を含めることができます。
データ オブジェクト
ASF データ オブジェクトには、ASF ファイルのすべてのメディア データが含まれています。 このオブジェクトは必須であり、ASF ヘッダー オブジェクトの後に続く必要があります。
データ オブジェクトは、データ パケットに分割されます。 各パケットには、ファイル内の 1 つまたは複数のストリームのデータが含まれています。 データ パケットには、パケット解析情報を提供するデータ パケット ヘッダーと、その後ろに、実際のデジタル メディア データであるペイロード データが含まれます。 すべてのデータ パケットにはプレゼンテーション時間が関連付けられているため、受信した順序で配置されます。
パケット サイズやパケット数など、データ オブジェクトの内容に関する情報は、ヘッダー オブジェクトに格納されます。
インデックス オブジェクト
インデックス オブジェクトは省略可能であり、ASF ファイルの最後のオブジェクトです。 ASF ファイルには、複数のインデックス オブジェクトを含めることができます。 インデックス オブジェクトは、ASF データ オブジェクトへの時間ベースのランダム アクセスを提供します。
Simple Index オブジェクトは、これとは別の種類のインデックスです。