如何在不支持的网络应用程序中更改网络摄像头视频源

更新
Cover image for: 如何在不支持的网络应用程序中更改网络摄像头视频源

使用WebRTC可以很容易地使用户在浏览器中选择音频和视频源 。但是,并非所有基于Web的视频应用程序都实现用于更改网络摄像头视频源的控件。

对于某些浏览器,这不是问题。例如,Firefox和Edge都允许用户为每个站点选择视频源。但是,尽管Google Chrome浏览器允许用户使用特殊的chrome://settings/content/camera URL选择默认的网络摄像chrome://settings/content/camera ,但WebRTC并未使用此默认的摄像头选项。许多用户在Google Chrome浏览器论坛中对此有所抱怨 ,但是目前还没有解决方案。

因此,如果用户使用未实现视频源选择的应用程序(例如vMix),并且使用了不允许基于站点的视频源选择的浏览器(例如Chrome),则会陷入困境。不允许用户选择摄像机的视频应用最终会做出任意选择,这意味着用户可能无法使用他们想要的摄像机。

幸运的是,我们可以使用一个快速的技巧来迫使Chrome上的基于网络的视频应用选择特定的摄像头。

以下是vMix的vmixcall.com服务的实现方法:

  1. 加载Chrome并开始您的视频聊天会话。

  2. 使用⌥ Option + ⌘ Cmd + i键盘快捷键或使用“ More Tools →“ Developer Tools菜单,在Chrome中打开“开发人员工具”。

  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点至下午5点。 时间目前是 2:28 PM的 GMT。

我们力争在一个工作日内答复所有垂询。

我们的支持团队非常棒

我们可以改进这篇文章吗?

我们喜欢听取用户的意见:为什么不给我们发电子邮件,发表评论或发推文 @reincubate?

© 2008 - 2024 Reincubate Ltd. 保留所有权利。 在英格兰和威尔士注册 #5189175, VAT GB151788978. Reincubate®和Camo®是注册商标。 隐私政策 & 条款.