Как изменить источник видео с веб-камеры в веб-приложениях, которые его не поддерживают

обновленный
Cover image for: Как изменить источник видео с веб-камеры в веб-приложениях, которые его не поддерживают

С WebRTC легко позволить пользователю выбирать источники аудио и видео в браузере. Однако не все веб-видеоприложения реализуют элементы управления для изменения источника видеосигнала веб-камеры.

В некоторых браузерах это не проблема. Например, и Firefox, и Edge позволяют пользователям выбирать источник видео для каждого сайта . Однако, хотя Google Chrome позволяет пользователям выбирать веб-камеру по умолчанию, используя специальный URL-адрес chrome://settings/content/camera , этот выбор камеры по умолчанию не используется WebRTC. Многие пользователи жаловались на это на форумах Google Chrome, но на горизонте не видно решения.

Таким образом, если пользователи используют приложения, которые не реализуют выбор источника видео (например, vMix), и используют браузер, который не позволяет выбирать источник видео на основе сайта (например, Chrome), они застревают. Видеоприложения, которые не позволяют пользователям выбирать видеокамеру, в конечном итоге делают произвольный выбор, что означает, что пользователи не смогут использовать камеру, которую они хотят.

К счастью, есть быстрый способ заставить веб-видеоприложение в Chrome выбрать конкретную камеру.

Вот как это сделать для сервиса vmixcall.com vMix:

  1. Загрузите Chrome и начните сеанс видеочата.

  2. Откройте «Инструменты разработчика» в Chrome с помощью сочетания клавиш ⌥ Option + ⌘ Cmd + i или с помощью меню « More Tools → « Developer Tools .

  3. Вставьте следующий код во вкладку «Консоль» по умолчанию и нажмите Enter:

function gotDevices(deviceInfos) {
  // Look for the Reincubate Camo video input device.
  var deviceId;
  for (deviceInfo of deviceInfos) {
    if (deviceInfo.kind === 'videoinput' && deviceInfo.label === 'Reincubate Camo') {
      deviceId = deviceInfo.deviceId
      break;
    }
  }
  if (deviceId) {
    const constraints = {
      audio: true,
      video: { deviceId: { exact: deviceId } }
    };
    navigator.mediaDevices.getUserMedia(constraints).then(gotStream);
  } else {
    console.error('Unable to find Reincubate Camo video input device.');
  }
}
function gotStream (stream) {
  // Tell the vMix Call session to switch to a different stream.
  try {
    session.gotLocalStream(stream);
  } catch {
    console.error('Unable to trigger vMix Call session stream update.');
  }
}
// Ask the browser for a list of media devices.
navigator.mediaDevices.enumerateDevices().then(gotDevices)

После этого Chrome должен автоматически переключиться на источник видео Camo. Если этот обходной путь не работает для вас, сообщите нам об этом в комментариях или свяжитесь с нами напрямую, чтобы мы могли вам помочь.

Вот как это выглядит:

Если вы хотите избежать необходимости в этом в будущем, просим вас попросить вашего поставщика видео добавить выбор видео в его приложение.

Как мы можем помочь?

Наша служба поддержки здесь, чтобы помочь!

Наш офис работает с понедельника по пятницу с 9:00 до 17:00 по Гринвичу. Время в настоящее время 1:26 ДП с GMT.

Мы стремимся отвечать на все сообщения в течение одного рабочего дня.

Перейти в раздел поддержки › Свяжитесь с нами ›
Наша отличная команда поддержки

Можем ли мы улучшить эту статью?

Нам нравится слышать от пользователей: почему бы не написать нам электронное письмо, оставить комментарий или написать в Твиттере @reincubate?

© 2008 - 2021 Reincubate Ltd. Все права защищены. Зарегистрировано в Англии и Уэльсе #5189175, VAT GB151788978. Reincubate® и Camo® являются зарегистрированными товарными знаками. Политика конфиденциальности & условия. Построен с в Лондоне.