Convertire un video di input in HDR

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