ASF ヘッダー オブジェクトの Media Foundation 属性
ファイルの最上位の ASF ヘッダー オブジェクトには、いくつかの ASF サブヘッダー オブジェクトが含まれています。 ContentInfo オブジェクトは、これらすべての Header オブジェクトの情報を格納し、属性を使用して特定の値をアプリケーションに公開します。
File Properties オブジェクト
このヘッダー オブジェクトは、すべての ASF ファイルに存在します。 これらのフィールドは、プレゼンテーション全体のファイル レベルの属性を記述します。 次の表に、ファイル プロパティ オブジェクトのフィールドと、対応するプレゼンテーション記述子属性を示します。
[ファイル プロパティ] オブジェクト フィールド | プレゼンテーション記述子属性 | Description |
---|---|---|
ファイル ID | MF_PD_ASF_FILEPROPERTIES_FILE_ID | このファイルの一意識別子。 |
ファイル サイズ | MF_PD_TOTAL_FILE_SIZE | ファイルのサイズです (バイト単位)。 |
[作成日付] | MF_PD_ASF_FILEPROPERTIES_CREATION_TIME | ファイルの作成日時。 |
データ パケット数 | MF_PD_ASF_FILEPROPERTIES_PACKETS | ASF データ オブジェクト内のデータ パケットの数。 |
再生時間 | MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION | ファイルの再生に必要な時間 (100 ナノ秒単位)。 この値には、プリロール時間が含まれます。 |
送信期間 | MF_PD_ASF_FILEPROPERTIES_SEND_DURATION | ファイルの送信に必要な時間 (100 ナノ秒単位)。 |
プリロール | MF_PD_ASF_FILEPROPERTIES_PREROLL | ファイルの再生前にデータをバッファーに格納する時間 (100 ナノ秒単位)。 |
Flags | MF_PD_ASF_FILEPROPERTIES_FLAGS | ファイルがブロードキャストかシーク可能かを示すフラグ。 |
最小データ パケット サイズ | MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE | ファイル内のデータ パケットの最小サイズ (バイト単位)。 |
最大データ パケット サイズ | MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE | ファイル内のデータ パケットの最大サイズ (バイト単位)。 |
最大ビットレート | MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE | 最大瞬時ビット レート (1 秒あたりのビット数)。 |
Stream プロパティ オブジェクト
このヘッダー オブジェクトは、ASF ファイル内のストリームのプロパティを記述します。 Media Foundation では、これはプロファイル オブジェクトとストリーム構成オブジェクトによって管理されます。 詳細については、「 ASF ストリームの作成と構成」を参照してください。
Codec List オブジェクト
このヘッダー オブジェクトが存在する場合、 MF_PD_ASF_CODECLIST 属性は、ASF ファイル内のストリームをエンコードするために使用されたコーデックの一覧を提供します。 各ストリームには、このオブジェクトにコーデック情報が含まれている必要があります。
Script Command オブジェクト
このヘッダー オブジェクトが存在する場合は、ASF ファイルでサポートされているスクリプト コマンドの一覧を指定します。 スクリプト コマンドは、コマンドの種類、コマンド名、およびプレゼンテーション時間で構成されます。 コマンドの種類とコマンド名はワイド文字列です。 これらのコマンドを使用すると、プレゼンテーションの特定の時点でアクションを実行するようにクライアントに通知できます。 たとえば、アプリケーションはコマンドの種類 "FILENAME" を使用して、ASF ファイルの連続したシーケンスを再生できます。
スクリプト コマンドの一覧を取得するには、プレゼンテーション記述子から MF_PD_ASF_SCRIPT 属性を取得します。 アプリケーションは、再生を開始する前にすべてのスクリプト コマンドを取得する必要があります。
Marker オブジェクト
マーカーは ASF ファイル内のブックマークです。 アプリケーションでは、マーカーを使用して、コンテンツ内のさまざまなポイントをシークできます。 各マーカーは、マーカー名、関連するプレゼンテーション時間、およびファイルの先頭からのオフセットで構成されます。 MF_PD_ASF_MARKER属性は、ファイルで使用できるマーカーの一覧を提供します。
Stream Bitrate プロパティ オブジェクト
このヘッダーは、ASF ファイルに存在する各ストリームの平均ビット レートを格納します。 この値は、 MF_SD_ASF_STREAMBITRATES_BITRATE 属性のストリームのストリーム記述子に格納されます。
Content Encryption オブジェクト
このヘッダー オブジェクトは、コンテンツ プロバイダーが Microsoft Digital Rights Management を使用してコンテンツを保護している場合に存在します。 次の表に、Content Encryption オブジェクトのフィールドと、対応するプレゼンテーション記述子属性を示します。
[Content Encryption Object]\(コンテンツ暗号化オブジェクト\) フィールド | プレゼンテーション記述子属性 | Description |
---|---|---|
シークレット データ | MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA | シークレット データを含むバイト配列。 |
保護の種類 | MF_PD_ASF_CONTENTENCRYPTION_TYPE | 値 "DRM" を持つ Null で終わる文字列。 |
キー ID | MF_PD_ASF_CONTENTENCRYPTION_KEYID | キー識別子を記述する Null で終わる文字列。 |
ライセンス URL | MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL | コンテンツを使用するライセンスを取得する URL を含む Null で終わる文字列。 |
拡張コンテンツ暗号化オブジェクト
このヘッダー オブジェクトは、コンテンツ プロバイダーが Windows Media Rights Manager 7 SDK を使用してコンテンツを保護している場合に存在します。 MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL属性は、ヘッダー オブジェクトの Data フィールドに対応するバイト配列を提供します。 このフィールドは、コンテンツを使用するために必要です。
拡張ストリーム プロパティ オブジェクト
このヘッダーは、ヘッダー拡張オブジェクトの一部です。 拡張ストリーム プロパティ オブジェクトは、Stream Properties オブジェクトで定義されていないストリームのプロパティを提供します。 これらのプロパティは主に、デコーダーによって使用される "漏れバケット" パラメーターを決定するために使用されます。 これらのプロパティは、データを圧縮するときにエンコーダーによっても使用されます。 これは、プロファイル オブジェクトとストリーム構成オブジェクトによって管理されます。 詳細については、「 ASF ストリームの作成と構成」を参照してください。
次の表に、拡張ストリーム プロパティ オブジェクト のフィールドと、対応するストリーム記述子属性を示します。
[拡張ストリームのプロパティ] フィールド | ストリーム記述子属性 | Description |
---|---|---|
Data Bitrate | MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE | 平均データ レート (1 秒あたりのビット数)。 |
バッファー サイズ | MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE | 漏れたバケット サイズ。 値は、平均データ レートでバッファーに収まるデータのミリ秒数です。 |
代替データ ビットレート | MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE | ピーク データ レート (1 秒あたりのバイト単位)。 ピーク データ レートは、ビット レートが可変のストリームに使用されます。 |
代替バッファー サイズ | MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE | 漏れバケットの最大サイズ。 値は、ピーク データ レートでバッファーに収まるデータのミリ秒数です。 |
ストリーム言語 ID | MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX | ストリームで使用される言語。Language List オブジェクト内の言語の一覧のインデックスとして指定されます。 |
Language List オブジェクト
このヘッダー オブジェクトは、ヘッダー拡張オブジェクトの一部です。 存在する場合、 MF_PD_ASF_LANGLIST 属性は、ファイルでサポートされている言語識別子の一覧を提供します。 識別子は、言語を指定するために RFC 1766 に準拠しています。
相互排他オブジェクト
このヘッダーは、ストリームとそのプロパティのグループを指定します。一度に配信されるストリームのグループは 1 つだけです。 詳細については、「 ASF ストリームでの相互除外の使用」を参照してください。
関連トピック