Sonstige Ein- und Ausgänge

Einzelheiten zur Konfiguration der Ein- und Ausgänge, die in der Protokollübersicht (Weitere Eingänge und Ausgänge) kurz aufgeführt sind: Empfang von RTSP-Quellen und über HLS/HTTP, Arbeit mit Dateien und Geräten, benannte Pipes und die Brücke zu externen Anwendungen. Die Feldbezeichnungen entsprechen der Oberfläche.

RTSP-Eingang

Empfang eines Videostreams von RTSP-Quellen — IP-Kameras und RTSP-Servern. Der Knoten öffnet eine RTSP-Sitzung, liest die Elementarströme und remultiplexiert sie in den integrierten MPEG-TS; anschließend durchläuft der Stream die reguläre SPTS-Pipeline. Enthält die Quelle keine Tonspuren, wird eine stille Tonspur MPEG-1 Layer II hinzugefügt — die Pipeline benötigt mindestens eine Tonspur. RTSP ist eine Einzelprogrammquelle und steht nur SPTS-Streams zur Verfügung.

Einstellungen:

  • URI (rtsp://…) — die vollständige Adresse der Sitzung; Login und Password — die Zugangsdaten, falls der Server eine Autorisierung verlangt;

  • Transport — der RTP-Transport innerhalb von RTSP: UDP (Standard; geringe Latenz, empfindlich gegenüber Verlusten), TCP (durchquert NAT und Firewalls) oder HTTP-Tunnel (zum Durchqueren von HTTP-Proxys);

  • User-Agent und Cookies (erweiterte Einstellungen) — für Server mit nicht standardmäßiger Autorisierung;

  • Client timeout — das Zeitlimit für Öffnen und Lesen, standardmäßig 10 Sekunden.

HLS-/HTTP-Eingang

Empfang von MPEG-TS über HTTP: eine gewöhnliche HLS-Playlist oder eine kontinuierliche HTTP-Übertragung. Der Modus wird standardmäßig anhand des Inhaltstyps der Antwort automatisch bestimmt; bei Bedarf wird er explizit festgelegt. Bei einer adaptiven Playlist wird standardmäßig die erste Variante der Master-Playlist verwendet; die Nummer der Variante lässt sich explizit angeben (erweiterte Einstellung). Unterstützt werden die Autorisierung mit Login und Passwort, Cookies und ein eigener User-Agent sowie Playlists, die auf die Playlist einer neuen Sitzung umleiten. Der Eingang steht nur SPTS-Streams zur Verfügung; für MPTS verwenden Sie UDP / RTP / TCP, eine Datei oder einen DVB-Adapter.

Dateien und Geräte

Der Typ file dient sowohl als Eingang als auch als Ausgang:

  • Ausgang — Aufzeichnung in eine TS-Datei (beispielsweise für die spätere Diagnose mit externen Analysatoren) oder Ausgabe an ein Gerät: jedes Gerät in /dev, einschließlich SDI- und ASI-Karten. Für ein Gerät wird das Merkmal Is device node aktiviert.

  • Eingang — zyklische Wiedergabe aus einer TS-Datei oder Aufnahme von einem Gerät (beispielsweise DVB-ASI-Empfang — DVB-Empfänger).

Der Pfad wird im Feld File path angegeben — der vollständige Pfad zur Datei oder zum Gerät.

Benannte Pipes (pipe)

Lesen aus einer bestehenden benannten Pipe (FIFO) und Schreiben in diese. Im Unterschied zum Typ std startet der Knoten keinen Kindprozess: Das externe Quell- oder Empfängerprogramm muss unabhängig gestartet werden und die Pipe auf seiner Seite geöffnet halten. Das Feld FIFO path (empty = auto) legt den Pfad zu einer bestehenden FIFO fest (die beispielsweise mit dem Befehl mkfifo erzeugt wird); bei leerem Wert erzeugt der Knoten die FIFO selbst und vergibt den Pfad automatisch (der Pfad ist in der Statistik des Eingangs bzw. Ausgangs sichtbar). Verfügbar für SPTS und MPTS.

Externe Anwendungen (std)

Der Typ std ist eine Brücke zu Protokollen, die von den integrierten Mitteln nicht unterstützt werden: Der MPEG-TS-Stream wird über die Standard-Ein-/Ausgabeströme einer Konsolenanwendung eines Drittanbieters empfangen und übertragen; diese Anwendung startet und überwacht der Knoten selbst (und startet sie bei Beendigung neu).

Vertrag der Anwendung:

  • Eingang — die Anwendung schreibt MPEG-TS nach stdout; Diagnosemeldungen sind ausschließlich nach stderr auszugeben — stdout ist dem Stream vorbehalten;

  • Ausgang — die Anwendung liest MPEG-TS von stdin; die Einstellung Packets per write legt die Bündelung der Schreibvorgänge fest (1–16 TS-Pakete pro Vorgang, erweiterte Einstellung).

Einstellungen: Command (absolute path) — der absolute Pfad zur Anwendung; Arguments — die Befehlszeile (Anführungszeichen erhalten Leerzeichen innerhalb eines Arguments, ein umgekehrter Schrägstrich maskiert Zeichen); Env names und Env values — Paare von Umgebungsvariablen, die an die Anwendung übergeben werden.