Questa pagina spiega come convertire il video di input in un job di transcodifica in un formato HDR (High Dynamic Range) o SDR (Standard Dynamic Range) supportato. L'API Transcoder utilizza la codifica video ad alta efficienza (HEVC) come codec principale per la conversione del colore. Il trasferimento è attivato 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:
- Hybrid log-gamma (HLG)
- SDR
- HDR10
Per gli stream H.264 e VP9, sono supportati solo HLG e SDR. Sono supportate tutte le conversioni tra il codec supportato e i formati di colore precedenti.
Passthrough
Il trasferimento è abilitato 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 del croma 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 i metadati anche al video in uscita.
Se specifichi un codec di output che non supporta il formato di colore dell'input, il passthrough avviene secondo il criterio del massimo impegno. 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 sezioni seguenti mostrano l'oggetto JSON da aggiungere a un VideoStream
per eseguire una determinata conversione.
Convertire 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":{}
}
}
]
Convertire in formato HDR10
Utilizza l'oggetto hdr10
per convertire un video di input in formato HDR10.
"elementaryStreams": [
{
"key": "video_hdr10",
"videoStream": {
"h265": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"pixelFormat":"yuv420p10",
"profile":"main10",
"hdr10":{}
}
}
]
Esegui la conversione in formato SDR
Utilizza l'oggetto sdr
per eseguire la conversione di 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. I possibili errori includono:
- Conversione in formato HDR10 con profili o formati di pixel a 8 bit
- Input SDR non conformi a BT.709