Converti un video di input in HDR

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