Nesta página, explicamos como converter o vídeo de entrada de um job de transcodificação em um formato compatível de High Dynamic Range (HDR) ou padrão. A API Transcoder usa codificação de vídeo de alta eficiência (HEVC, na sigla em inglês) como o principal codec para a conversão de cores. A passagem será ativada por padrão se você não especificar um formato de conversão de cor.
Formatos de conversão de cores
HEVC é o codec principal usado para os formatos de conversão de cores com suporte, que incluem:
- Log-gamma híbrido (HLG)
- SDR
- HDR10
Para transmissões H.264 e VP9, apenas HLG e SDR são compatíveis. Todas as conversões entre o codec com suporte e os formatos de cor anteriores têm suporte.
Passagem
A passagem será ativada por padrão se você não especificar um formato de conversão de cor.
Para a passagem, a API Transcoder respeita as cores primárias de entrada, função de transferência, intervalo, localização de chroma e 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,
a passagem será o melhor esforço. Por exemplo, um vídeo de entrada HDR10 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ão
Para especificar o formato de conversão de cor, use um objeto hlg
,
hdr10
ou sdr
vazio. As seções abaixo mostram o
objeto JSON a ser adicionado a uma VideoStream
para realizar uma determinada
conversão.
Converter para o formato HLG
Use o objeto hlg
para converter um vídeo de entrada para o formato HLG.
"elementaryStreams": [
{
"key": "video_hlg",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"hlg":{}
}
}
]
Converter para 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 fazer a conversão de um vídeo de entrada para o formato SDR.
"elementaryStreams": [
{
"key": "video_sdr",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"sdr":{}
}
}
]
Erros possíveis
Se a API Transcoder não puder executar a conversão, o job de transcodificação vai falhar. Possíveis erros incluem:
- Conversão para o formato HDR10 com perfis ou formatos de pixels de 8 bits
- Entradas SDR que não estão em conformidade com BT.709