Introducción
Al reproducir un mismo vídeo con Kaltura V7 Player, es posible observar diferencias entre navegadores. Una de las más habituales es que en Chrome aparezca dentro del menú de configuración la opción Quality, permitiendo seleccionar manualmente resoluciones como 1080p, 720p o 540p, mientras que en Safari esa opción puede no aparecer.
Esto no significa necesariamente que el vídeo no disponga de varias calidades ni que exista un problema con sus rendiciones. Kaltura documenta expresamente que, en Safari, el menú Quality puede estar ausente debido a la forma en que Safari gestiona la reproducción adaptativa mediante HLS (HTTP Live Streaming). (Kaltura Knowledge Center)
Esta guía explica cómo revisar la configuración del Kaltura V7 Player para intentar habilitar la selección manual de calidad en Safari y qué precauciones debemos tener especialmente con iPhone y iPad.
1. ¿Qué está ocurriendo?
En una situación como esta podemos tener exactamente el mismo vídeo y el mismo player:
En Chrome:
Audio
Quality: Auto - 1080p
Speed
Mientras que en Safari:
Audio
Speed
La opción Quality simplemente no aparece.
Kaltura confirma que esto puede suceder en Safari porque este navegador utiliza Adaptive Bitrate Streaming mediante HLS. El navegador puede ir seleccionando automáticamente la calidad que considera apropiada dependiendo del ancho de banda y las condiciones de reproducción, sin ofrecer necesariamente al usuario un selector manual. (Kaltura Knowledge Center)
Por tanto:
Que no aparezca Quality ≠ que el vídeo solo tenga una calidad.
El vídeo puede seguir disponiendo de 1080p, 720p, 540p, etc., y Safari seleccionar automáticamente una de esas rendiciones durante la reproducción.
2. ¿Qué podemos hacer en Kaltura?
Kaltura indica que los administradores pueden habilitar la selección manual de resolución en Safari mediante la configuración preferNative del player. Esta configuración se encuentra dentro de Advanced Settings del Kaltura V7 Player. (Kaltura Knowledge Center)
La configuración de reproducción de Kaltura contempla este objeto:
"preferNative": {
"hls": false,
"dash": false
}dentro del bloque playback.
La estructura completa sería:
{
"playback": {
"preferNative": {
"hls": false,
"dash": false
}
}
}Kaltura documenta preferNative.hls y preferNative.dash dentro de la configuración de reproducción del V7 Player. El valor false permite que el propio Kaltura Player gestione esos formatos en lugar de delegarlos preferentemente en el reproductor nativo del navegador. (Kaltura Knowledge Center)
3. Paso 1. Localizar el player que queremos modificar
Accedemos a Kaltura Rich Media CMS / KMC.
A continuación:
Studio → Player Studio → seleccionar el player V7
Es importante asegurarnos de que estamos modificando realmente el player utilizado en el entorno donde hemos detectado el problema.
En KMS/KAF pueden existir varios players diferentes para distintos contextos: reproductor principal, Browse & Embed, quizzes, embeds, etc. Por eso conviene identificar primero qué Player ID / uiConf ID está utilizando el contenido.
Una vez localizado el player, abrimos su configuración.
4. Paso 2. Acceder a Advanced Settings
Dentro de la configuración del player:
Studio → Player seleccionado → Settings → bajar hasta el final → Advanced Settings
Kaltura utiliza este apartado para aquellas configuraciones que no están disponibles directamente mediante los controles gráficos habituales de Player Studio. (Kaltura Knowledge Center)
Al entrar encontraremos un editor con la configuración avanzada del player en formato JSON.
Recomendación
Antes de modificar el player utilizado en producción, es preferible:
duplicar el player o utilizar un player de pruebas.
Así podremos comparar el comportamiento en Safari y Chrome sin afectar inicialmente a los usuarios.
5. Paso 3. Revisar primero la configuración existente
Antes de pegar ningún código, debemos comprobar qué contiene ya Advanced Settings.
Hay dos escenarios.
Escenario A. Advanced Settings está prácticamente vacío
Podemos incorporar:
{
"playback": {
"preferNative": {
"hls": false,
"dash": false
}
}
}Después guardamos los cambios.
Escenario B. El player ya tiene configuración
Aquí hay que tener más cuidado.
No debemos sustituir todo el JSON por el bloque anterior.
Por ejemplo, imaginemos que tenemos:
{
"playback": {
"autoplay": false,
"muted": false
}
}No deberíamos borrar esos parámetros.
Tenemos que integrar preferNative dentro del bloque playback existente:
{
"playback": {
"autoplay": false,
"muted": false,
"preferNative": {
"hls": false,
"dash": false
}
}
}De esta forma conservamos las configuraciones existentes.
6. ¿Qué hace exactamente preferNative?
El Kaltura Player dispone de su propio Core de reproducción. Entre otras tecnologías, utiliza mecanismos específicos para reproducir HLS y MPEG-DASH y decide qué fuente y motor utilizar dependiendo del navegador, formatos disponibles y configuración del player. (Kaltura Knowledge Center)
La propiedad:
"preferNative": {
"hls": false
}indica al player que no debe dar preferencia al motor HLS nativo del navegador.
Esto puede permitir que sea el propio Kaltura Player quien controle mejor aspectos de la reproducción y de su interfaz, incluido el selector manual de calidad.
Por eso Kaltura recomienda específicamente revisar preferNative cuando Quality no aparece en Safari. (Kaltura Knowledge Center)
7. Paso 4. Guardar los cambios
Una vez incorporada la configuración:
- Revisamos que el JSON sea válido.
- Pulsamos Save.
- Esperamos a que se guarde la nueva configuración del player.
- Volvemos a cargar el vídeo.
Kaltura indica que los cambios realizados desde Advanced Settings deben guardarse desde el propio Player Studio antes de abandonar la configuración. (Kaltura Knowledge Center)
8. Paso 5. Realizar una prueba comparativa
Lo ideal es utilizar exactamente el mismo vídeo para todas las pruebas.
Podemos preparar una pequeña matriz:
| Prueba | Resultado esperado |
|---|---|
| Chrome + player original | Quality visible |
| Safari + player original | Quality no visible |
| Chrome + player modificado | Quality visible |
| Safari + player modificado | Comprobar si aparece Quality |
Si tras aplicar la configuración Safari muestra algo parecido a:
Quality
Auto
1080p HD
720p
540p
480p
habremos confirmado que la diferencia estaba relacionada con la utilización del sistema de reproducción HLS nativo.
9. Comprobar también que existen realmente varias calidades
Antes de concluir que existe un problema con el player es importante comprobar que el vídeo dispone realmente de varias rendiciones.
Por ejemplo:
- 1080p
- 720p
- 540p
- 480p
- 360p
Si Chrome muestra:
Quality → Auto - 1080p
como ocurre en vuestro ejemplo, esto ya es una señal bastante clara de que la entrada dispone de diferentes rendiciones y que el problema no está en la generación de las calidades sino en cómo Safari presenta el control.
10. ¿Y showQualityMenu?
Existe además una propiedad avanzada denominada:
showQualityMenu
Las release notes de Kaltura V7 mencionan expresamente esta propiedad y señalan que Player Studio conserva configuraciones avanzadas introducidas manualmente como showQualityMenu. (Kaltura Knowledge Center)
Sin embargo, para este caso concreto no comenzaría modificando este parámetro.
El primer ajuste que Kaltura documenta específicamente para:
Safari + Quality no visible
es preferNative. (Kaltura Knowledge Center)
Por tanto, el orden recomendable sería:
primero playback.preferNative → probar → después investigar otras configuraciones únicamente si sigue siendo necesario.
11. ¿Qué pasa si después del cambio sigue sin aparecer Quality?
Que el menú siga sin mostrarse no significa automáticamente que algo esté funcionando mal.
Safari puede seguir gestionando la calidad del vídeo automáticamente mediante Adaptive Bitrate Streaming.
Por tanto, habría que comprobar:
- que existen diferentes rendiciones;
- que el vídeo se reproduce correctamente;
- qué player concreto estamos modificando;
- que ese player es realmente el utilizado en la página;
- que la nueva configuración se ha guardado;
- y qué versión de Safari y sistema operativo estamos utilizando.
Si después de estas comprobaciones el comportamiento continúa siendo diferente a lo esperado, ya tendría sentido trasladarlo a Kaltura Support, facilitando:
- Entry ID.
- Player ID / uiConf ID.
- Versión de Safari.
- Versión de macOS.
- Captura de Chrome.
- Captura de Safari.
- JSON de Advanced Settings.
12. Atención especial a iPhone y iPad
Aquí hay una advertencia importante.
No debemos asumir que el comportamiento obtenido en Safari para macOS será idéntico en Safari para iPhone o iPad.
Kaltura documenta que en dispositivos iOS el player puede utilizar el reproductor nativo de Safari. Su arquitectura de player menciona específicamente el uso del player nativo de Safari en iOS en determinados escenarios. (Kaltura Knowledge Center)
Además, Kaltura dispone de configuraciones específicas para mantener la reproducción dentro del navegador en iPhone/iPad precisamente porque, dependiendo de la configuración, iOS puede pasar al reproductor nativo del dispositivo. (Kaltura Knowledge Center)
Esto significa que:
Safari macOS y Safari iOS deben tratarse como dos escenarios de prueba diferentes.
Podemos conseguir que en un Mac aparezca:
Quality → Auto → 1080p → 720p...
y que en un iPhone la interfaz continúe funcionando de manera diferente.
13. ¿Significa esto que preferNative no funciona en iPhone?
No necesariamente.
Significa que iOS tiene condicionantes adicionales relacionados con el reproductor nativo y WebKit, por lo que no deberíamos garantizar que la interfaz o el selector manual de calidad vaya a comportarse exactamente igual que en Safari de escritorio.
De hecho, Kaltura también documenta diferencias de comportamiento nativo en Safari/iOS en otras partes del player, como el renderizado de subtítulos. En estos casos recomienda probar cuidadosamente cualquier cambio realizado en Advanced Settings antes de desplegarlo de forma general. (Kaltura Knowledge Center)
Por eso, después de modificar preferNative, realizaría como mínimo estas cuatro pruebas:
| Dispositivo | Navegador | Comprobar |
|---|---|---|
| Windows/macOS | Chrome | Quality |
| Mac | Safari | Quality |
| iPhone | Safari | reproducción + Quality |
| iPad | Safari | reproducción + Quality |
14. No hay que confundir selección manual con calidad adaptativa
Este es probablemente el concepto más importante de toda la guía.
La opción:
Quality
es un control de usuario.
El sistema:
Adaptive Bitrate / HLS
es un mecanismo de reproducción.
Podemos tener reproducción adaptativa aunque el usuario no vea ningún selector.
En ese caso Safari va cambiando automáticamente entre diferentes rendiciones dependiendo de factores como:
- ancho de banda disponible;
- estabilidad de la conexión;
- rendimiento del dispositivo;
- buffer disponible;
- condiciones de reproducción.
Por tanto, la ausencia del menú Quality no demuestra que Safari esté recibiendo una versión de baja calidad ni que el vídeo tenga una sola resolución.
15. Configuración recomendada para la prueba
Por tanto, el bloque base que utilizaríamos para esta prueba sería:
{
"playback": {
"preferNative": {
"hls": false,
"dash": false
}
}
}Si ya existe playback, no debemos crear un segundo bloque playback, sino introducir preferNative dentro del existente.
Por ejemplo:
❌ Incorrecto
{
"playback": {
"autoplay": false
},
"playback": {
"preferNative": {
"hls": false
}
}
}✅ Correcto
{
"playback": {
"autoplay": false,
"preferNative": {
"hls": false,
"dash": false
}
}
}16. Recomendaciones antes de aplicarlo en producción
Yo utilizaría este procedimiento:
- Duplicar el player actual o utilizar uno de pruebas.
- Comprobar Safari y Chrome antes del cambio.
- Revisar el JSON existente en Advanced Settings.
- Integrar
playback.preferNative. - Guardar.
- Probar con el mismo Entry ID.
- Comprobar Safari en macOS.
- Comprobar Chrome.
- Probar también en iPhone/iPad reales.
- Solo después trasladar el cambio al player de producción.
Especialmente en Safari/iOS conviene realizar pruebas reales, ya que Kaltura advierte de diferencias entre la gestión del propio player y las funciones nativas del navegador/dispositivo. (Kaltura Knowledge Center)
Conclusión
La ausencia de la opción Quality en Safari no significa que el vídeo carezca de diferentes resoluciones. Es un comportamiento contemplado por Kaltura relacionado con la reproducción adaptativa HLS de Safari. (Kaltura Knowledge Center)
Cuando queremos ofrecer al usuario la posibilidad de seleccionar manualmente la resolución, el primer parámetro que debemos revisar en Kaltura V7 Player → Advanced Settings es:
playback.preferNative
y, concretamente:
"preferNative": {
"hls": false,
"dash": false
}La modificación debe realizarse respetando el JSON que ya tenga configurado el player y, preferiblemente, sobre un player de pruebas.
Y la principal precaución es iOS: conseguir el selector manual en Safari de escritorio no garantiza una interfaz idéntica en iPhone o iPad, donde la reproducción puede apoyarse en controles nativos de Safari/iOS. Por eso la validación final debe realizarse también en los dispositivos donde realmente se consumirá el contenido. (Kaltura Knowledge Center)
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.