Met WebRTC is het eenvoudig om de gebruiker audio- en videobronnen te laten kiezen in een browser. Niet alle webgebaseerde video-apps implementeren echter bediening om de webcamvideobron te wijzigen.
Bij sommige browsers is dit geen probleem. Zo laten zowel Firefox als Edge gebruikers een videobron per site kiezen. Hoewel Google Chrome gebruikers hun standaardwebcam laat kiezen via de speciale chrome://settings/content/camera-URL, wordt deze standaardcamerakeuze echter niet gebruikt door WebRTC. Veel gebruikers hebben hierover geklaagd op de Google Chrome-forums, maar er is nog geen oplossing in zicht.
Gebruiken gebruikers dus apps die geen videobronselectie implementeren (zoals vMix) én een browser die geen site-gebaseerde videobronselectie toestaat (zoals Chrome), dan zitten ze vast. Video-apps die gebruikers geen camera laten kiezen, maken uiteindelijk een willekeurige keuze, wat betekent dat gebruikers mogelijk niet de camera kunnen gebruiken die ze willen.
Gelukkig is er een snelle truc die we kunnen gebruiken om een webgebaseerde video-app in Chrome te dwingen een specifieke camera te selecteren.
Zo doe je dit voor de vmixcall.com-service van vMix:
- Open Chrome en start je videochatsessie.
- Open „Hulpprogramma’s voor ontwikkelaars” in Chrome met de sneltoets
⌥ Option+⌘ Cmd+i, of via het menuMore Tools→Developer Tools. - Plak de volgende code in het standaard tabblad „Console” en druk op 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)
Zodra dat is gedaan, zou Chrome automatisch moeten overschakelen naar de Camo-videobron. Werkt deze omweg niet voor jou, laat het ons dan weten in de reacties, of neem rechtstreeks contact met ons op zodat we je kunnen helpen.
Zo ziet dat eruit:
Wil je dit in de toekomst niet meer nodig hebben, vraag je videoprovider dan om een videoselectie aan hun app toe te voegen.
