Questa pagina spiega come convertire il video di input in un job di transcodifica in un formato supportato High Dynamic Range (HDR) o Standard Dynamic Range (SDR). L'API Transcoder utilizza la codifica video ad alta efficienza (HEVC) come codec principale per la conversione del colore. Il passthrough è abilitato per impostazione predefinita se non specifichi un formato di conversione del colore.
Formati di conversione del colore
HEVC è il codec principale utilizzato per i formati di conversione del colore supportati, tra cui:
- Log-gamma ibrido (HLG)
- SDR
- HDR10
Per gli stream H.264 e VP9, sono supportati solo i formati HLG e SDR. Sono supportate tutte le conversioni tra il codec supportato e i formati di colore precedenti.
Passthrough
Il passthrough è attivo per impostazione predefinita se non specifichi un formato di conversione del colore.
Per il passthrough, l'API Transcoder rispetta i colori primari di input, la funzione di trasferimento, l'intervallo, la posizione della crominanza e lo spazio colore; durante il processo non viene eseguita alcuna conversione del colore. Se l'input è HDR10 (o HDR10+) e HEVC, l'API Transcoder trasmette anche i metadati al video di output.
Se specifichi un codec di output che non supporta il formato di colore dell'input, il passthrough è la soluzione migliore. Ad esempio, un video HDR10 di input ha opzioni
a 10 bit per profile
e pixelFormat
. Se specifichi l'output come H.265 con un'opzione a 8 bit per profile
, l'output non è un video HDR10 valido, perché HDR10 non funziona con un'opzione a 8 bit per profile
.
Conversioni di esempio
Per specificare il formato di conversione del colore, utilizza un oggetto hlg
,
hdr10
o sdr
vuoto. Le seguenti sezioni mostrano l'oggetto JSON da aggiungere a un elemento VideoStream
per eseguire una determinata conversione.
Converti in formato HLG
Utilizza l'oggetto hlg
per convertire un video di input in formato HLG.
"elementaryStreams": [
{
"key": "video_hlg",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"hlg":{}
}
}
]
Converti nel formato HDR10
Usa l'oggetto hdr10
per convertire un video di input nel formato HDR10.
"elementaryStreams": [
{
"key": "video_hdr10",
"videoStream": {
"h265": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"pixelFormat":"yuv420p10",
"profile":"main10",
"hdr10":{}
}
}
]
Converti in formato SDR verso il basso
Utilizza l'oggetto sdr
per convertire un video di input in formato SDR.
"elementaryStreams": [
{
"key": "video_sdr",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"sdr":{}
}
}
]
Possibili errori
Se l'API Transcoder non può eseguire la conversione, il job di transcodifica non va a buon fine. Ecco alcuni possibili errori:
- Conversione al formato HDR10 con formati o profili a 8 bit di pixel
- Input SDR non conformi a BT.709