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. 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