Cómo integrar un video de Eclipsa

La transmisión de video de alto rango dinámico (HDR) en dispositivos móviles suele tener un defecto importante: la falta de coherencia visual en los diferentes paneles. Cuando se navega por feeds de contenido mixto en los que coexisten elementos de rango dinámico estándar (SDR) y HDR, las canalizaciones de renderización tienen dificultades para equilibrarlos. Esto genera transiciones erráticas y bruscas, y picos de brillo impredecibles.

Para los creadores de contenido, esta falta de uniformidad compromete la intención artística. Un video HDR clasificado meticulosamente en un monitor profesional puede renderizarse con luces altas recortadas, tonos deslavados o sombras aplastadas cuando se ve en un dispositivo de consumo.

El video Eclipsa es un estándar de video HDR moderno diseñado para resolver estos desafíos exactos del ecosistema multidispositivo. Basado en la especificación SMPTE ST 2094-50, el video de Eclipsa permite que las pantallas adapten de forma dinámica la asignación de contenido según las capacidades físicas del hardware y las condiciones de iluminación ambiental en tiempo real. Con la integración integrada y sin configuración en Jetpack Media3 ExoPlayer y las canalizaciones de captura estándar de Camera2, el video de Eclipsa ofrece a los equipos de ingeniería de dispositivos móviles una ruta sin costo y sin fricciones para implementar la transmisión de video de próxima generación y adaptable al hardware que conserva la intención artística en cada pantalla.

Arquitectura técnica de SMPTE ST 2094-50

Las pantallas de los dispositivos móviles varían drásticamente en su margen de luminancia, es decir, la cantidad de brillo disponible por encima del punto blanco de referencia de la pantalla. Cuando las limitaciones de hardware de una pantalla no se alinean con los requisitos de masterización de un video HDR, los detalles se recortan o se ven opacos. El margen real y el punto blanco de referencia de una pantalla cambian de forma dinámica a medida que los sensores de luz ambiental ajustan el panel al entorno circundante.

La norma SMPTE ST 2094-50 resuelve este problema con la introducción de metadatos de doble capa que garantizan la coherencia visual a través de dos pilares principales:

El anclaje de referencia blanco

Esto establece un valor de referencia estricto que asigna el brillo máximo de los elementos SDR directamente al punto blanco de referencia de la pantalla. Cualquier valor de luminancia que supere este valor de referencia se reserva estrictamente para los aspectos destacados en HDR. Este mecanismo de anclaje predecible garantiza que, cuando las capas SDR y HDR se componen juntas en la pantalla, mantengan la relación visual prevista sin que se borren mutuamente.

Curvas de ganancia adaptables al espacio libre (AGTM)

En lugar de forzar una curva de asignación de tonos estática, los creadores incorporan metadatos paramétricos que indican a la canalización de visualización exactamente cómo escalar cuando hay un espacio libre limitado. El estándar brinda a los creadores la flexibilidad detallada para elegir si un panel objetivo debe recortar de forma suave los momentos destacados, recortarlos de forma rígida o comprimir los tonos medios y las sombras para preservar de forma activa los detalles más finos en las regiones brillantes.

Plataformas compatibles

La compatibilidad a nivel de la plataforma con la reproducción y la captura de video de Eclipsa se introdujo en Android 17 (nivel de API 37).

Implementa la reproducción

Para el desarrollo de apps estándar, Media3 ExoPlayer proporciona compatibilidad lista para usar con videos de Eclipsa. Cuando se analizan archivos incorporados con metadatos de SMPTE 2094-50, ExoPlayer extrae y aplica los metadatos sin problemas, sin necesidad de configuraciones personalizadas del reproductor.

Recomendamos descargar las canalizaciones de reproducción en Jetpack Media3. ExoPlayer controla de forma nativa la extracción de contenedores de bajo nivel, lo que omite por completo los artefactos de decodificación conocidos a nivel de la plataforma presentes en las capas de renderización heredadas en Android 16 (nivel de API 36) y versiones anteriores.

Implementa la captura de video

Para grabar videos de Eclipsa desde un dispositivo, tu canalización de cámara debe estar configurada para generar metadatos de AGTM asignando un perfil de rango dinámico compatible.

Después de validar la compatibilidad del dispositivo con CameraCharacteristics, enruta la transmisión a la superficie del codificador con el perfil DynamicRangeProfiles.HLG10_SMPTE_2094_50. Para obtener instrucciones sobre cómo consultar y configurar perfiles de rango dinámico en sesiones de cámara, consulta Captura de video en HDR.

No se requiere ninguna configuración explícita del códec para los metadatos de AGTM. El framework de medios de Android adjunta y pasa automáticamente los metadatos si existen en el perfil dinámico activo.

Consideraciones sobre la compatibilidad y el rendimiento

Para supervisar el rendimiento, recupera el objeto Display activo y verifica si hay LutProperties en su overlayProperties para identificar la disponibilidad de rutas aceleradas por hardware.

En el caso de los dispositivos que no tienen capacidades de aceleración de hardware, se está desarrollando la compatibilidad para inhabilitar la renderización de video de Eclipsa en ExoPlayer.

Recursos adicionales