Eingabevideo in HDR konvertieren

Auf dieser Seite wird erläutert, wie Sie das Eingabevideo in einem Transcodierungsjob in ein unterstütztes High Dynamic Range- (HDR)- oder Standard Dynamic Range-Format (SDR) konvertieren. Die Transcoder API verwendet HEVC (High-efficiency Video Coding) als primären Codec für die Farbkonvertierung. Passthrough ist standardmäßig aktiviert, wenn Sie kein Farbkonvertierungsformat angeben.

Farbumrechnungsformate

HEVC ist der primäre Codec, der für die unterstützten Farbkonvertierungsformate verwendet wird. Dazu gehören:

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

Für H.264 und VP9Streams werden nur HLG und SDR unterstützt. Alle Konvertierungen zwischen dem unterstützten Codec und den vorherigen Farbformaten werden unterstützt.

Passthrough

Passthrough ist standardmäßig aktiviert, wenn Sie kein Farbkonvertierungsformat angeben.

Für Passthrough berücksichtigt die Transcoder API die Grundfarben, die Übertragungsfunktion, den Bereich, die Chromaposition und den Farbraum der Eingabe, wobei keine Farbkonvertierung durchgeführt wird. Wenn die Eingabe HDR10 (oder HDR10+) und HEVC ist, übergibt die Transcoder API die Metadaten auch an das Ausgabevideo.

Wenn Sie einen Ausgabe-Codec angeben, der das Farbformat der Eingabe nicht unterstützt, funktioniert Passthrough optimal. Ein HDR10-Eingabevideo hat beispielsweise 10-Bit-Optionen für profile und pixelFormat. Wenn Sie die Ausgabe als H.265 mit einer 8-Bit-Option für profile angeben, ist die Ausgabe kein gültiges HDR10-Video, da HDR10 nicht mit einer 8-Bit-Option für profile funktioniert.

Beispiel-Conversions

Verwenden Sie ein leeres hlg-, hdr10- oder sdr-Objekt, um das Farbkonvertierungsformat anzugeben. In den folgenden Abschnitten wird das JSON-Objekt beschrieben, das einem VideoStream hinzugefügt werden muss, um eine bestimmte Konvertierung durchzuführen.

In HLG-Format konvertieren

Verwende das Objekt hlg, um ein Eingabevideo in das HLG-Format zu konvertieren.

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

In HDR10-Format konvertieren

Verwende das Objekt hdr10, um ein Eingabevideo in das HDR10-Format zu konvertieren.

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

Abwärtskonvertierung in SDR-Format

Verwende das Objekt sdr, um ein Eingabevideo in das SDR-Format zu konvertieren.

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

Mögliche Fehler

Wenn die Transcoder API die Konvertierung nicht ausführen kann, schlägt der Transcodierungsjob fehl. Mögliche Fehler sind:

  • Umwandlung in das HDR10-Format mit 8-Bit-Pixelformaten oder ‐Profilen
  • SDR-Eingaben, die nicht BT.709 entsprechen