Я хочу получить источник видео с веб-камеры на сервере 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);
<div id='video-space'>
<video autoplay></video>
</div>
Полагаю, существует какой-то простой способ реализовать то же самое, но только для NodeJS на стороне сервера, поскольку он основан на движке V8 и, вероятно, имеет те же аппаратные API, что и в браузере. Пожалуйста, поправьте меня, если я ошибаюсь.
Я уже проверил несколько ссылок ( simple-peer , webcam-http-streaming , livecam , видеопоток и т.д.) но никто из них не решает мою проблему, я в замешательстве.
Итак, есть ли у NodeJS какой-то нативный API для получения источника видео для потоковой передачи через WebRTC на сервер, как в браузере, или я должен использовать для этой цели некоторую библиотеку / пакет?
Цель состоит в том, чтобы подключить USB-камеру к (т.е.) Raspberry Pi и передавать потоковое видео прямо с сервера NodeJS на клиент.
Я действительно не хочу использовать браузер на сервере для этой цели.
Любой совет будет оценен, спасибо!