2012-11-07 206 views
3

問題背景 - 有兩個不同的Windows應用程序試圖同時訪問計算機上的網絡攝像頭。目前,只有一個應用程序可以訪問它。我希望能夠讓這兩個應用程序同時訪問攝像頭。我的問題的一個常見例子是,Skype和雅虎通Messenger試圖同時訪問計算機上的網絡攝像機。同時從多個應用程序訪問網絡攝像頭

我發現幾個軟件(manycam.com,http://www.splitcamera.com/),允許這在Windows上。但我不確定他們是如何實現它的。我想自己編寫代碼來實現這一點,因爲我的代碼需要與其他API集成。

我很感激,如果有人可以闡明如何寫一個設備包裝來實現這一點。

回答

2

內核攝像頭驅動註冊幾個OS定義的回調。其中一個回調用於輸出流。專用的Windows應用程序有一個到這個流的接口 - 你需要做一些關於這個主題的閱讀,這不是SO可以涵蓋的範圍。您需要一個將在客戶端應用程序和相機驅動程序之間分層的組件。該組件應該攔截攝像頭驅動程序的輸出並將其複製到註冊客戶端。這可以通過內核(過濾器驅動程序)或用戶模式(最好)來實現。 http://msdn.microsoft.com/en-us/library/windows/hardware/ff557573%28v=vs.85%29.aspx是一個很好的開始。

注意:此功能可能已經由您的相機軟件支持(儘管我認爲機會非常渺茫),在這種情況下,您應該深入研究相應的文檔。

相關問題