2014-01-17 121 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

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

相关问题