2012-06-27 34 views
0

如何在不創建捕獲窗口的情況下連接到視頻捕獲驅動程序。這可能嗎 ?換句話說,我想從用戶網絡攝像頭捕捉視頻而不顯示預覽窗口。連接到捕獲驅動程序而不創建窗口

+0

@MicahArmantrout如果您對這個主題沒有任何意見,請不要提供任何建議。人們熟悉這一點就知道我試過做什麼。不管怎樣,謝謝你。 – saber

回答

2

您只需要一個窗口只與傳統的Video for Windows API。使用DirectShowMedia Foundation,視頻捕獲不需要窗口。在C#中,您可以使用開源的DirectShow.NETMedia Foundation.NET庫來連接這些API。

僅供參考:DirectShow.NET在C#中包含CapWMV示例,該示例將視頻捕獲到文件中。

使用WM ASF作家濾波器儘管底層庫由LGPL覆蓋,以創建一個 WMV文件甲.NET示例應用程序,這 樣品被釋放公共領域。它分佈在希望 ,它將是有用的,但沒有任何擔保;甚至沒有適銷性或特定 的適用性暗示保證。

+0

+1感謝您的回覆羅馬,但我認爲DirectShow比VfW更復雜,對嗎?似乎沒有辦法,我必須切換到DirectShow或Media Foundation。 – saber

+0

嗯,這些API可能有些困難,但它們不是關於視頻捕捉的onyl--它們是多媒體API。 'Video for Windows'真的被棄用了,我寧願你不要使用它。我會說最豐富的API是DirectShow - 更兼容的硬件,更多示例代碼,跨Windows版本的兼容性。 –

+0

感謝您的幫助羅馬:) – saber

1

使用VfW的,你需要(至少)創建視頻/捕獲窗口,但你可以給它一個空的窗口句柄作爲父,並使其不可見。來自VfW庫的所有通信都通過StdCall回調完成。 我不是100%,但我不認爲你需要運行消息泵。

由於Roman says你應該看看DirectShow,因爲它現在已經在15年前廢棄了VfW。

+0

+1感謝您的幫助。 – saber

相關問題