Esta página explica como converter o vídeo de entrada em um job de transcodificação para um formato compatível com High Dynamic Range (HDR) ou Standard Dynamic Range (SDR). 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 transmissão direta é ativada por padrão se você não especificar um formato de conversão de cor.
Formatos de conversão de cores
O HEVC é o codec principal usado para os formatos de conversão de cores aceitos, que incluem:
- Log-gamma híbrido (HLG)
 - SDR
 - HDR10
 
Para transmissões H.264 e VP9, apenas HLG e SDR são aceitos. Todas as conversões entre o codec compatível e os formatos de cores anteriores são compatíveis.
Passagem
A transmissão direta é ativada por padrão se você não especificar um formato de conversão de cor.
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 do cromatismo e o espaço de cores. Nenhuma conversão de cor é feita no processo. Se a entrada for HDR10 (ou HDR10+) e HEVC, a API Transcoder também vai transmitir os metadados para o vídeo de saída.
Se você especificar um codec de saída que não ofereça suporte ao formato de cor da entrada,
o encaminhamento será o melhor esforço. Por exemplo, um vídeo HDR10 de entrada tem opções de 10 bits
para profile e pixelFormat. Se você
especificar a saída como H.265 com uma opção de 8 bits para profile,
a saída não será 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 seções a seguir mostram o
objeto JSON a ser adicionado a um VideoStream para realizar uma determinada
conversão.
Converter 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":{}
    }
  }
]
Converter 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":{}
    }
  }
]
Fazer a conversão 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 puder realizar a conversão, o job de transcodificação vai falhar. Os possíveis erros incluem:
- Conversão para o formato HDR10 com formatos ou perfis de pixel de 8 bits
 - Entradas SDR que não estão em conformidade com o BT.709