Windows Media Video 7/8 エンコーダー
Windows Media Video 7/8 エンコーダーは、以前のバージョンの Windows Media Video エンコーダーを実装しています。
クラス識別子
Windows Media Video 7/8 エンコーダーのクラス識別子 (CLSID) が CLSID_CWMVXEncMediaObject。 CoCreateInstance を呼び出すことで、エンコーダーのインスタンスを作成できます。
インターフェイス
ビデオ エンコーダー オブジェクトは IMediaObject インターフェイスを公開し、オブジェクトを DirectX Media Object (DMO) として使用できるようにし、オブジェクトを Media Foundation Transform (MFT) として使用できるように IMFTransform インターフェイスを公開します。
ビデオ エンコーダーは、取得したインターフェイスと実行されている Windows のバージョンに応じて、DMO または MFT として動作します。 次の表は、ビデオ エンコーダーが DMO または MFT として動作する条件を示しています。
オペレーティング システム | エンコーダーの動作 |
---|---|
Windows XP | Windows Media ビデオ エンコーダーは常に DMO として動作します。 |
Windows Vista および Windows 7 | 既定では、Windows Media ビデオ エンコーダーは DMO として動作します。 ビデオ エンコーダーで IMFTransform インターフェイスを取得すると、MFT として動作します。 |
入力形式
Windows Media Video エンコーダーは、DMO として機能する場合に、次の入力メディア サブタイプをサポートします。
- MEDIASUBTYPE_IYUV
- MEDIASUBTYPE_I420
- MEDIASUBTYPE_YV12
- MEDIASUBTYPE_NV11
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
- MEDIASUBTYPE_UYVY
- MEDIASUBTYPE_YVYU
- MEDIASUBTYPE_RGB32
- MEDIASUBTYPE_RGB24
- MEDIASUBTYPE_RGB565
- MEDIASUBTYPE_RGB555
- MEDIASUBTYPE_RGB8
- MEDIASUBTYPE_PHOTOMOTION
Windows Media Video エンコーダーは、MFT として機能する場合に、次の入力メディア サブタイプをサポートします。
- MFVideoFormat_IYUV
- MFVideoFormat_I420
- MFVideoFormat_YV12
- MFVideoFormat_NV11
- MFVideoFormat_NV12
- MFVideoFormat_YUY2
- MFVideoFormat_UYVY
- MFVideoFormat_YVYU
- MFVideoFormat_RGB32
- MFVideoFormat_RGB24
- MFVideoFormat_RGB565
- MFVideoFormat_RGB555
- MFVideoFormat_RGB8
- MEDIASUBTYPE_PHOTOMOTION
出力形式
次の表は、Windows Media Video 7/8 エンコーダーでサポートされている出力の種類の 4 文字コード (FOURCC) を示しています。
カテゴリ | FOURCC |
---|---|
Windows Media Video 7 | "WMV1" |
Windows Media Video 8 | "WMV2" |
プロパティ
Windows Media Video 7/8 エンコーダーでは、次のプロパティがサポートされています。
プロパティ | 説明 |
---|---|
MFPKEY_ASFOVERHEADPERFRAME | 圧縮されたコンテンツの格納に使用されるコンテナーに必要なオーバーヘッド (パケットあたりのバイト数) を指定します。
書き込み専用です。 |
MFPKEY_AVGFRAMERATE | ビデオ コンテンツの平均フレーム レートを 1 秒あたりのフレーム数で指定します。
読み取り専用です。 |
MFPKEY_BAVG | 制約付き可変ビット レート (VBR) ストリームの平均ビット レート ( MFPKEY_RAVG で指定) のバッファー ウィンドウをミリ秒単位で指定します。
読み取りと書き込みが可能です。 |
MFPKEY_BMAX | ( MFPKEY_RMAXによって指定される) ピーク ビット レートでの制約付き可変ビット レート (VBR) ストリームのバッファー ウィンドウをミリ秒単位で指定します。
読み取りと書き込みが可能です。 |
MFPKEY_BUFFERFULLNESSINFIRSTBYTE | エンコードされたビデオ ビット ストリームに、すべてのキー フレームでバッファーの完全性の値が含まれるかどうかを指定します。
読み取り専用です。 |
MFPKEY_CODEDFRAMES | コーデックによってエンコードされるビデオ フレームの数を指定します。
読み取り専用です。 |
MFPKEY_CODEDNONZEROFRAMES | 実際にデータを含むコーデックによってエンコードされるビデオ フレームの数を指定します。
読み取り専用です。 |
MFPKEY_COMPLEXITY | このプロパティは 、MFPKEY_COMPLEXITYEXに置き換えられます。 |
MFPKEY_COMPLEXITYEX | エンコーダー アルゴリズムの複雑さを指定します。
書き込み専用です。 |
MFPKEY_CRISP | コーデック出力でのモーションの滑らかさと画質のトレードオフを数値で表します。
書き込み専用です。 |
MFPKEY_DECODERCOMPLEXITYPROFILE | エンコードされたコンテンツが準拠するデバイス準拠テンプレートを指定します。
読み取り専用です。 |
MFPKEY_DECODERCOMPLEXITYREQUESTED | ビデオ エンコードに使用するデバイス準拠テンプレートを指定します。
書き込み専用です。 |
MFPKEY_DROPPEDFRAMES | エンコード中に削除されるビデオ フレームの数を指定します。
読み取り専用です。 |
MFPKEY_ENDOFPASS | エンコード パスの末尾を指定します。
書き込み専用です。 |
MFPKEY_FOURCC | 使用するエンコーダーを識別する FOURCC を指定します。
書き込み専用です。 |
MFPKEY_INTERLACEDCODINGENABLED | コーデック出力をインターレースするかどうかを指定します。
書き込み専用です。 |
MFPKEY_KEYDIST | コーデック出力のキー フレーム間の最大時間をミリ秒単位で指定します。
書き込み専用です。 |
MFPKEY_PASSESRECOMMENDED | コーデックでサポートされるパスの最大数を指定します。
読み取り専用です。 |
MFPKEY_PASSESUSED | コーデックがコンテンツのエンコードに使用するパスの数を指定します。
読み取りと書き込みが可能です。 |
MFPKEY_PRODUCEDUMMYFRAMES | エンコーダーが重複するフレームのビット ストリームでダミー フレーム エントリを生成するかどうかを指定します。
書き込み専用です。 |
MFPKEY_QPPERFRAME | QP を指定します。
書き込み専用です。 |
MFPKEY_RAVG | 2 パス可変ビット レート (VBR) エンコードに使用される平均ビット レート (1 秒あたりのビット数) を指定します。
読み取りと書き込みが可能です。 |
MFPKEY_RMAX | 制約付き 2 パス変数ビット レート (VBR) に使用されるピーク ビット レートを 1 秒あたりのビット数で指定します。
読み取りと書き込みが可能です。 |
MFPKEY_TOTALFRAMES | エンコード 処理中にエンコーダーに渡されるビデオ フレームの数を指定します。
読み取り専用です。 |
MFPKEY_VBRENABLED | コーデックで可変ビット レート (VBR) エンコードを使用するかどうかを指定します。
読み取りと書き込みが可能です。 |
MFPKEY_VBRQUALITY | 品質ベース (1 パス) 可変ビット レート (VBR) エンコードの実際の品質レベルを指定します。
書き込み専用です。 |
MFPKEY_VIDEOWINDOW | モデル バッファーに収まるコンテンツの量をミリ秒単位で指定します。
書き込み専用です。 |
MFPKEY_ZEROBYTEFRAMES | 前のフレームと重複しているためにスキップされたビデオ フレームの数を指定します。
読み取り専用 |
必要条件
要件 | 値 |
---|---|
クライアント |
Windows XP、Windows Vista、または Windows 7 |
Header |
|
[DLL] |
|
関連項目