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