Convertir une vidéo d'entrée en HDR

Cette page explique comment convertir la vidéo d'entrée d'une tâche de transcodage en format HDR (High Dynamic Range) ou SDR (Standard Dynamic Range) compatible. L'API Transcoder utilise le codage vidéo haute efficacité (HEVC) comme codec principal pour la conversion des couleurs. Le passthrough est activé par défaut si vous ne spécifiez pas de format de conversion des couleurs.

Formats de conversion de couleur

HEVC est le codec principal utilisé pour les formats de conversion des couleurs compatibles, qui incluent les suivants :

  • Hybrid Log-Gamma (HLG)
  • SDR
  • HDR10

Pour les flux H.264 et VP9, seuls les formats HLG et SDR sont acceptés. Toutes les conversions entre le codec compatible et les formats de couleur précédents sont acceptées.

Passthrough

Le contournement est activé par défaut si vous ne spécifiez pas de conversion de couleur .

Pour le passthrough, l'API Transcoder respecte les couleurs primaires d'entrée, la fonction de transfert, la plage, l'emplacement de la chrominance et l'espace colorimétrique. Aucune conversion de couleur n'est effectuée au cours du processus. Si l'entrée est HDR10 (ou HDR10+) et HEVC, l'API Transcoder transmet également les métadonnées à la vidéo de sortie.

Si vous spécifiez un codec de sortie qui n'est pas compatible avec le format de couleur de l'entrée, le passthrough est effectué dans la mesure du possible. Par exemple, une vidéo HDR10 d'entrée propose des options 10 bits pour profile et pixelFormat. Si vous spécifier la sortie au format H.265 avec une option 8 bits pour profile ; la sortie n'est pas une vidéo HDR10 valide, car ce format n'est pas compatible avec pour profile.

Exemples de conversions

Pour spécifier le format de conversion des couleurs, utilisez un objet hlg, hdr10 ou sdr vide. Les sections suivantes montrent l'objet JSON à ajouter à un VideoStream pour effectuer une conversion donnée.

Convertir au format HLG

Utilisez l'objet hlg pour convertir une vidéo d'entrée au format HLG.

"elementaryStreams": [
  {
    "key": "video_hlg",
    "videoStream": {
      "h264": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "hlg":{}
    }
  }
]

Convertir au format HDR10

Utilisez l'objet hdr10 pour convertir une vidéo d'entrée au format HDR10.

"elementaryStreams": [
  {
    "key": "video_hdr10",
    "videoStream": {
      "h265": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "pixelFormat":"yuv420p10",
        "profile":"main10",
        "hdr10":{}
    }
  }
]

Convertir au format SDR

Utilisez l'objet sdr pour convertir une vidéo d'entrée au format SDR.

"elementaryStreams": [
  {
    "key": "video_sdr",
    "videoStream": {
      "h264": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "sdr":{}
    }
  }
]

Erreurs possibles

Si l'API Transcoder ne peut pas effectuer la conversion, la tâche de transcodage est défaillant. Les erreurs possibles sont les suivantes:

  • Conversion au format HDR10 avec des formats ou profils de pixels 8 bits
  • Entrées SDR non conformes à la norme BT.709