Camera 获取远程摄影机的流

Camera 获取远程摄影机的流,camera,stream,webrtc,Camera,Stream,Webrtc,我需要在连接到网络摄像头的远程计算机上启动实时流, 然后连接到远程ip地址并查看实时流,就像安全网络摄像头一样。 在我的客户端上,我希望能够在浏览器中看到流 到目前为止,我所尝试的: 远程pc上的VLC:我启动流(MMS、HTTP或RSTP),然后将流作为对象封装在html页面中。 这是可行的,但我有一个高延迟,并不是所有的浏览器都支持x-vlc-plugin WebRTC。在我看来,这是最好的解决办法。直接流,非常低的延迟。 我尝试了在internet上找到的所有解决方案,它们也集成了nod

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

到目前为止,我所尝试的:

  • 远程pc上的VLC:我启动流(MMS、HTTP或RSTP),然后将流作为对象封装在html页面中。 这是可行的,但我有一个高延迟,并不是所有的浏览器都支持x-vlc-plugin

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

  • 我在“服务器”(远程pc)上启动流
  • 当我进入客户端时,我在浏览器中键入远程PC的ip地址和端口。理论上,我应该能够看到远程流,但浏览器要求允许使用我的本地摄像头
你有什么建议或解决办法吗?我做错了什么? 我尝试的上一个项目:

在本项目中:

开发人员使用流的中继。 按钮可以工作,但我不知道如何使用它,即如何捕捉继电器并在客户端上显示它


谢谢您的建议。

webRTC有三种常见的API

getUserMedia:用于使用浏览器在摄像头/麦克风之间进行通信和流媒体传输(请求访问摄像头/麦克风的权限)

RTCDataChannel:用于在连接上发送/接收任何类型数据的数据通道

RTPeerConnection:用于创建对等连接

您不需要getUserMedia

查找getUserMedia(),此方法将摄像头和麦克风的访问请求发送给用户,您可以将这两个布尔值设置为false,也可以小心地将其删除

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

无法跳过浏览器询问。不想跳过浏览器问题。但浏览器要求使用我的本地摄像头。我不想那样。我只希望能够看到远程流。在执行createOffer时,您还需要使用offerToReceiveVideo,因为您不发送媒体。我假设您正在运行某个节点,它允许您在不需要外部服务器的情况下交换报价/答案和候选人。