共用方式為


Windows Media Video 9 編碼器

Windows Media Video 9 編碼器會編碼視訊串流。 編碼器支援下列四種編碼輸出類別。

  • Windows Media Video 9 簡單設定檔
  • Windows Media Video 9 主要設定檔
  • Windows Media Video 9 進階設定檔
  • Windows Media Video 9.1 影像

類別識別碼

Windows Media Video 編碼器的類別識別碼 (CLSID) 是由常數 CLSID_CWMV9EncMediaObject來表示。 您可以呼叫 CoCreateInstance來建立視訊編碼器的實例。

介面

視訊編碼器物件會公開 IMediaObject 介面,讓物件可以做為 DirectX Media Object (DMO) ,並公開 IMFTransform 介面,讓物件可作為 Media Foundation Transform (MFT) 。

視訊編碼器的行為為 DMO 或 MFT,視您取得的介面和執行 Windows 的版本而定。 下表顯示視訊編碼器的行為為 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

輸出格式

下表顯示四個字元代碼, (FOURC) 對應至編碼輸出類別。

類別 FOURCC
Windows Media Video 9 簡單設定檔 「WMV3」
Windows Media Video 9 主要設定檔 「WMV3」
Windows Media Video 9 進階設定檔 「WVC1」
Windows Media Video 9.1 影像 「WMVP」 for 9.1, 「WVP2」 for 9.1 version 2

 

若要區分 Simple Profile 和 Main Profile,請設定 MFPKEY_DECODERCOMPLEXITYREQUESTED 屬性。

屬性

Windows Media Video 9 編碼器支援下列屬性。

