2014-01-17 123 views
10

我想從連接到我的電腦的多個網絡攝像機捕捉視頻。使用一個網絡攝像機很容易,但我怎樣才能從多個來源獲得視頻流? 是否可以選擇使用哪臺相機作爲一個流?使用getUserMedia從多個網絡攝像機捕捉視頻

     navigator.getUserMedia ({ 
         video: true 
     }, function (oMedia) { 
         var video = document.getElementById ('tVideo1'); 
         video.src = window.URL.createObjectURL (oMedia); 
     }); 

回答

3

您將需要使用getSources API,這恐怕不是很好的支持。我認爲Chrome has a version of it可用隱藏在配置標誌後面,但除此之外,除了等待外,沒有什麼可以做的。

不是你想聽到的答案我知道,對不起。

2

您可以使用彈出窗口同時捕捉多個視頻流。我只有一臺相機,所以我無法測試這個解決方案。在Chrome中,我假設用戶可以點擊每個子窗口地址欄中的攝像頭圖標來選擇獨立的源。當Firefox詢問使用設備的權限時,會詢問您要使用哪臺相機,因此甚至可以使用iframe而不是Firefox的彈出窗口。

3

我對你的問題很感興趣,所以我開始研究'getusermedia多相機'。

幾個小時後,當我快要放棄時,我碰到了this google group discussion

我提到您的問題,看看您的目標是來自所有網絡攝像頭的流應該同時出現,還是希望向用戶展示選擇攝像頭供稿的選項。您似乎希望用戶選擇Feed。如果是後一種情況,那麼在上面的鏈接中,Vikas(在他的8/15/2013消息中)描述了一種實現這一點的方法。您需要啓用WebRTC枚舉源標記,然後使用MediaStreamTrack.getSources獲取所有源,並將sourceId傳遞給getUserMedia,例如navigator.getUserMedia({「video」:{optional:[{sourceId:「--- YOUR ID HERE- - 「}]}},fun,errfun);.而且似乎其中一位用戶能夠成功運行它。

Here's the sourcecode我看到了。 這些信息將特定於Chrome金絲雀或Firefox。我只是以爲我會分享它,如果你還沒有遇到這個問題,那可能會對你有所幫助。我已經實現了一個應用程序,其中多個網絡攝像頭在單個屏幕上提供,但更簡單,因爲它是桌面應用程序。

+0

這就是我在下面提到的... –

相關問題