共用方式為


使用 Windows 媒體視訊 9 螢幕編解碼器取得良好的結果

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

Windows Media Video 9 Screen 編解碼器的設計目的是要產生高度壓縮的視訊以進行螢幕擷取。 由於大部分螢幕擷取的需求牽涉到相當簡單且靜態的影像,因此達到的高壓縮層級通常並不表示影像品質的絕佳犧牲。 不過,每個螢幕擷取都不同,而產生的影像品質可能會視情況而有所不同。

判斷螢幕編解碼器會話設定檔設定的最佳方式是使用品質型變數位元速率資料流程來編碼測試檔案。 將品質設定為您想要的值,並將螢幕擷取編碼,就像您錄製最終檔案一樣。 寫入檔案時,請使用非同步讀取器物件播放它,並定期呼叫 IWMReaderAdvanced::GetStatistics。 藉由監視每個呼叫之WM_READER_STATISTICS結構之 dwBandwidth成員的值,您可以判斷達到所需品質所需的大約位元速率。 然後,您可以將該位速率用於常數位元速率編碼。

如果您發現您想要的品質需要比可用於傳遞案例更高的位元速率,您可以嘗試下列技術,從編解碼器取得更高的效率。

  • 針對螢幕擷取使用較小的解析度。 擷取比您需要更大的螢幕解析度,也可以藉由呈現所需的更多資訊來為檢視器建立混淆。
  • 在螢幕擷取中使用較少的圖形。 Windows 媒體視訊 9 螢幕編解碼器已優化,以高品質編碼 Windows 基本類型和文字。 通常是因為點陣圖圖形而發生問題,這通常包含數千種個別色彩。 擷取時畫面上的點陣圖越少,結果就越好。 如果您無法從螢幕擷取中排除圖形,有數種方式可將點陣圖對影像品質的影響降到最低:
    • 減少圖形的大小。
    • 減少同時出現在螢幕上的個別圖形數目。
    • 減少圖形的移動量。 例如,如果圖形位於視窗中,請盡可能讓視窗保持固定狀態。
    • 請避免將滑鼠指標移到圖形上,或拖曳視窗或其他元素到圖形上。
  • 使用較慢 的畫面播放速率。 螢幕擷取通常以非常低的畫面播放速率有效, (有時每秒 4 或 5 個畫面格) 。
  • 減少隨附音訊的位元速率。

此外,編解碼器不支援調整視訊矩形的大小。 換句話說,如果您嘗試使用編解碼器,將 800 x 600 畫面編碼為 640 x 480 視訊矩形,產生的視訊將會產生大量成品,可能會使螢幕上的大部分文字無法辨識。

設定螢幕擷取資料流程

設定資料流程