OpenVidu 3.0 ya tiene disponibilidad general: los SDKs de LiveKit, el rendimiento de mediasoup
OpenVidu 3.0 ha alcanzado la disponibilidad general y, como cofundadores del proyecto, nos alegra compartir lo que eso significa realmente. La disponibilidad general cierra el programa de beta que arrancó con la primera beta de OpenVidu v3 en junio de 2024, pasando por la beta2 y la beta3, y marca el mayor cambio de arquitectura que ha vivido OpenVidu: Kurento se retira como servidor de medios principal, y OpenVidu pasa a estar construido sobre el stack open source de LiveKit, con mediasoup disponible como motor alternativo en PRO. Puedes consultar todos los detalles en el anuncio de disponibilidad general; lo más destacado:
Un núcleo reconstruido
OpenVidu pasa a estar construido sobre el stack open source de LiveKit (100% compatible con la API y los SDKs de LiveKit) y lo amplía con todo lo que OpenVidu aporta por encima: componentes listos para usar, aplicaciones de ejemplo en varios lenguajes, documentación y soporte. Community Edition funciona sobre el motor por defecto de LiveKit, Pion; PRO añade mediasoup como motor alternativo que puedes elegir en su lugar, para los equipos que necesiten su rendimiento a bajo nivel. Mediasoup pasa de ser una opción experimental a una lista para producción, y las cifras lo respaldan: aproximadamente el doble de rendimiento frente al LiveKit open source sin modificar para quien opte por usarlo.
Precios más sencillos
La disponibilidad general también simplifica la parte comercial: desaparece la edición ENTERPRISE independiente, integrada en un único plan comercial, PRO. Funcionalidades que antes eran exclusivas de ENTERPRISE (el soporte de mediasoup y los despliegues de Alta Disponibilidad entre ellas) ya están disponibles directamente en PRO.
El camino hasta aquí
Esto no ha pasado de la noche a la mañana. OpenVidu experimentó por primera vez con mediasoup como alternativa a Kurento allá por 2021, y OpenVidu PRO llevaba desde 2023 fijado a una versión antigua de mediasoup mientras el trabajo de compatibilidad se ponía al día: la disponibilidad general se publica ya con una versión actual (3.19.x). El programa de beta pública en sí duró unos cinco meses y tres versiones, antes de que el equipo tuviera la confianza suficiente para calificarlo de estable y listo para producción.
¿Deberías migrar desde OpenVidu 2?
Si todavía usas OpenVidu 2, sí. OpenVidu 2 no va a recibir más parches de seguridad ni mejoras de funcionalidad a partir de ahora: todo ese trabajo se destina ya a OpenVidu 3. Migrar no va solo de las mejoras de rendimiento y precio de arriba; es lo que mantiene tu despliegue en una plataforma soportada y mantenida.
Qué implica realmente migrar
Un despliegue de OpenVidu 2 no se puede actualizar en el sitio: OpenVidu 3 hay que desplegarlo desde cero, y ambos pueden convivir hasta que hagas el cambio en tu aplicación. Cuánto trabajo suponga ese cambio depende de tu edición.
Si tienes PRO o Enterprise, OpenVidu 3 incluye un módulo v2compatibility construido
específicamente para hacer esta transición lo más sencilla posible. Actívalo al desplegar
OpenVidu 3 y luego actualiza las dependencias de tu aplicación (en la mayoría de los casos,
es un simple cambio de paquete, no una reescritura):
openvidu-browser:2.X.X->openvidu-browser-v2compatibility:3.X.Xopenvidu-webcomponent-2.X.X.js/.css->openvidu-webcomponent-v2compatibility-3.X.X.js/.cssopenvidu-angular:2.X.X->openvidu-angular-v2compatibility:3.X.X- Los SDKs de servidor (
openvidu-java-client,openvidu-node-client) también tienen una versión de compatibilidad, aunque actualizarlos es recomendable, no obligatorio.
Apunta tu aplicación a la nueva URL y secret del servidor de OpenVidu 3, y en la mayoría de los casos eso es todo (no hace falta tocar código, solo actualizar los imports). (React Native, Android nativo e iOS nativo todavía no tienen una capa de compatibilidad, así que las apps en esas plataformas necesitan una integración completa contra la nueva API, independientemente de la edición.)
Para Community Edition: merece la pena el esfuerzo
Community Edition no tiene el módulo v2compatibility (es una funcionalidad de
PRO/Enterprise). Migrar significa integrar directamente contra la API propia de OpenVidu 3,
que ha cambiado de verdad desde la v2. Eso es código real, no solo un cambio de paquete.
Aun así, no debería ser un esfuerzo grande: los conceptos de fondo (Sessions, Connections, publicar y suscribirse) se mantienen igual, así que la mayor parte del trabajo consiste en actualizar las llamadas para ajustarlas a la nueva API, no en rediseñar nada. Y es el único camino hacia adelante: OpenVidu 2 no va a recibir más actualizaciones, así que este trabajo de integración es lo que te mantiene en una plataforma mantenida.
Los pasos completos de migración están en la guía oficial de migración.
Tanto si estás migrando desde OpenVidu 2 como si estás evaluando OpenVidu por primera vez, esta es la versión sobre la que construir: es la base sobre la que el proyecto seguirá construyendo a partir de ahora, no un simple incremento de versión. El listado completo de cambios está en el release de GitHub.