获取远程摄像头流

时间:2015-08-08 08:37:02

标签: camera stream webrtc

我需要在连接到网络摄像头的远程计算机上启动实时流, 然后连接到该远程IP地址并查看实时流,或多或少的安全网络摄像头。 在我的客户端上,我希望能够在浏览器中看到该流。

到目前为止我尝试过:

  • 远程PC上的VLC:我启动流(MMS,HTTP或RSTP),然后将流封装为html页面中的对象。 这有效,但我的延迟很高,并非所有浏览器都支持x-vlc-plugin。

  • 的WebRTC。这在我看来是最好的解决方案。直接流,非常低的延迟。 我尝试了我在互联网上找到的所有解决方案,它们还集成了node.js.我也尝试自己构建一些代码,但问题是:

  • 我在“服务器”,即远程电脑上启动流。
  • 当我去客户端时,我在浏览器中输入远程PC的IP地址和端口。理论上我应该能够看到REMOTE流,但是浏览器要求允许使用我的LOCAL相机!

你有一些提示或解决方案吗?我究竟做错了什么? 我试过的最后一个项目:

https://github.com/xat/webcam-binaryjs-demo

在这个项目中:

https://webrtc.github.io/samples/src/content/peerconnection/multiple-relay/ 开发人员使用流的中继。 按钮工作,但我不知道如何使用它,这是如何捕获继电器并在客户端上显示它。

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

webRTC有三个常见的API

getUserMedia :用于在相机/麦克风与浏览器之间进行通信和流媒体(请求访问相机/麦克风的权限) https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia

RTCDataChannel :用于在连接时发送/接收任何类型数据的数据通道 https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel

RTCPeerConnection :用于创建点对点连接 https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection

你不需要getUserMedia

找到getUserMedia(),这个方法向用户发送摄像头和麦克风的访问请求,你可以设置boolean false,或者小心删除它

navigator.getUserMedia({
    video:false,
    audio:true,
},function(mediaStream){...