Windows Media Video 9 Encoder

Windows Media Video 9 エンコーダーは、ビデオ ストリームをエンコードします。 エンコーダーでは、エンコードされた出力の次の 4 つのカテゴリがサポートされています。

  • Windows Media Video 9 Simple Profile
  • Windows Media Video 9 Main Profile
  • Windows Media Video 9 Advanced Profile
  • Windows Media Video 9.1 イメージ

クラス識別子

Windows Media Video エンコーダーのクラス識別子 (CLSID) は、定数 CLSID_CWMV9EncMediaObjectで表されます。 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

出力形式

次の表は、エンコードされた出力のカテゴリに対応する 4 文字コード (FOURCC) を示しています。

カテゴリ FOURCC
Windows Media Video 9 Simple Profile "WMV3"
Windows Media Video 9 Main Profile "WMV3"
Windows Media Video 9 Advanced Profile "WVC1"
Windows Media Video 9.1 イメージ 9.1 の場合は "WMVP"、9.1 バージョン 2 の場合は "WVP2"

 

簡易プロファイルとメイン プロファイルを区別するには、 MFPKEY_DECODERCOMPLEXITYREQUESTED プロパティを設定します。

プロパティ

Windows Media Video 9 エンコーダーでは、次のプロパティがサポートされています。

