mr.*_*ris 5 javascript video-streaming node.js webrtc
我想从 NodeJS 服务器上的网络摄像头获取视频源,以通过 WebRTC 将视频流式传输到客户端。有很多例子如何仅针对浏览器(客户端)实现这一点,但我仍然找不到任何可靠的 NodeJS(服务器端)解决方案。
在示例中,这是客户端获取视频源的基本脚本:
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);
Run Code Online (Sandbox Code Playgroud)
<div id='video-space'>
<video autoplay></video>
</div>
Run Code Online (Sandbox Code Playgroud)
我想有一些简单的方法可以实现同样的事情,但仅限于服务器端的 NodeJS,因为它基于 V8 引擎,并且可能具有与浏览器中相同的硬件 api。如果我错了,请纠正我。
我已经检查了多个链接(simple-peer、webcam-http-streaming、livecam、video Stream等),但它们都没有解决我的问题,我很困惑。
那么,NodeJS 是否有一些本机 api 来获取视频源,以便通过服务器上的 WebRTC 进行流式传输,就像在浏览器中一样,还是我应该使用一些库/包来实现此目的?
目标是将 USB 网络摄像头插入(即)Raspberry Pi 并将视频从 NodeJS 服务器流式传输到客户端。
我真的不想为此目的在服务器上使用浏览器。
任何建议将不胜感激,谢谢!