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:
- Abra o Chrome e inicie a sua sessão de videochamada.
- Abra as “Ferramentas do desenvolvedor” no Chrome com o atalho de teclado
⌥ Option+⌘ Cmd+i, ou usando o menuMore Tools→Developer Tools. - 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.
