Saltar al contenido principal
Ayuda

Cómo cambiar la fuente de vídeo de la webcam en aplicaciones web que no lo permiten

Aidan Fitzpatrick

Publicado el 25 de agosto de 2020· Actualizado el 17 de noviembre de 2020

Cover image for: Cómo cambiar la fuente de vídeo de la webcam en aplicaciones web que no lo permiten

Con WebRTC es fácil permitir que el usuario elija las fuentes de audio y vídeo en un navegador. Sin embargo, no todas las apps de vídeo web incluyen controles para cambiar la fuente de vídeo de la webcam.

Con algunos navegadores esto no supone un problema. Por ejemplo, tanto Firefox como Edge permiten a los usuarios seleccionar una fuente de vídeo por sitio. Sin embargo, aunque Google Chrome permite a los usuarios elegir su webcam predeterminada mediante la URL especial chrome://settings/content/camera, WebRTC no utiliza esta elección de cámara predeterminada. Muchos usuarios se han quejado de esto en los foros de Google Chrome, pero no se atisba ninguna solución.

Por eso, cuando los usuarios utilizan apps que no implementan la selección de fuente de vídeo (como vMix) junto con un navegador que no permite la selección de fuente de vídeo por sitio (como Chrome), se quedan atascados. Las apps de vídeo que no permiten a los usuarios elegir una cámara acaban haciendo una elección arbitraria, lo que significa que los usuarios pueden no poder usar la cámara que quieren.

Por suerte, hay un truco rápido que podemos usar para forzar a una app de vídeo web en Chrome a seleccionar una cámara concreta.

Así es como se hace para el servicio vmixcall.com de vMix:

  1. Abre Chrome e inicia tu sesión de videochat.
  2. Abre las «Herramientas para desarrolladores» en Chrome con el atajo de teclado ⌥ Option + ⌘ Cmd + i, o mediante el menú More Tools → Developer Tools.
  3. Pega el siguiente código en la pestaña «Consola» predeterminada y pulsa Intro:
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)

Hecho esto, Chrome debería cambiar automáticamente a la fuente de vídeo de Camo. Si esta solución alternativa no te funciona, cuéntanoslo en los comentarios o ponte en contacto con nosotros directamente para que podamos ayudarte.

Así es como se ve:

Si quieres evitar tener que hacer esto en el futuro, anima a tu proveedor de vídeo a añadir una selección de vídeo en su app.


Sobre el autor

Aidan Fitzpatrick

Fundador, CEO

Aidan fundó Reincubate en 2008 después de crear la primera herramienta de recuperación de datos de iOS del mundo. Desde entonces, ha convertido la empresa en uno de los principales ISV del mundo, colaborando con compañías como AMD, Qualcomm y HP para impulsar funciones de aprendizaje automático relevantes para software de video, encabezadas por el ecosistema de aplicaciones Camo. Bajo el liderazgo de Aidan, Reincubate ha ganado en cuatro ocasiones el galardón empresarial más importante del Reino Unido, se ha ganado un lugar en la lista 100 Tech de The Sunday Times y ha obtenido reconocimiento del sector con nominaciones al Apple Design Award y al App Store. Su trabajo y sus técnicas se citan con frecuencia en artículos académicos sobre informática forense móvil, y ha sido invitado a hablar en eventos organizados por empresas como Google, Microsoft y Snap.


Artículos relacionados

¿Necesitas ayuda?

Intentamos responder a todos los mensajes en un día laborable.

support@reincubate.com
Ayuda