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