Transcoder¶
Transcoder codieren Video und Ton eines Streams um: Sie senken die Bitrate für OTT oder für einen Multiplex, ändern Codec und Auflösung und bereiten die Varianten adaptiver Bundles vor. Jeder Transcoder läuft als eigener Prozess des Knotens; das Schema „eins zu vielen“ wird unterstützt — aus einem Decoder lassen sich mehrere Ausgangsstreams mit unterschiedlichen Codiereinstellungen gewinnen. Transcodierung steht ausschließlich SPTS-Streams zur Verfügung; der Quellstream muss sowohl Video als auch Ton enthalten.
Architektur des Transcoders: ein Decoder (gemeinsam) und N unabhängige Zweige „Verarbeitung + Encoder“; die Tonspuren werden getrennt vom Video verarbeitet, Untertitel und Teletext werden durchgereicht.¶
Verschaltung¶
Ein Transcoder verbindet zwei oder mehr Streams:
Am Quellstream wird ein Ausgang vom Typ transcoder hinzugefügt — das ist der Decoder. In seinen Einstellungen wird das Backend der Transcodierung ausgewählt (siehe unten).
Am Ergebnisstream wird ein Eingang vom Typ transcoder hinzugefügt — das ist der Encoder. In seinen Einstellungen wird der laufende Quell-Decoder ausgewählt (Feld Decoder).
Schritt 2 wird für jede weitere Variante wiederholt — alle nutzen denselben gemeinsamen Decoder.
Danach ist der Ergebnisstream ein gewöhnlicher SPTS-Stream: Er kann über OTT ausgeliefert, in den DVR aufgezeichnet oder dem Multiplexer zugeführt werden.
Backends und Codecs¶
Das Backend wird am Decoder ausgewählt (Feld Transcoder backend, die Werte wie in der Oberfläche):
- Video pass-through
Das Video wird ohne Umcodierung durchgereicht, transcodiert wird ausschließlich der Ton. Der Modus wird vom Software-Transcoder ausgeführt — das Paket der Software-Transcodierung muss installiert sein (Transcoder).
- Software (CPU)
Software-Transcodierung auf dem Prozessor.
- NVidia (GPU)
Hardware-Transcodierung auf Grafikprozessoren von NVIDIA.
- Intel VPL (GPU)
Hardware-Transcodierung auf Grafikprozessoren von Intel.
Für die GPU-Backends wird das Gerät über das Feld GPU device selector ausgewählt (erweiterte Einstellung) — relevant auf Servern mit mehreren Karten. Die Transcoder-Pakete werden separat installiert (Transcoder); die installierten Backends, deren Versionen und die gefundenen Geräte werden auf dem Bildschirm „Über“ angezeigt (Über das System).
Codecs des Decoders — MPEG-2, H.264, HEVC; Ton — MPEG (Layer 1–3), AAC, AC-3. Codecs des Encoders — H.264 und HEVC (der Encoder von NVIDIA unterstützt kein MPEG-2; MPEG-2 codieren die Backends Software und Intel VPL); Ton — MPEG Layer II und AAC.
Besonderheiten des Decoders:
Zeilensprungstreams (interlace) werden am Eingang und am Ausgang unterstützt; bei H.264 und HEVC wird das Format interlace alternate (getrennte Halbbilder) in interleaved umgewandelt;
für HEVC wird das Profil Main10 mit BT.709 (SDR) und BT.2020 (HDR) unterstützt; der HEVC-Encoder verwendet stets das Profil Main mit BT.709;
eine variable Bildrate (VFR) wird in eine konstante umgewandelt;
Streams ohne IDR-Bilder werden unterstützt.
Einstellungen des Decoders¶
Sie werden am Ausgang vom Typ transcoder des Quellstreams festgelegt (Bezeichnungen wie in der Oberfläche; alle nachfolgend aufgeführten sind erweiterte Einstellungen):
- Fix PAR (N/D), Fix framerate (N/D)
Hinweise zur Korrektur der Daten des Eingangsstreams — sie wandeln den Stream nicht um, sondern berichtigen Parameter, wenn die Quelle sie nicht oder falsch meldet. Fix PAR — das Seitenverhältnis des Pixels als Bruch (zum Beispiel 16/9 für Wide SD); Fix framerate — die Bildrate als Bruch, falls sie im Stream fehlt (PAL — 25/1, NTSC — 30000/1001, Film — 24/1).
- Convert to BT.709
Konvertierung der SD-Farbformate (BT.470-2 PAL, SMPTE 170M NTSC) nach BT.709.
- Watchdog timeout
Timeout des Watchdog-Neustarts des Transcoder-Prozesses.
Der Transcoder-Prozess führt stets ein ausführliches Protokoll — eine separate Einstellung für die Ablaufverfolgung ist nicht erforderlich (Betriebsüberwachung).
Einstellungen des Encoders¶
Sie werden am Eingang vom Typ transcoder des Ergebnisstreams festgelegt:
- Encoder
Videocodec: MPEG-2, H.264 (Standard) oder HEVC.
- Video profile (H.264)
Codierprofil von H.264: Main oder High.
- Video bitrate (kbps)
Bitrate des Videos. Die Codierung erfolgt stets im CBR-Modus; die Gesamtbitrate des Streams fällt durch die Tonspuren höher aus.
- Resize
Änderung der Bildgröße: proportionale Verkleinerung um den Faktor 2 oder 4; Anpassung an SD — die Varianten SD, SD PAL und SD NTSC, alle mit dem Breitbildverhältnis 16:9; Hochskalierung von SD auf HD; Vorgabe der Breite oder der Höhe (die jeweils andere Seite wird proportional nachgerechnet). Eine beliebige Größe wird nicht unterstützt — sie würde die Proportionen verzerren.
- Deinterlace
Umwandlung von Zeilensprungvideo in Vollbildvideo (standardmäßig aktiviert; bei der Hochskalierung von SD auf HD wird sie automatisch angewendet).
Einstellungen für Qualität und Struktur des Streams (erweiterte Einstellungen):
- GOP interval
Intervall der Keyframes in Bildern. Standardmäßig 25 — eine Sekunde bei 25p; empfohlen, wenn Player zu einem beliebigen Zeitpunkt auf den Stream zugreifen.
- B-frames, Lookahead
Sie erhöhen die Codierqualität; die empfohlenen Werte sind 3 beziehungsweise 20–50 Bilder.
- Speed preset
Voreinstellung der Codiergeschwindigkeit von 1 bis 7: je kleiner der Wert, desto höher die Qualität und desto größer die Last. Standardmäßig 4.
- Framerate resample
Ausdünnung der Bildrate um den Faktor 2 oder 4.
- Encoder PMT PID, PAT/PMT interval (90kHz)
PID der PMT-Tabelle und Wiederholintervall der Tabellen PAT/PMT im Ausgangsstream — falls der Stream in den Netzplan eingepasst werden muss.
Unverträgliche Parameterkombinationen sind möglich — die Fehler sind im Protokoll des Transcoders sichtbar (Betriebsüberwachung).
Tonverarbeitung¶
Standardmäßig werden alle Tonspuren ohne Umcodierung vom Eingang an den Ausgang durchgereicht. Überzählige Spuren werden durch die PID-Filter am Eingang des Streams entfernt (MPEG-TS-Filterung).
Die Umcodierung des Tons wird über Regeln getrennt für jeden Quellcodec konfiguriert (erweiterte Einstellungen): Eine Spur kann unverändert durchgereicht, umcodiert (MPEG — nach AAC; AAC — nach MPEG Layer II; AC-3 — nach MPEG Layer II oder AAC) oder entfernt werden (Wert Skip). Zusätzlich werden die Bitrate des Tons (Audio bitrate, standardmäßig 128 kbit/s) und die Lautstärke des 5.1-Downmix (5.1 downmix volume) festgelegt. Bleibt nach Anwendung der Regeln im Ausgangsstream keine einzige Tonspur übrig, meldet der Encoder einen Fehler im Protokoll.
PCR und Bitrate des Ausgangsstreams¶
Der Multiplexer des Transcoders erzeugt neue, konsistente PCR-Marken. Standardmäßig ist der Ausgangsstream VBR: Die Gesamtbitrate folgt der tatsächlichen Bitrate von Video und Ton, und die PCR-Genauigkeit nach TR 101 290 ist auf der Empfangsseite nicht gewährleistet. Ist der transcodierte Stream für die DVB-Ausstrahlung bestimmt, aktivieren Sie den CBR-Modus am Empfängerstream — das Stuffing gleicht die Bitrate an und berechnet die PCR neu (Bitratensteuerung).
Betriebsüberwachung¶
Der Bildschirm „Transcoder“ (Transcoder) zeigt alle Instanzen an: Jede Zeile ist eine eigene Instanz (ein Decoder und die mit ihm verbundenen Encoder) mit Zustand, Backend-Typ, Betriebsdauer, CPU-Last und Speicherbelegung. Das Fenster „Transcoder-Instanz“ (Transcoder-Instanz) zeigt die Quelle, die Liste der Encoder mit den Parametern des Ausgangsvideos, die Ressourcen des Prozesses sowie die Protokolle des aktuellen und des vorherigen Starts — die erste Anlaufstelle bei der Diagnose von Störungen.
Die Auslastung der GPU-Geräte wird auf dem Bildschirm „System-Monitor“ angezeigt (System-Monitor). Das Überschreiten der Schwellenwerte für CPU, Speicher und GPU-Auslastung sowie die Nichtverfügbarkeit des konfigurierten Backends lösen Alarme aus (Katalog der Alert-Codes).