我想从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 e.t.c . ),但没有一个能解决我的问题,我很困惑 .
那么,NodeJS是否有一些原生api通过服务器上的WebRTC获取流媒体视频源,或者我应该为此目的使用一些库/包?
目标是将USB网络摄像头插入(即)Raspberry Pi,并将视频从NodeJS服务器直接传输到客户端 .
我真的不想为此目的在服务器上使用浏览器 .
任何建议将不胜感激,谢谢!