Integrar o vídeo da Eclipsa

A exibição de vídeos em High Dynamic Range (HDR) em dispositivos móveis geralmente sofre uma grande falha: inconsistência visual em diferentes painéis. Ao navegar por feeds de conteúdo misto em que elementos de Standard Dynamic Range (SDR) e HDR coexistem, os pipelines de renderização têm dificuldade em equilibrá-los. Isso resulta em transições irregulares e picos de brilho imprevisíveis.

Para os criadores de conteúdo, essa falta de uniformidade compromete a intenção artística. Um vídeo HDR meticulosamente classificado em um monitor profissional pode ser renderizado com destaques cortados, tons desbotados ou sombras esmagadas quando visualizado em um dispositivo do consumidor.

O vídeo Eclipsa é um padrão moderno de vídeo HDR projetado para resolver esses desafios exatos do ecossistema entre dispositivos. Criado com base na especificação SMPTE ST 2094-50, o vídeo Eclipsa permite que as telas adaptem dinamicamente o mapeamento de conteúdo com base nos recursos de hardware físico e nas condições de iluminação ambiente em tempo real. Com o suporte da integração integrada e sem configuração no Jetpack Media3 ExoPlayer e nos pipelines de captura padrão da Camera2, o vídeo Eclipsa oferece às equipes de engenharia de dispositivos móveis um caminho sem custo e sem atrito para implementar a transmissão de vídeo adaptável de hardware de próxima geração que preserva a intenção artística em todas as telas.

Arquitetura técnica do SMPTE ST 2094-50

As telas de dispositivos móveis variam drasticamente no espaço livre de luminância, a quantidade de brilho disponível acima do ponto branco de referência da tela. Quando as limitações de hardware de uma tela não estão alinhadas aos requisitos de masterização de um vídeo HDR, os destaques são cortados ou ficam opacos. O espaço livre real e o ponto branco de referência de uma tela mudam dinamicamente à medida que os sensores de luz ambiente ajustam o painel ao ambiente ao redor.

O SMPTE ST 2094-50 resolve esse problema ao introduzir metadados de duas camadas que garantem a consistência visual por meio de dois pilares principais:

A âncora branca de referência

Isso estabelece uma linha de base estrita que mapeia o brilho máximo dos elementos SDR diretamente para o ponto branco de referência da tela. Qualquer valor de luminância que exceda essa âncora é reservado estritamente para destaques HDR. Esse mecanismo de ancoragem previsível garante que, quando as camadas SDR e HDR são compostas juntas na tela, elas mantenham a relação visual pretendida sem se desbotarem.

Curvas de ganho adaptáveis ao espaço livre (AGTM)

Em vez de forçar uma curva de mapeamento de tons estática, os criadores incorporam metadados paramétricos que instruem o pipeline de exibição exatamente como dimensionar quando o espaço livre limitado estiver disponível. O padrão oferece aos criadores a flexibilidade granular para escolher se um painel segmentado deve cortar suavemente os destaques, cortá-los ou compactar tons intermediários e sombras para preservar ativamente os detalhes mais finos em regiões claras.

Suporte a plataformas

O suporte no nível da plataforma para reprodução e captura de vídeo Eclipsa foi introduzido no Android 17 (nível 37 da API).

Implementar a reprodução

Para o desenvolvimento de apps padrão, o Media3 ExoPlayer oferece suporte imediato para vídeo Eclipsa. Ao analisar arquivos incorporados com metadados SMPTE 2094-50, o ExoPlayer extrai e aplica os metadados sem problemas, sem exigir configurações personalizadas do player.

Recomendamos descarregar pipelines de reprodução para o Jetpack Media3. O ExoPlayer processa nativamente a extração de contêineres de baixo nível, que ignora completamente artefatos de decodificação conhecidos no nível da plataforma presentes em camadas de renderização legadas no Android 16 (nível 36 da API) e versões anteriores.

Implementar a captura de vídeo

Para gravar vídeos Eclipsa de um dispositivo, o pipeline da câmera precisa ser configurado para gerar metadados AGTM atribuindo um perfil de intervalo dinâmico compatível.

Depois que o suporte ao dispositivo for validado usando CameraCharacteristics, encaminhe o stream para a superfície do codificador usando o perfil DynamicRangeProfiles.HLG10_SMPTE_2094_50. Para instruções sobre como consultar e configurar perfis de intervalo dinâmico em sessões de câmera, consulte Captura de vídeo HDR.

Nenhuma configuração explícita de codec é necessária para metadados AGTM. A estrutura de mídia do Android anexa e transmite automaticamente os metadados se eles existirem no perfil dinâmico ativo.

Considerações sobre compatibilidade e desempenho

Para monitorar o desempenho, recupere o objeto Display ativo e verifique se há LutProperties em overlayProperties para identificar a disponibilidade de caminhos acelerados por hardware.

Para dispositivos que não têm recursos de aceleração de hardware, o suporte para desativar a renderização de vídeo Eclipsa no ExoPlayer está em desenvolvimento.

Outros recursos