プロパティ Description
MFPKEY_ASFOVERHEADPERFRAME 圧縮されたコンテンツの格納に使用されるコンテナーに必要なオーバーヘッド (パケットあたりのバイト数) を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_AVGFRAMERATE ビデオ コンテンツの平均フレーム レートを 1 秒あたりのフレーム数で指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取り専用です。
MFPKEY_BAVG 制約付き可変ビット レート (VBR) ストリームの平均ビット レート ( MFPKEY_RAVG で指定) のバッファー ウィンドウをミリ秒単位で指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取りと書き込みが可能です。
MFPKEY_BDELTAQP アンカー フレームのピクチャ 量子化器と B フレームのピクチャ 量子化器の間の差分増加を指定します。
Windows XP 以降。
メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_BMAX ( MFPKEY_RMAXによって指定される) ピーク ビット レートでの制約付き可変ビット レート (VBR) ストリームのバッファー ウィンドウをミリ秒単位で指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取りと書き込みが可能です。
MFPKEY_BUFFERFULLNESSINFIRSTBYTE エンコードされたビデオ ビット ストリームに、すべてのキー フレームでバッファーの完全性の値が含まれるかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取り専用です。
MFPKEY_CLOSEDENTRYPOINT 画像のグループの先頭で使用するエンコード パターンを指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_CODEDFRAMES コーデックによってエンコードされるビデオ フレームの数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取り専用です。
MFPKEY_CODEDNONZEROFRAMES 実際にデータを含むコーデックによってエンコードされるビデオ フレームの数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取り専用です。
MFPKEY_COMPLEXITY このプロパティは 、MFPKEY_COMPLEXITYEXに置き換えられます。
MFPKEY_COMPLEXITYEX エンコーダー アルゴリズムの複雑さを指定します。
Windows Vista 以降。
単純なプロファイル、メイン プロファイル。 高度なプロファイル。
書き込み専用です。
MFPKEY_COMPRESSIONOPTIMIZATIONTYPE Windows Media Video 9 Advanced Profile コーデックに使用する最適化の種類を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み。
MFPKEY_CRISP コーデック出力でのモーションの滑らかさと画質のトレードオフを数値で表します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_DATARATE 使用されていません。
MFPKEY_DECODERCOMPLEXITYPROFILE エンコードされたコンテンツが準拠するデバイス準拠テンプレートを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取り専用です。
MFPKEY_DECODERCOMPLEXITYREQUESTED ビデオ エンコードに使用するデバイス準拠テンプレートを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_DELTAMVRANGEINDEX モーション ベクトル情報のエンコードに使用するメソッドを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_DENOISEOPTION エンコード時にコーデックでノイズ フィルターを使用するかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_DESIRED_VBRQUALITY 品質ベース (1 パス) 可変ビット レート (VBR) エンコードに必要な品質レベルを指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_DROPPEDFRAMES エンコード中に削除されるビデオ フレームの数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取り専用です。
MFPKEY_ENDOFPASS エンコード パスの終了を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_FORCEFRAMEHEIGHT エンコードされたビデオの中間フレームの高さを指定します。
Windows XP 以降。
高度なプロファイル。
書き込み専用です。
MFPKEY_FORCEFRAMEWIDTH エンコードされたビデオの中間フレーム幅を指定します。
Windows XP 以降。
高度なプロファイル。
書き込み専用です。
MFPKEY_FORCEMEDIANSETTING エンコード時にコーデックで中央値フィルター処理を使用するかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_FOURCC 使用するエンコーダーを識別する FOURCC を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_FRAMECOUNT 互換性のために残されています。
MFPKEY_FULLFRAMERATE エンコーダーでフレームの削除を許可するかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_INTERLACEDCODINGENABLED コーデック出力をインターレースするかどうかを指定します。
Windows XP 以降。
高度なプロファイル。
書き込み専用です。
MFPKEY_KEYDIST コーデック出力のキー フレーム間の最大時間をミリ秒単位で指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_LIVEENCODE 使用されていません。
MFPKEY_LOOKAHEAD 現在のフレームをエンコードする前にコーデックが評価する現在のフレームの後のフレーム数を指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_LOOPFILTER エンコード時に、コーデックでインループ デブロッキング フィルターを使用するかどうかを指定します。
Windows XP 以降。
メイン プロファイル、詳細プロファイル。
書き込み専用です。
MFPKEY_MACROBLOCKMODECOSTMETHOD 使用するマクロ ブロック モードを決定するためにコーデックで使用されるコスト方法を指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_MOTIONMATCHMETHOD モーション マッチングに使用するメソッドを指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_MOTIONSEARCHLEVEL モーション検索操作で使用されるビデオ情報の種類を指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_MOTIONSEARCHRANGE モーション検索で使用される範囲を指定します。
Windows XP 以降。
メイン プロファイル、詳細プロファイル。
書き込み専用です。
MFPKEY_NOISEEDGEREMOVAL コーデックがノイズの多いフレーム エッジを検出して削除するかどうかを指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_NUMBFRAMES 双方向予測フレーム (B フレーム) の数を指定します。
Windows XP 以降。
メイン プロファイル、詳細プロファイル。
書き込み専用です。
MFPKEY_NUMTHREADS コーデックがエンコードに使用するスレッドの数を指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_PASSESRECOMMENDED コーデックでサポートされるパスの最大数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取り専用です。
MFPKEY_PASSESUSED コーデックがコンテンツのエンコードに使用するパスの数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取りと書き込みが可能です。
MFPKEY_PERCEPTUALOPTLEVEL エンコード時にコーデックで保守的な知覚最適化を使用するかどうかを指定します。
Windows XP 以降。
メイン プロファイル、詳細プロファイル。
書き込み専用です。
MFPKEY_PRODUCEDUMMYFRAMES エンコーダーが重複するフレームのビット ストリームでダミー フレーム エントリを生成するかどうかを指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
書き込み専用です。
MFPKEY_QPPERFRAME QP を指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_RANGEREDUX コーデックがビデオの有効な色範囲を減らす度合いを指定します。
Windows XP 以降。
高度なプロファイル。
書き込み専用です。
MFPKEY_RAVG 2 パス可変ビット レート (VBR) エンコードに使用される平均ビット レート (1 秒あたりのビット数) を指定します。
Windows XP 以降。
簡易プロファイル、メイン プロファイル、高度なプロファイル。
読み取りと書き込みが可能です。
MFPKEY_RDSUBPIXELSEARCH エンコーダーが RD ベースのサブピクセル MV 検索を使用するかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_REENCENDBUFFERSIZE セグメントの再エンコードの場合は、バッファー サイズを指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_REENCDURATION セグメントの再エンコードの場合は、再エンコードするセグメントの期間を指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_REENCQPREF セグメントの再エンコードでは、開始セグメントの前のフレームの量子化器を指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_REENCSTARTBUFFERSIZE セグメントの再エンコードの場合、開始バッファーの完全性を指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_RMAX 制約付き 2 パス可変ビット レート (VBR) に使用されるピーク ビット レートを 1 秒あたりのビット数で指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取りと書き込みが可能です。
MFPKEY_TOTALFRAMES エンコード 処理中にエンコーダーに渡されるビデオ フレームの数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取り専用です。
MFPKEY_VBRENABLED コーデックで可変ビット レート (VBR) エンコードを使用するかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
読み取りと書き込みが可能です。
MFPKEY_VBRQUALITY 品質ベース (1 パス) 可変ビット レート (VBR) エンコードの実際の品質レベルを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_VIDEOSCALING コーデックでビデオ スケーリングの最適化を使用するかどうかを指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
書き込み専用です。
MFPKEY_VIDEOWINDOW モデル バッファーに収まるコンテンツの量をミリ秒単位で指定します。
Windows XP 以降。
高度なプロファイル。
書き込み専用です。
MFPKEY_VOLHEADERFORREENCODE セグメントの再エンコードの場合は、再エンコードされるファイルのコーデック プライベート データを指定します。
Windows Vista 以降。
Simple Profile、Main Profile、Advanced Profile、Image。
書き込み専用です。
MFPKEY_VTYPE インターレースソースビデオを検出するためにコーデックが使用するロジックの種類を指定します。
Windows XP 以降。
高度なプロファイル。
書き込み専用です。
MFPKEY_ZEROBYTEFRAMES 前のフレームと重複していたためにスキップされたビデオ フレームの数を指定します。
Windows XP 以降。
Simple Profile、Main Profile、Advanced Profile。
読み取り専用

 

要件

要件
クライアント
Windows XP、Windows Vista、または Windows 7
ヘッダー
Wmcodecdsp.h
[DLL]
Wmvencod.dll

関連項目

Codec オブジェクト

コーデックの実装