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