Захват видео с нескольких камер, подключенных через USB-порт к ноутбуку, используя JavaScript - PullRequest
1 голос
/ 01 ноября 2019

В настоящее время я создаю интерфейс, который требует управления для включения или выключения как минимум 2 камер в зависимости от того, какой пользователь нажимает на интерфейс. В настоящее время я пытаюсь выяснить, возможно ли сделать захват видео через javascript или мне следует сделать это с помощью python (я видел некоторые руководства, использующие OpenCV?) И каким-то образом связать это с javascript? Камеры будут подключены к устройству через USB-порты.

любой совет будет отличным! Спасибо!

1 Ответ

0 голосов
/ 02 ноября 2019

Да, это на самом деле тривиально сделать в браузере в наши дни. Вам нужен Media Device API .

Например, чтобы получить список устройств:

const devices = await navigator.mediaDevices.enumerateDevices();

Чтобы получить видео с камеры по умолчанию:

const stream = await navigator.mediaDevices.getUserMedia({video: true});

Чтобы отобразить это видео:

document.querySelector('video').srcObject = stream;

Если вы хотите получить видео с определенного идентификатора устройства, вы указываете его в ограничениях.

const stream = await navigator.mediaDevices.getUserMedia({
  video: {
    deviceId: someDeviceIdGoesHere
  }
});
...