Converta um vídeo de entrada em HDR

Esta página explica como converter o vídeo de entrada num trabalho de transcodificação para um formato de elevada amplitude dinâmica (HDR) ou de amplitude dinâmica padrão (SDR) suportado. A API Transcoder usa a codificação de vídeo de alta eficiência (HEVC) como o codec principal para a conversão de cores. A transferência é ativada por predefinição se não especificar um formato de conversão de cores.

Formatos de conversão de cores

O HEVC é o codec principal usado para os formatos de conversão de cores suportados, que incluem o seguinte:

  • Hybrid Log-Gamma (HLG)
  • SDR
  • HDR10

Para streams H.264 e VP9, apenas são suportados HLG e SDR. Todas as conversões entre o codec suportado e os formatos de cores anteriores são suportadas.

Transparente

A transferência está ativada por predefinição se não especificar um formato de conversão de cores.

Para a transmissão direta, a API Transcoder respeita as cores primárias de entrada, a função de transferência, o intervalo, a localização da croma e o espaço de cor. Não é feita nenhuma conversão de cores no processo. Se a entrada for HDR10 (ou HDR10+) e HEVC, a API Transcoder também transmite os metadados para o vídeo de saída.

Se especificar um codec de saída que não suporte o formato de cor da entrada, a transmissão direta é feita da melhor forma possível. Por exemplo, um vídeo HDR10 de entrada tem opções de 10 bits para profile e pixelFormat. Se especificar a saída como H.265 com uma opção de 8 bits para profile, a saída não é um vídeo HDR10 válido porque o HDR10 não funciona com uma opção de 8 bits para profile.

Exemplos de conversões

Para especificar o formato de conversão de cores, use um objeto hlg, hdr10 ou sdr vazio. As secções seguintes mostram o objeto JSON a adicionar a um VideoStream para realizar uma determinada conversão.

Converta para o formato HLG

Use o objeto hlg para converter um vídeo de entrada no formato HLG.

"elementaryStreams": [   {     "key": "video_hlg",     "videoStream": {       "h264": {         "heightPixels": 720,         "widthPixels": 1280,         "bitrateBps": 5000000,         "frameRate": 25,         "hlg":{}     }   } ] 

Converta para o formato HDR10

Use o objeto hdr10 para converter um vídeo de entrada no formato HDR10.

"elementaryStreams": [   {     "key": "video_hdr10",     "videoStream": {       "h265": {         "heightPixels": 720,         "widthPixels": 1280,         "bitrateBps": 5000000,         "frameRate": 25,         "pixelFormat":"yuv420p10",         "profile":"main10",         "hdr10":{}     }   } ] 

Converta para o formato SDR

Use o objeto sdr para converter um vídeo de entrada para o formato SDR.

"elementaryStreams": [   {     "key": "video_sdr",     "videoStream": {       "h264": {         "heightPixels": 720,         "widthPixels": 1280,         "bitrateBps": 5000000,         "frameRate": 25,         "sdr":{}     }   } ] 

Possíveis erros

Se a API Transcoder não conseguir realizar a conversão, a tarefa de transcodificação falha. Os possíveis erros incluem o seguinte:

  • Conversão para o formato HDR10 com formatos ou perfis de píxeis de 8 bits
  • Entradas SDR que não estão em conformidade com o formato BT.709