屬性 描述
MFPKEY_ASFOVERHEADPERFRAME 指定用來儲存壓縮內容之容器所需的每個封包額外負荷,以位元組為單位。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯寫。
MFPKEY_AVGFRAMERATE 指定每秒畫面格中視訊內容的平均畫面播放速率。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯讀。
MFPKEY_BAVG 指定緩衝區視窗,以毫秒為單位,以毫秒為單位,以MFPKEY_RAVG) 指定的平均比特 (率 (VBR) 資料流程。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
讀取/寫入
MFPKEY_BDELTAQP 指定錨點框架的圖片量化程式與 B 框架的圖片量化器之間的差異增加。
Windows XP 和更新版本。
主要設定檔、進階設定檔。
唯寫。
MFPKEY_BMAX 指定緩衝區視窗,以毫秒為單位,以毫秒為單位,以MFPKEY_RMAX) 所指定的尖峰 (位元速率 (VBR) 資料流程。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
讀取/寫入
MFPKEY_BUFFERFULLNESSINFIRSTBYTE 指定編碼的視訊位資料流程是否包含每個主要畫面格的緩衝區完整度值。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯讀。
MFPKEY_CLOSEDENTRYPOINT 指定要在圖片群組開頭使用的編碼模式。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_CODEDFRAMES 指定編解碼器編碼的視訊畫面數目。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯讀。
MFPKEY_CODEDNONZEROFRAMES 指定實際包含資料的編解碼器編碼的視訊畫面數目。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯讀。
MFPKEY_COMPLEXITY 此屬性會由 MFPKEY_COMPLEXITYEX取代。
MFPKEY_COMPLEXITYEX 指定編碼器演算法的複雜度。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔。 進階設定檔。
唯寫。
MFPKEY_COMPRESSIONOPTIMIZATIONTYPE 指定要用於 Windows Media Video 9 進階設定檔編解碼器的優化類型。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
寫入。
MFPKEY_CRISP 指定編解碼器輸出中動作平滑度與影像品質之間取捨的數值標記法。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_DATARATE 未使用。
MFPKEY_DECODERCOMPLEXITYPROFILE 指定編碼內容符合的裝置一致性範本。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯讀。
MFPKEY_DECODERCOMPLEXITYREQUESTED 指定您想要用於視訊編碼的裝置一致性範本。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_DELTAMVRANGEINDEX 指定用來編碼動作向量資訊的方法。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_DENOISEOPTION 指定編解碼器是否會在編碼時使用雜訊篩選。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_DESIRED_VBRQUALITY 指定以品質為基礎的 (1 次) 變數位元速率 (VBR) 編碼所需的品質等級。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_DROPPEDFRAMES 指定編碼期間捨棄的視訊畫面數目。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯讀。
MFPKEY_ENDOFPASS 指定編碼傳遞的結尾。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_FORCEFRAMEHEIGHT 指定編碼視訊的中繼畫面高度。
Windows XP 和更新版本。
進階設定檔。
唯寫。
MFPKEY_FORCEFRAMEWIDTH 指定編碼視訊的中繼畫面寬度。
Windows XP 和更新版本。
進階設定檔。
唯寫。
MFPKEY_FORCEMEDIANSETTING 指定編解碼器是否應該在編碼期間使用中位數篩選。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_FOURCC 指定用來識別您想要使用的編碼器的 FOURCC。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_FRAMECOUNT 已過時。
MFPKEY_FULLFRAMERATE 指定是否允許編碼器卸載畫面。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_INTERLACEDCODINGENABLED 指定編解碼器輸出是否交錯。
Windows XP 和更新版本。
進階設定檔。
唯寫。
MFPKEY_KEYDIST 指定編解碼器輸出中主要畫面格之間的最大時間,以毫秒為單位。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯寫。
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 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯讀。
MFPKEY_PASSESUSED 指定編解碼器將用來編碼內容的傳遞數目。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
讀取/寫入
MFPKEY_PERCEPTUALOPTLEVEL 指定編碼時,編解碼器是否應該使用保守的感知優化。
Windows XP 和更新版本。
主要設定檔、進階設定檔。
唯寫。
MFPKEY_PRODUCEDUMMYFRAMES 指定編碼器是否在重複畫面的位資料流程中產生虛擬框架專案。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_QPPERFRAME 指定 QP。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯寫。
MFPKEY_RANGEREDUX 指定編解碼器應減少視訊的有效色彩範圍的程度。
Windows XP 和更新版本。
進階設定檔。
唯寫。
MFPKEY_RAVG 指定平均位元速率,以每秒位為單位,用於 2 傳遞變數位元速率 (VBR) 編碼。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
讀取/寫入
MFPKEY_RDSUBPIXELSEARCH 指定編碼器是否使用 RD 型子圖元 MV 搜尋。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯寫。
MFPKEY_REENCENDBUFFERSIZE 針對區段重新編碼,指定緩衝區大小。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、影像。
唯寫。
MFPKEY_REENCDURATION 針對區段重新編碼,指定要重新編碼的區段持續時間。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_REENCQPREF 針對區段重新編碼,指定開始區段之前框架的量子化程式。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_REENCSTARTBUFFERSIZE 針對區段重新編碼,指定起始緩衝區完整性。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_RMAX 指定以每秒位為單位的尖峰位元速率,用於限制 2 次變數位元速率 (VBR) 。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
讀取/寫入
MFPKEY_TOTALFRAMES 指定編碼過程中傳遞至編碼器的視訊畫面數目。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯讀。
MFPKEY_VBRENABLED 指定編解碼器是否會使用變數位元速率 (VBR) 編碼。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
讀取/寫入
MFPKEY_VBRQUALITY 指定以品質為基礎的實際品質等級, (1 次) 變數位元速率 (VBR) 編碼。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_VIDEOSCALING 指定編解碼器是否會使用視訊縮放優化。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯寫。
MFPKEY_VIDEOWINDOW 指定可放入模型緩衝區的內容數量,以毫秒為單位。
Windows XP 和更新版本。
進階設定檔。
唯寫。
MFPKEY_VOLHEADERFORREENCODE 針對區段重新編碼,指定要重新編碼之檔案的編解碼器私用資料。
Windows Vista 和更新版本。
簡單設定檔、主要設定檔、進階設定檔、映射。
唯寫。
MFPKEY_VTYPE 指定編解碼器將用來偵測交錯來源視訊的邏輯類型。
Windows XP 和更新版本。
進階設定檔。
唯寫。
MFPKEY_ZEROBYTEFRAMES 指定因為先前畫面重複而略過的視訊畫面數目。
Windows XP 和更新版本。
簡單設定檔、主要設定檔、進階設定檔。
唯讀

 

規格需求

需求
Client
Windows XP、Windows Vista 或 Windows 7
標頭
Wmcodecdsp.h
DLL
Wmvencod.dll

另請參閱

編解碼器物件

編解碼器實作