Ga naar hoofdinhoud
Hulp

Zo wijzig je de webcamvideobron in webapps die dit niet ondersteunen

Aidan Fitzpatrick

Gepubliceerd op 25 augustus 2020· Bijgewerkt op 17 november 2020

Cover image for: Zo wijzig je de webcamvideobron in webapps die dit niet ondersteunen

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:

  1. Open Chrome en start je videochatsessie.
  2. Open „Hulpprogramma’s voor ontwikkelaars” in Chrome met de sneltoets ⌥ Option + ⌘ Cmd + i, of via het menu More Tools → Developer Tools.
  3. 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.


Over de auteur

Aidan Fitzpatrick

Oprichter, CEO

Aidan richtte Reincubate op in 2008, nadat hij ’s werelds eerste tool voor iOS-gegevensherstel had gebouwd. Sindsdien heeft hij het bedrijf uitgebouwd tot een van ’s werelds toonaangevende ISV’s, in samenwerking met bedrijven als AMD, Qualcomm en HP om betekenisvolle machine-learning-functies voor videosoftware te ontwikkelen, met als uithangbord het Camo-app-ecosysteem. Onder Aidans leiding heeft Reincubate vier keer de hoogste zakelijke onderscheiding van het VK gewonnen, een plek veroverd op de 100 Tech-lijst van The Sunday Times, en erkenning in de sector gekregen met nominaties voor de Apple Design Award en de App Store Awards. Zijn werk en technieken worden vaak aangehaald in wetenschappelijke publicaties over mobiele forensica, en hij is uitgenodigd om te spreken op evenementen georganiseerd door bedrijven als Google, Microsoft en Snap.


Gerelateerde artikelen

Hulp nodig?

We streven ernaar om alle berichten binnen één werkdag te beantwoorden.

support@reincubate.com
Hulp