我想从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-peer,webcam-http-streaming,livecam,video stream等),但是它们都不能解决我的问题,我很困惑。
那么,NodeJS是否具有一些本机api来获取视频源,以便通过服务器上的WebRTC进行流式传输,就像在浏览器中一样?或者我是否应该为此目的使用一些库/包?
目标是将USB网络摄像头插入(即)Raspberry Pi中,然后将视频从NodeJS服务器流传输到客户端。
我真的不想为此使用服务器上的浏览器。
任何建议将不胜感激,谢谢!