Transkoder¶
Die Transkoder sind als eigenständige Binärdateien implementiert, die von pstreamer als separate Prozesse gestartet werden.
1-zu-N-Konfigurationen werden unterstützt — von einem Decoder können mehrere Streams mit unterschiedlichen Encoder-Einstellungen erzeugt werden.
Der Quellstream muss Video und Audio enthalten; Varianten ohne Video oder ohne Ton werden nicht unterstützt.
Implementierte Codecs:
Video SW decoder: mpeg2, h.264, hevc (h.265)
Video NW decoder: mpeg2, h.264, hevc (h.265)
Video SW encoder: mpeg2, h.264, hevc (h.265)
Video NW encoder: h.264, hevc (h.265)
Interlaced Streams werden am Eingang und Ausgang unterstützt.
Für H.264- und HEVC-Decoder wird Interlace Alternate (zwei getrennte Halbbilder im Stream) unterstützt; es wird in Interlace Interleaved umgewandelt.
Der HEVC-Decoder unterstützt das Profil Main10 mit bt.709 (SDR) und bt.2020 (HDR). Der HEVC-Encoder nutzt stets das Profil Main mit bt.709.
Für die H.264- und HEVC-Decoder wird VFR (Variable Frame Rate) unterstützt; es wird in eine konstante Framerate umgewandelt.
Audio decoder - mpeg (layer 1,2,3), aac, ac3
Audio encoder - mpeg (layer 2), aac
Es gibt den Transkodierungsmodus Video Passthrough — Video wird nicht transkodiert, nur der Ton; verwendet wird der SW-Transkoder.
Bemerkung
Für die Transkodierung müssen zwei oder mehr Streams konfiguriert werden — mit output (Decoder) und input (Encoder).
Zur Konfiguration einer Transkoder-Instanz ist nötig:
Quelle — im Stream-Output-Transkoder (Decoder) hinzufügen. In den Einstellungen Typ wählen: SW, NV oder Video Passthrough.
Ausgangsstream — im Stream-Input-Transkoder (Encoder) hinzufügen; in den Einstellungen die Quelle (Decoder) wählen.
Wiederholen, wenn mehrere Ausgangsstreams für einen Decoder benötigt werden.
Einstellungen des Output-Transkoders (Decoder)¶
Convert colors to BT.709 — Konvertierung von SD BT.470-2 (PAL) und SMPTE 170M (NTSC) nach BT.709
Trace — für die Diagnose das detaillierte Transkoder-Log aktivieren.
Für den korrekten Betrieb des Transkoders muss der Quellstream bestimmte Anforderungen erfüllen; in einigen Fällen lässt sich das korrigieren. Diese Einstellungen konvertieren den Stream nicht — sie wirken als Hinweise für den korrekten Betrieb des Transkoders.
Für die Korrektur der Eingangsdaten gibt es folgende Einstellungen:
Fix PAR — Pixel Aspect Ratio korrigieren. Wird als Bruchzahl im Format N/D angegeben; für Wide SD z. B. 16/9.
Fix Framerate — Framerate explizit angeben. In manchen Streams kann die Framerate im SPS fehlen, im Transkoder-Log erscheint dann der entsprechende Fehler. In diesen Fällen ist die Framerate manuell anzugeben. Wird als Bruch im Format N/D angegeben.
Beispiele für Framerate-Werte:
PAL - 25/1
NTSC — 30/1 oder 30000/1001
Cinema — 24/1 oder 24000/1001
Einstellungen des Input-Transkoders (Encoder)¶
Encoder Type — Video-Codec.
Align Total Bitrate — Stuffing-Bitrate des Streams (Auffüllen mit null-Paketen). Wichtig, wenn der Stream für DVB-Übertragung genutzt wird. Die Bitrate muss garantiert höher sein als die Bitrate von Video und allen Audio-Spuren.
Video Profile — für H.264 lässt sich das Kodierungsprofil wählen.
Video Bitrate — Bitrate des Videostreams in kbps. Die Kodierung läuft stets in CBR; die Gesamtbitrate ist durch die Tonspuren höher.
Speed Preset — Voreinstellungen für die Kodierung, Werte 1–7. Niedriger = höhere Qualität und höherer Ressourcenbedarf. Standard 4.
GOP Interval — Intervall in Frames für die GOP (entspricht dem Key Frame Interval). Standard 25 (1 Sekunde bei 25p); empfohlen, wenn Player die Wiedergabe an einer beliebigen Stelle des Streams starten.
BFrame — für höhere Qualität aktivieren. Empfohlener Wert: 3.
Lookahead — für höhere Qualität aktivieren. Empfohlen: 20–50 Frames.
Resize — Bildgrößenänderung.
Deinterlace — wandelt Interlace in Progressive um.
Einfügen eines crop (leere Ränder am Bild) wird nicht unterstützt. Beliebige Bildgrößen werden nicht zugelassen, da Seitenverhältnisse verzerrt würden.
Für resize stehen folgende Optionen zur Verfügung:
Größe proportional um Faktor 2 und 4 verkleinern.
Format Wide SD 16:9 setzen, der passende Aspect Ratio wird gewählt.
Upscale SD→HD. Wird auf SD-PAL/NTSC-Quellen angewandt. Interlace wird nicht unterstützt — bei Bedarf vorher deinterlacen.
Breite festlegen. Die Höhe wird proportional berechnet.
Höhe festlegen. Die Breite wird proportional berechnet.
Einige Parameter können mit dem gewählten Transkoder unverträglich sein; Fehler erscheinen in dessen Log.
Audioverarbeitung¶
Standardmäßig werden alle Tonspuren ohne Verarbeitung von Input zu Output durchgereicht. Unnötige Spuren lassen sich über PID-Filter im Stream entfernen.
Wenn der Ton transkodiert werden soll, lässt sich das über Regeln pro Audio-Codec konfigurieren. Option skip — Tonspur mit diesem Codec entfernen.
Fehlen im Ausgangsstream Tonspuren, kommt es zu einem Fehler — siehe Transkoder-Logs.
PCR-Erzeugung und TR 101 290¶
Der MPEG-TS-Multiplexer erzeugt einen neuen PCR. Bei korrekt gesetztem Align Total Bitrate (über der Summe aus Video- und Audiobitrate) sollte der PCR die TR-101-290-Prüfung bestehen.
Status der Transkoder¶
Bei Problemen im Transkoder-Betrieb (kein Stream vom Encoder) sind die Logs im Bereich Transcoders zu prüfen — dort ist die Liste der Instanzen zu sehen (jede Zeile ist eine separate Instanz, decoder + N encoders); beim Klick auf eine Instanz öffnet sich der Log-Status-Dialog. Angezeigt werden das aktuelle Log und das Log des vorherigen Starts. Für ein detailliertes Log aktivieren Sie trace in den output (decoder)-Einstellungen.