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. La L'API Transcoder utilizza la codifica video ad alta efficienza (HEVC) come principale codec per la conversione del colore. Il passthrough è abilitato per impostazione predefinita specificare un formato di conversione del colore.
Formati di conversione colore
HEVC è il codec principale utilizzato per i formati di conversione dei colori supportati, include:
- Log-gamma ibrido (HLG)
- SDR
- HDR10
Per gli stream H.264 e VP9 sono supportati solo HLG e SDR. Tutti le conversioni tra il codec supportato e i formati colore precedenti sono supportati.
Passthrough
Il passthrough è attivato per impostazione predefinita se non specifichi una conversione di colore formato.
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 del colore dell'input,
il passthrough fa del "best effort". Ad esempio, un video HDR10 di input ha opzioni a 10 bit per profile
e pixelFormat
. Se
specificare 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
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.
Converti in formato HLG
Utilizza l'oggetto hlg
per convertire un video di input nel formato HLG.
"elementaryStreams": [
{
"key": "video_hlg",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"hlg":{}
}
}
]
Converti nel formato HDR10
Utilizza 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":{}
}
}
]
Conversione verso il basso in formato SDR
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. I possibili errori includono:
- Conversione in formato HDR10 con profili o formati di pixel a 8 bit
- Input SDR non conformi a BT.709