NodeJS从服务器上的网络摄像头获取用于webRTC的视频源

时间:2018-06-30 21:34:03

标签: javascript node.js video-streaming webrtc

我想从NodeJS服务器上的网络摄像头获取视频源,以通过WebRTC将视频流传输到客户端。 有很多示例仅针对浏览器(客户端)实现此方法,但我仍然找不到针对NodeJS(服务器端)的任何可靠解决方案。

在示例this is the basic script中,客户端获取视频源:

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
var constraints = {audio: false, video: true};
var video = document.querySelector("video");
function successCallback(stream) {
  // stream available to console so you could inspect it and see what this object looks like
  window.stream = stream;
  if (window.URL) {
    video.src = window.URL.createObjectURL(stream);
  } else {
    video.src = stream;
  }
  video.play();
}
function errorCallback(error) {
  console.log("navigator.getUserMedia error: ", error);
}
navigator.getUserMedia(constraints, successCallback, errorCallback);
<div id='video-space'>
  <video autoplay></video>
</div>

我想有一种简单的方法来实现相同的功能,但仅用于服务器端的NodeJS,因为它基于V8引擎,并且可能具有与浏览器相同的硬件api。请纠正我的错误。

我已经检查了服务器链接(simple-peerwebcam-http-streaminglivecamvideo stream等),但是它们都不能解决我的问题,我很困惑。

那么,NodeJS是否具有一些本机api来获取视频源,以便通过服务器上的WebRTC进行流式传输,就像在浏览器中一样?或者我是否应该为此目的使用一些库/包?

目标是将USB网络摄像头插入(即)Raspberry Pi中,然后将视频从NodeJS服务器流传输到客户端。

我真的不想为此使用服务器上的浏览器。

任何建议将不胜感激,谢谢!

0 个答案:

没有答案