ストリームの構成
プロファイルで必要なのは、少なくとも 1 つのストリームだけです。 その他のオプションでは、より高度な機能にアクセスできますが、少なくとも 1 つのストリームで ASF ファイルを作成できます。 複雑なプロファイルを作成する前にストリームを構成する方法を理解しておくことが不可欠です。
プロファイルを目的として、ストリームは、Windows Media コーデックで圧縮されたものと、コーデックで処理されない任意のストリームの 2 種類に分けることができます。 オーディオ ストリームとビデオ ストリームは、Windows Media コーデックを使用する種類です。 もちろん、ストリームにはサードパーティ製のコーデックで圧縮されたオーディオまたはビデオを含めることができますが、このようなストリームを構成するプロセスは特別なケースです。 詳細については、「 サードパーティ製コーデックを使用して ASF ファイルを作成するには」を参照してください。
次の一覧は、ストリームを構成するプロセスをまとめたものです。
- ストリームのストリーム構成オブジェクトを取得します。
- Windows Media コーデックのいずれかを使用してストリームを作成する場合は、 IWMCodecInfo3 のメソッドを使用して、ストリーム構成オブジェクトをコーデック形式として取得する必要があります。
- ストリームが任意の型の場合は、 IWMProfile::CreateNewStream を使用して空のストリーム構成オブジェクトを取得します。
- ニーズに合わせてストリームを構成します。
- すべての種類のストリームには、名前、接続名、およびストリーム番号を割り当てる必要があります。
- Windows Media コーデックを使用するストリームは、コーデック形式から事前に定義された方法でのみ変更する必要があります。 オーディオ ストリームの場合、2 パス VBR の可変ビット レート (VBR) 設定のみを変更する必要があります。 ビデオ ストリームは、目的のフレーム プロパティを使用して構成する必要があります。
- 任意のストリームの構成要件は、種類によって異なります。 すべてビット レートとバッファー ウィンドウが必要です。
- IWMProfile::AddStream を呼び出して、ストリームをプロファイルに追加します。
すべてのストリームは、ストリーム構成オブジェクトを使用して定義されます。 ストリーム構成オブジェクトのメイン インターフェイスは IWMStreamConfig であり、ストリームの基本設定 (ストリーム番号、ビット レートなど) を設定するためのメソッドを提供します。 IWMStreamConfig は、新しいインターフェイス IWMStreamConfig2 と IWMStreamConfig3 によって継承されます。 すべての番号付きインターフェイス リビジョンと同様に、 QueryInterface メソッドを使用して常に最新バージョンを取得する必要があります。
ストリームのほとんどの設定は、 IWMMediaProps を介してアクセスされます。 これらの設定は、 WM_MEDIA_TYPE 構造にカプセル化されます。 オーディオとビデオの場合、 WM_MEDIA_TYPE 構造は、メディアの種類に固有の詳細情報を持つ別の構造体を指します。 このセカンダリ構造は、通常、オーディオの 場合は WAVEFORMATEX 、ビデオの 場合は WMVIDEOINFOHEADER です。 さらに、ビデオ ストリームには、ビデオの個々のフレームの特性を記述する 3 次構造 BITMAPINFOHEADER があります。 BITMAPINFOHEADER は一般的な構造であり、プラットフォーム SDK のグラフィックス デバイス インターフェイス (GDI) セクションにあります。
次のセクションでは、ストリームを構成する方法について説明します。
セクション | 説明 |
---|---|
すべてのストリームに共通の構成 | すべての種類のストリームに共通する基本的なストリーム構成について説明します。 |
コーデックからのストリーム構成情報の取得 | Windows Media Audio コーデックと Video コーデックを使用してストリームを適切に構成できるように、コーデックからストリーム構成情報を取得する方法について説明します。 |
オーディオ ストリームの構成 | オーディオ ストリームを構成する方法について説明します。 |
ビデオ ストリームの構成 | ビデオ ストリームを構成する方法について説明します。 |
パフォーマンスをシークするためのビデオ ストリームの構成 | 効率的なシークが重要なビデオ ストリームを構成する方法について説明します。 |
画面キャプチャ ストリームの構成 | 画面キャプチャ用にビデオ ストリームを構成する方法について説明します。 |
イメージ ストリームの構成 | イメージ ストリームを構成する方法について説明します。 |
圧縮されていないオーディオストリームとビデオストリームの使用 | 圧縮されていないオーディオまたはビデオ ストリームを設定する方法について説明します。 |
任意のストリーム型の構成 | 定義済みの任意のストリームの種類を使用するようにストリームを構成する方法について説明します。 |
VBR ストリームの構成 | 可変ビット レート エンコード (VBR) を使用するようにストリームを構成する方法について説明します。 |
データ ユニット拡張機能の構成 | ファイルの書き込み時にデータ ユニット拡張機能をアタッチできるようにストリームを構成する方法について説明します。 |
ストリーム構成の再利用 | 既存のプロファイルからストリーム構成オブジェクトを使用して新しいプロファイルを作成する方法について説明します。 |
関連トピック