Descripción general
El SDK de Cast Web Receiver admite la reproducción de contenido con varios protocolos de transmisión web. Según el protocolo que se use, el SDK cargará un reproductor para controlar la reproducción del contenido. En el caso del contenido HLS, se carga la Biblioteca de Media Player (MPL). En el caso del contenido DASH, se carga Shaka Player.
En el futuro, los equipos de ingeniería del SDK de Cast y de Shaka Player consolidarán sus esfuerzos para aumentar la compatibilidad con la reproducción de contenido HLS en Shaka Player. La MPL ya no recibirá actualizaciones críticas. Te recomendamos que habilites el uso de Shaka Player para la reproducción de contenido HLS de tu aplicación.
Beneficios de Shaka Player
Cuando cambian los jugadores, las aplicaciones aprovechan los siguientes beneficios:
- Sesiones de transmisión más sólidas para los usuarios, con mejoras en los errores de tiempo de carga y la latencia.
- Adopción continua de las funciones de HLS más recientes
- Mayor claridad en el análisis de causa raíz para los problemas de compatibilidad entre el reproductor y el contenido debido a la naturaleza de código abierto de Shaka Player
- La base de código del reproductor de código abierto permite que los socios contribuyan al proyecto de Shaka Player.
- Una reducción significativa en el tiempo de lanzamiento de funciones y correcciones de errores para producción, ya que la cadencia de lanzamientos de Shaka Player es frecuente y no depende de los lanzamientos del SDK de Web Receiver.
- Mayor control sobre el entorno de reproducción que proporciona la API de
shakaVersion
- Mayor compatibilidad con la reproducción de Google con recursos de ingeniería enfocados en la reproducción de HLS en Shaka Player, como se ve en la hoja de ruta.
Cronograma
El SDK de Web Receiver realizará la transición para usar Shaka Player como reproductor predeterminado para la reproducción de contenido HLS. Esto se hará con un enfoque por fases para guiar a los socios durante el proceso de migración.
Fase | Fecha de inicio | Descripción general |
---|---|---|
1 | Octubre de 2022 | El SDK de Cast Web Receiver introduce APIs para habilitar la reproducción de contenido HLS en Shaka Player. |
2 | Noviembre de 2025 | El SDK de Cast Web Receiver cambia el reproductor predeterminado a Shaka Player para la reproducción de contenido de HLS. |
Los equipos de ingeniería del SDK de Web Receiver adoptan un enfoque basado en el rendimiento y solo pasarán a la siguiente fase cuando el rendimiento de Shaka Player esté a la par del rendimiento de referencia de MPL. Estos cambios se anunciarán en el grupo de Google cast-sdk-announcements y se actualizarán en esta guía.
Habilitar
A partir de la versión 3.0.0105
del CAF, existe una configuración a nivel de la aplicación para habilitar el uso de Shaka Player para la reproducción de HLS. Esta versión también presenta una API para seleccionar entre un rango compatible de versiones de Shaka Player para cargar. Estas marcas se proporcionan en la clase CastReceiverOptions
a través de las propiedades useShakaForHls
y shakaVersion
, y se evalúan cuando se inicia CastReceiverContext
. Cualquier aplicación que habilite Shaka para HLS debe establecer una versión de Shaka Player de al menos 4.15.12
para aprovechar las mejoras más recientes de HLS. Para habilitar la función, sigue el fragmento de código que se muestra a continuación:
const context = cast.framework.CastReceiverContext.getInstance();
let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;
context.start(castReceiverOptions);
Valida el contenido
Los socios deben validar la reproducción de su contenido en Shaka Player antes de habilitar su uso en la app de producción. Te recomendamos que realices pruebas para cada una de las variaciones de tu contenido que se indican a continuación:
- Tipos de transmisión: EN VIVO o VOD
- Formatos de contenedor: TS, MP4 o transmisiones elementales
- Contenido con discontinuidades o anuncios incorporados
- Reproducción en los siguientes tipos de dispositivos: pantallas inteligentes, dispositivos Google Cast, dispositivos Android TV, TVs con Google Cast y bocinas inteligentes
Si encuentras errores o comportamientos inesperados, informa el error. Una vez que puedas verificar que no hay errores críticos de reproducción en tu contenido, envía los cambios a tu entorno de producción.
Inhabilitar
El SDK de Web Receiver pasará a un modelo de exclusión para la reproducción de contenido HLS de Shaka Player según el cronograma. La propiedad useShakaForHls
cambiará su valor predeterminado de false
a true
. En ese momento, las aplicaciones pueden optar por usar MPL para la reproducción de HLS configurando manualmente esta propiedad en false
. Cuando se inicia CastReceiverContext
, el SDK de Web Receiver volverá a cargar MPL en lugar de Shaka Player. Consulta el siguiente ejemplo para saber cómo inhabilitar la opción:
const context = cast.framework.CastReceiverContext.getInstance();
let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;
context.start(castReceiverOptions);
Cómo informar problemas
Alentamos a nuestros socios a que registren los problemas que encuentren cuando reproduzcan contenido HLS. Como se mencionó, MPL ya no recibirá actualizaciones esenciales. Si tienes algún problema con MPL, sigue los pasos de la sección Habilita la opción de la guía para verificar si cambiar a Shaka Player solucionará el problema. Sigue los pasos que se indican a continuación si el problema persiste o si encuentras otro problema cuando cambias de reproductor.
- Intenta configurar
shakaVersion
en una versión de rama diferente para resolver el problema. Por ejemplo, si el problema se produce en la rama4.15
, intenta establecerlo en la versión más reciente de otra rama. Consulta las notas de la versión de Shaka Player para encontrar las versiones con las actualizaciones más relevantes. Ten en cuenta que la API deshakaVersion
tiene una versión mínima y máxima admitida, como se detalla en la documentación de referencia. Si observas que hay una regresión, informa el problema en la herramienta de seguimiento de problemas de Shaka Player. - Intenta cambiar los parámetros de configuración del reproductor. Shaka Player se puede configurar a través del objeto
PlayerConfiguration
. El SDK de Web Receiver define un conjunto de valores predeterminados y permite que las aplicaciones modifiquen esta configuración a través de la propiedadshakaConfig
en el objetoPlaybackConfig
. Esto se evalúa durante el tiempo de carga cuando se crea la instancia del reproductor. Obtén más información en Configuración y opciones de la aplicación. Los valores predeterminados establecidos por el SDK de Web Receiver son los valores recomendados. - Comprueba si el problema se informó en el registro de problemas de Shaka Player o en el registro de problemas de Cast. Comenta el error y agrega la información pertinente si también describe tu problema.
- Prueba tu contenido en el sitio de demostración de Shaka Player. Si ves que el problema se reproduce en el sitio de demostración de tu contenido, presenta un error en el proyecto de Shaka Player.
- Informa un error en el Cast Issue Tracker si tienes un problema exclusivo de Shaka Player en los extremos de transmisión.
Preguntas frecuentes
Cambiar de jugadores puede generar muchas preguntas. A continuación, encontrarás las respuestas a las preguntas más frecuentes para guiarte en el proceso de migración.
¿Debo migrar a Shaka Player?
Recomendamos a nuestros socios que usan contenido HLS que comiencen el proceso de migración lo antes posible. Como resultado, tu app proporcionará una experiencia de transmisión más sólida para los usuarios. En la sección Beneficios de Shaka Player de esta guía, se describen más beneficios. Los socios deben verificar que sus apps funcionen correctamente con Shaka Player para garantizar una transición sin problemas. Algunas apps pueden estar en riesgo cuando el SDK de Web Receiver realice la transición a un modelo de exclusión si los socios no verifican con anticipación que su contenido se reproduzca correctamente en Shaka Player.
¿Cuál es el nivel de esfuerzo esperado cuando se cambian jugadores?
Los socios deberán probar su aplicación y contenido en un entorno de prueba para garantizar que la experiencia del usuario sea similar o mejor en comparación con HLS. Para ello, los socios deberán habilitar la función en un entorno interno y probar a fondo que su contenido se pueda reproducir con Shaka Player. Consulta Validación de contenido para obtener detalles sobre en qué aspectos del contenido debes enfocarte. Una vez validado, los socios deberán agregar la marca para habilitar la función en su entorno de aplicación de producción y comenzar a aprovechar los beneficios que proporciona Shaka Player. En un nivel general, hay cambios mínimos en el desarrollo de software y, principalmente, requisitos de QA para que nuestros socios realicen la migración correctamente.
Mi aplicación pronto usará HLS para transmitir contenido. ¿Qué debo hacer?
Las integraciones nuevas deben habilitar el uso de Shaka Player para la reproducción. Tu aplicación tendrá mejor asistencia a largo plazo y también aprovechará las nuevas funciones de HLS y las mejoras de rendimiento. Si tu nueva integración tiene problemas, registra un error lo antes posible para que el equipo de ingeniería tenga tiempo suficiente para resolverlo. Si tu aplicación tiene una fecha límite ajustada, incluye esa información en el informe de errores, así como el impacto para priorizarlo según corresponda. Nuestro equipo de ingeniería trabajará para brindar una solución que satisfaga las necesidades de tus usuarios.
Mi contenido o mi app no funcionan con Shaka Player. ¿Qué hago?
Debes presentar un error con el proyecto de Shaka Player o el proyecto de Cast (consulta Cómo informar problemas). El equipo de ingeniería del SDK de Cast supervisa activamente estos registros de seguimiento y trabajará contigo para resolver cualquier problema que surja. Cuanto antes se detecten estos problemas, más tiempo tendrán para entregar una corrección.
MPL ya no recibe actualizaciones críticas. ¿Qué significa exactamente?
Históricamente, MPL ha adoptado nuevas funciones de HLS y ha corregido errores importantes a través de actualizaciones críticas. Ahora que MPL ya no los recibirá, no se agregarán funciones nuevas de HLS al reproductor. Del mismo modo, los problemas informados sobre la reproducción de HLS en MPL no se corregirán en MPL. Estos problemas deberían resolverse cambiando a Shaka Player para la reproducción. Si los problemas persisten, se debe presentar un error con los problemas pertinentes que se hayan detectado en Shaka Player. Los socios deben dejar de usar MPL.
Mi contenido usa el protocolo Smooth Streaming. ¿Cómo afecta esto a mi solicitud?
Los archivos binarios de la MPL seguirán alojados y accesibles para tu aplicación receptora. Sin embargo, no se admitirán las solicitudes de funciones ni las correcciones de errores relacionados con Smooth Streaming, ya que la especificación de Smooth Streaming no se actualizó en más de cuatro años. Te recomendamos que migres tu contenido para usar el protocolo de transmisión DASH o HLS y seguir recibiendo actualizaciones de rendimiento y asistencia para tu contenido.
Mi contenido no usa los protocolos HLS ni Smooth Streaming. ¿Cómo afecta esto a mi aplicación?
Si tu biblioteca de contenido no usa ninguno de esos protocolos de transmisión, la migración no te afectará. No se requieren cambios en tu aplicación.