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 ストリームでの相互除外の使用」を参照してください。

ASF ContentInfo オブジェクト

ASF ヘッダー オブジェクト

Media Foundation での ASF サポート