Big Blue Button: problemas con la cámara en ciertos móviles. Error 2203: Server could not find an appropriate codec.

Llevamos un tiempo trabajando con Big Blue Button para las videoconferencias. Recientemente hemos descubierto un problema con ciertos móviles, específicamente con algunos (no todos) móviles chinos. Si intentas compartir la cámara, tras unos momentos da un error.
Los errores pueden ser varios, pero se suelen referir a los codecs o a permisos. El más habitual:

Error 2203: Server could not find an appropriate codec

Hemos investigado el problema y encontrado una posible solución.

Solución al error de la cámara en algunos móvies.

La causa parece ser por el codec de video h264 , el que usa Big Blue Button por defecto para el vídeo. Este codec no es gratuito, tiene un pequeño coste. Algunos fabricantes chinos prefieren ahorrarse ese gasto por terminal y no incluir lo en sus teléfonos. Por eso ciertos Android chinos no pueden compartir la pantalla.

Big Blue Button usa H264 porque iOS (iPhone etc) sólo admite este codec.
Hay otro codec gratuito que se puede usar, VP8, pero entonces Big Blue Button tiene que «transcodear» cada emisión de vídeo de móviles Android con conexiones de móviles iOS (porque iOS no tiene VP8), y eso gasta CPU.

Así que estamos ante una decisión, o no permitir ciertos móviles Android chinos (según hemos probado muchos, con marcas como Asus o Huawei), o activar VP8 y que a veces use más recursos del servidor. Como los recursos se pueden dimensionar, y no queremos problemas de compatibilidad, nosotros elegimos esta segunda opción.

Cómo activar VP8 por defecto.

La manera de activar VP8 la encontramos aquí, aunque es de una versión antigua y las rutas y lo que hay que comentar varía ahora. Os indicamos las nuevas.
Activando VP8 lo que hacemos es que use este por defecto (con el posible gasto de CPU indicado arriba) si lo tiene, si no usará H264. Si se conectan móviles iOS, Big Blue Button tendrá que trascodear las conexiones VP8 de los Android.

El fichero a editar es
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml

Ahí buscamos unas líneas que ponen:
codec_video_main: H264
codec_video_content: H264


Y cambiarlas por
codec_video_main: ANY
codec_video_content: ANY

Después activamos esta nueva configuración en BBB con
sudo bbb-conf –restart

Con esto ya nos funciona el vídeo en todos los dispositivos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).

Time limit is exhausted. Please reload CAPTCHA.