Pular para o conteúdo principal
Ajuda

Como trocar a fonte de vídeo da webcam em webapps que não oferecem suporte a isso

Aidan Fitzpatrick

Publicado em 25 de agosto de 2020· Atualizado em 17 de novembro de 2020

Cover image for: Como trocar a fonte de vídeo da webcam em webapps que não oferecem suporte a isso

Com o WebRTC, é fácil permitir que o usuário escolha as fontes de áudio e vídeo em um navegador. No entanto, nem todos os aplicativos de vídeo baseados na web implementam controles para trocar a fonte de vídeo da webcam.

Com alguns navegadores, isso não é um problema. Por exemplo, tanto o Firefox quanto o Edge permitem que os usuários selecionem uma fonte de vídeo por site. No entanto, embora o Google Chrome permita que os usuários escolham a sua webcam padrão usando a URL especial chrome://settings/content/camera, essa escolha de câmera padrão não é usada pelo WebRTC. Muitos usuários já reclamaram sobre isso nos fóruns do Google Chrome, mas não há solução à vista.

Assim, quando os usuários usam aplicativos que não implementam a seleção de fonte de vídeo (como o vMix) e um navegador que não permite a seleção de fonte de vídeo por site (como o Chrome), eles ficam sem saída. Aplicativos de vídeo que não permitem que os usuários escolham uma câmera acabam fazendo uma escolha arbitrária, o que significa que os usuários podem não conseguir usar a câmera que desejam.

Felizmente, existe um truque rápido que podemos usar para forçar um aplicativo de vídeo baseado na web no Chrome a selecionar uma câmera específica.

Veja como fazer isso para o serviço vmixcall.com, da vMix:

  1. Abra o Chrome e inicie a sua sessão de videochamada.
  2. Abra as “Ferramentas do desenvolvedor” no Chrome com o atalho de teclado ⌥ Option + ⌘ Cmd + i, ou usando o menu More Tools → Developer Tools.
  3. Cole o código a seguir na aba padrão “Console” e pressione 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)

Feito isso, o Chrome deve trocar automaticamente para a fonte de vídeo do Camo. Se essa solução alternativa não funcionar para você, conte para nós nos comentários ou entre em contato diretamente para que possamos ajudar.

Veja como fica:

Se você quiser evitar a necessidade disso no futuro, pressione o seu provedor de vídeo para adicionar uma seleção de vídeo no aplicativo.


Sobre o autor

Aidan Fitzpatrick

Fundador, CEO

Aidan fundou a Reincubate em 2008, depois de criar a primeira ferramenta de recuperação de dados para iOS do mundo. Desde então, ele transformou a empresa em uma das principais ISVs do mundo, trabalhando com empresas como AMD, Qualcomm e HP para desenvolver recursos relevantes de aprendizado de máquina para softwares de vídeo, com destaque para o ecossistema de aplicativos Camo. Sob a liderança de Aidan, a Reincubate já recebeu quatro vezes a mais alta honraria empresarial do Reino Unido, conquistou um lugar na lista 100 Tech do The Sunday Times e obteve reconhecimento do setor com indicações ao Apple Design Award e à App Store. Seu trabalho e suas técnicas são frequentemente citados em artigos acadêmicos sobre perícia forense móvel, e ele já foi convidado a palestrar em eventos promovidos por empresas como Google, Microsoft e Snap.


Artigos relacionados

Precisa de ajuda?

Procuramos responder a todas as mensagens em até um dia útil.

support@reincubate.com
Ajuda