共用方式為


MSDV 驅動程式

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

MSDV 是適用於 DV 攝影機的 Microsoft Windows 驅動程式模型 (WDM) 驅動程式。 當裝置插入時,驅動程式會顯示為 DirectShow 篩選。 它會在兩個篩選類別中列舉:

  • CLSID_VideoInputDeviceCategory (“視訊擷取來源”)
  • AM_KSCATEGORY_RENDER (“WDM 串流轉譯裝置”)

篩選條件的易記名稱 Microsoft DV Camera and VCR或本地化的對等專案。 在某些裝置中,Description 屬性包含特定模型的描述,您可以使用這個模型,而不是一般易記名稱。 如需詳細資訊,請參閱 選取擷取裝置

MSDV 有兩個輸出針腳。 一個針腳提供包含交錯音訊和視訊數據的 DV 畫面。 另一個針腳會提供不含音訊的僅限視訊畫面。 MSDV 無法同時從兩個針腳串流,因此一次只能連接一個輸出針腳。 如需從 DV 裝置擷取視訊的詳細資訊,請參閱 將 DV 擷取到檔案

從裝置擷取 dv 資料

大多數 DV 攝影機都有一個錄像帶錄音機 (VTR) 子單位,可將數據從磁帶傳輸到計算機。 針對應用程式,從磁帶擷取的運作方式與擷取實時視訊的運作方式相同。 唯一的差別在於應用程式必須控制外部磁帶傳輸 — 啟動和停止磁帶、倒轉等等。 為此,MSDV 會公開 IAMExtDeviceIAMExtTransportIAMTimecodeReader 介面。 如需控制 VTR 的詳細資訊,請參閱 控制 DV Camcorder

您也可以將 DV 從電腦傳輸到攝影機。 然後,影片可以在攝影機的上線畫面中檢視,或錄製到磁帶。 為了支援這項功能,MSDV 具有可接收交錯 DV 數據流的輸入針腳。 連接輸入針腳時,MSDV 會做為轉譯器篩選,而不是擷取篩選。 MSDV 不支援在此模式中搜尋。 如需將 DV 傳送至裝置的詳細資訊,請參閱 將 DV 從檔案傳輸到磁帶

傳輸 dv 資料至裝置

請注意,輸入和輸出針腳無法同時連接,因為裝置無法同時雙向串流。

在許多攝影機中,在 VTR 模式和相機模式之間切換會導致裝置關閉。 因此,當使用者切換模式時,DirectShow 可能會遺失裝置。 如需裝置移除事件的相關信息,請參閱 裝置移除通知

言論

如需 MSDV 驅動程式支援哪些 DV 格式的詳細資訊,請參閱 DV 影片子類型

使用 MSDV 建置篩選圖形的一些秘訣:

  • 您無法使用 IGraphBuilder::Render 在 MSDV 上轉譯輸出釘選。 (Filter Graph Manager 會嘗試將輸出釘選連接到 MSDV 的輸入針腳,但失敗。請改用 IGraphBuilder::ConnectICaptureGraphBuilder2::RenderStream

  • 當篩選圖形包含 MSDV 時,MSDV 應該提供圖形的參考時鐘。 從 DirectX 8.0 起,篩選圖形管理員會自動選擇 MSDV 作為參考時鐘。 使用舊版時,您應該在 Filter Graph Manager 上呼叫 IMediaFilter::SetSyncSource 方法。 如需時鐘的詳細資訊,請參閱 DirectShow 中的 Time 和 Clocks

  • 視裝置而定,IAMExtDeviceIAMExtTransportIAMTimeCodeReader 中的某些方法可能會傳回 Windows 錯誤碼,而不是 HRESULT 值。 可能的錯誤碼包括下列專案。

    錯誤碼 描述
    ERROR_TIMEOUT 外部裝置命令已逾時。
    ERROR_REQ_NOT_ACCEP 裝置不接受這個外部裝置命令。
    ERROR_NOT_SUPPORTED 裝置不支援此外部裝置命令。
    ERROR_REQUEST_ABORTED 已中止外部裝置命令。 可能已移除裝置,或發生總線重設。

     

裝置資訊

在 Windows Millennium Edition 和 Windows XP 中,除了 FriendlyName 属性之外,DV 篩選器的裝置 Moniker 還支援 Description 属性。 此屬性會傳回取自 INF 檔案之裝置的描述,該檔案通常包含裝置的品牌名稱。 不過,並非所有裝置型號都支援此屬性。

如需裝置 Moniker 的詳細資訊,請參閱使用系統裝置列舉值

時鐘時間

MSDV 驅動程式會使用包含在 1394 數據封包中的 1394 總線時鐘來衍生時鐘。 它會使用這些值來時間戳 DV 媒體範例。 因為這個來源時鐘不是計算機系統時鐘,因此時間最終會偏離計算機系統時鐘。 不過,如上所述,根據預設,篩選圖形管理員會選取 MSDV 作為圖形參考時鐘。

IAMDroppedFrames 介面會報告驅動程式目前卸除框架的量值;此值可能不會與指定時間的實際已卸除畫面數完全同步處理。 如果卸除框架,表示系統不平衡(數據生產超過數據耗用量)。 例如,使用者的硬碟可能不夠快,無法支援 DV 擷取速率。

DirectShow 篩選

DirectShow 中的數位視訊