[與此頁面相關的功能
DirectShow
是舊版功能。
MediaPlayer
和
IMFMediaEngine
已取代它。
MediaPlayer
和
IMFMediaEngine
已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用
MediaPlayer
和
IMFMediaEngine
,而不是
DirectShow
。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
影片轉譯器篩選是強固且全用途的視訊轉譯器。
在 Windows XP 和更新版本上,預設視訊轉譯
器是影片混合轉譯器篩選 7
(VMR-7) 。 VMR-7 和視訊轉譯器都有易記名稱「影片轉譯器」。在舊版平臺上,影片轉譯器是預設轉譯器。 請參閱
選擇正確的轉譯器
。
如果視訊卡支援 DirectDraw 和重迭介面,影片轉譯器就會使用 DirectDraw 和重迭介面。 Filter Graph 管理員會公開
IVideoWindow
介面,讓應用程式能夠在影片轉譯器上設定和擷取屬性。 使用較新的視訊卡時,影片轉譯器支援全螢幕轉譯。 否則,篩選圖形管理員會自動切換至全螢幕
轉譯器
篩選準則,以取得全螢幕模式。 如需詳細資訊
,請參閱 IVideoWindow::p ut_FullScreenMode
。
![重要]
一般而言,此篩選準則的視訊視窗會在篩選圖形管理員所建立的背景工作執行緒上處理訊息。 Howerver,如果應用程式直接使用
CoCreateInstance
建立篩選,則視訊視窗會處理應用程式執行緒上的訊息。 在此情況下,應用程式執行緒必須有訊息迴圈,才能將訊息分派至視訊視窗。 此外,執行緒在對影片轉譯器的最終
發行
呼叫之前不得結束,這會在篩選圖形管理員關閉時發生。 否則,應用程式可能會死結。
IBaseFilter
、
IBasicVideo、IBasicVideo2
、
IDirectDrawVideo
、
IKsPropertySet
、
IMediaPosition、IMediaSeeking
、
IQualityControl
、
IQualProp
、
IVideoWindow
輸入釘選媒體類型
未壓縮的視訊格式。
輸入針腳介面
IMemInputPin
、
IOverlay
、
IPin、IPinConnection
、
IQualityControl
輸出釘選媒體類型
輸出針腳介面
篩選 CLSID
CLSID_VideoRenderer
屬性頁 CLSID
沒有屬性頁。
quartz.dll
Windows XP 和更新版本:
MERIT_UNLIKELY
CLSID_LegacyAmFilterCategory
在偵錯版本的 Quartz.dll中,如果LOG_TRACE偵錯層級設定為 5 或更新版本,影片轉譯器會在視訊視窗上顯示每個畫面的時間戳記。 這些數位不會出現在 DLL 的零售版本中。 如需詳細資訊,請參閱
偵錯輸出函式
。
下列備註適用于篩選開發人員:
如果視訊圖形卡支援 YUV 重迭介面,影片轉譯器會接受 YUV 格式。 不過,當它第一次連接到上游篩選時,影片轉譯器需要符合目前監視器設定色彩深度的 RGB 格式。 例如,如果目前的顯示設定為 24 位色彩,上游篩選必須能夠提供 24 位 RGB 視訊。 當篩選圖形切換至執行狀態時,影片轉譯器會交涉動態格式變更至適當的 YUV 色彩空間。
透過使用 RGB 類型進行連線,影片轉譯器可確保它可以使用 GDI,以防 DirectDraw 無法使用。 如果另一個應用程式使用視訊記憶體,如果視訊矩形會跨多監視器系統上的兩個監視器,或視訊矩形被另一個視窗完全遮蔽,則會切換至 GDI。
影片混合轉譯器不會執行這種類型的動態格式變更,而且不需要 RGB 媒體類型,因為它永遠不會使用 GDI 進行轉譯。
若要交涉格式變更,影片轉譯器會使用新的媒體類型呼叫
IPin::QueryAccept
。 如果上游篩選準則傳回S_OK,影片轉譯器會將新媒體附加至下一個範例。 上游篩選應該在每個範例上呼叫
IMediaSample::GetMediaType
。 如果
GetMediaType
傳回非
Null
值,則表示格式變更,而上游篩選應該透過切換輸出類型來回應。 (請勿在
QueryAccept
方法中切換類型。) 上游篩選應該至少接受主要 RGB 類型,而且最好支援常見的 YUV 類型。 在串流期間,視訊轉譯器可能會在 YUV 和 RGB 類型之間來回切換任意次數。 影片轉譯器不接受上游篩選起始的動態格式變更。
當影片轉譯器繪製到 DirectDraw 重迭介面時,它會為其輸入針腳配置單一緩衝區。 如果上游篩選嘗試使用多個緩衝區強制連接,影片轉譯器將無法使用重迭介面。
DirectShow 篩選準則