Con WebRTC è facile permettere all’utente di scegliere le fonti audio e video nel browser. Tuttavia, non tutte le app video basate sul web implementano controlli per cambiare la fonte video della webcam.
Con alcuni browser questo non è un problema. Per esempio, sia Firefox che Edge permettono agli utenti di selezionare una fonte video per ogni sito. Tuttavia, sebbene Google Chrome permetta agli utenti di scegliere la propria webcam predefinita usando l’URL speciale chrome://settings/content/camera, questa scelta della fotocamera predefinita non viene usata da WebRTC. Molti utenti si sono lamentati di questo nei forum di Google Chrome, ma non si vede alcuna soluzione all’orizzonte.
Di conseguenza, quando gli utenti usano app che non implementano la selezione della fonte video (come vMix) insieme a un browser che non permette la selezione della fonte video per sito (come Chrome), si trovano bloccati. Le app video che non permettono agli utenti di scegliere una fotocamera finiscono per fare una scelta arbitraria, il che significa che gli utenti potrebbero non riuscire a usare la fotocamera che vogliono.
Per fortuna, c’è un trucco rapido che possiamo usare per forzare un’app video basata sul web su Chrome a selezionare una fotocamera specifica.
Ecco come farlo per il servizio vmixcall.com di vMix:
- Apri Chrome e avvia la tua sessione di videochiamata.
- Apri «Strumenti per sviluppatori» in Chrome con la scorciatoia da tastiera
⌥ Option+⌘ Cmd+i, oppure usando il menuMore Tools→Developer Tools. - Incolla il seguente codice nella scheda predefinita «Console» e premi invio:
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)
Fatto questo, Chrome dovrebbe passare automaticamente alla fonte video Camo. Se questa soluzione alternativa non funziona per te, faccelo sapere nei commenti, oppure contattaci direttamente così possiamo aiutarti.
Ecco come si presenta:
Se vuoi evitare la necessità di questo in futuro, chiedi al tuo fornitore video di aggiungere una selezione video nella sua app.
