Eingabevideo in HDR konvertieren

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

Farbkonvertierungsformate

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

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

Bei H.264- und VP9-Streams werden nur HLG und SDR unterstützt. Alle Umwandlungen zwischen dem unterstützten Codec und den oben genannten Farbformaten werden unterstützt.

Passthrough

Die Passthrough-Funktion ist standardmäßig aktiviert, wenn Sie kein Format für die Farbkonvertierung angeben.

Bei der Übertragung berücksichtigt die Transcoder API die Eingabegrundfarben, die Übertragungsfunktion, den Bereich, die Chroma-Position und den Farbraum. Es findet keine Farbkonvertierung statt. Wenn die Eingabe HDR10 (oder HDR10+) und HEVC ist, gibt die Transcoder API die Metadaten auch an das Ausgabevideo weiter.

Wenn Sie einen Ausgabe-Codec angeben, der das Farbformat des Inputs nicht unterstützt, erfolgt die Passthrough-Übertragung nach dem Best-Effort-Prinzip. Ein Eingabe-HDR10-Video hat beispielsweise 10-Bit-Optionen für profile und pixelFormat. Wenn du die Ausgabe als H.265 mit einer 8-Bit-Option für profile angibtst, ist die Ausgabe kein gültiges HDR10-Video, da HDR10 nicht mit einer 8-Bit-Option für profile funktioniert.

Beispiele für Conversions

Verwenden Sie ein leeres hlg-, hdr10- oder sdr-Objekt, um das Farbkonvertierungsformat anzugeben. In den folgenden Abschnitten wird das JSON-Objekt gezeigt, das einem VideoStream hinzugefügt werden muss, um eine bestimmte Conversion 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 umzuwandeln.

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

In SDR-Format umwandeln

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

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

Mögliche Fehler

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

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