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