NodeJS получает источник видео с веб-камеры на сервере для webRTC - PullRequest
0 голосов
/ 01 июля 2018

Я хочу получить источник видео с веб-камеры на сервере 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 на клиент.

Я действительно не хочу использовать браузер на сервере для этой цели.

Любой совет будет оценен, спасибо!

...