Zweck¶
Perfect Streamer ist eine Server-Software für die zuverlässige Übertragung von MPEG-TS-Streams über das öffentliche Internet mit Paketverlusten und Verzögerungen. Sie empfängt, verarbeitet, multiplext und transcodiert außerdem Fernsehkanäle und liefert sie per OTT aus. Das Produkt richtet sich an Rundfunkveranstalter und Telekommunikationsbetreiber: Backbone-Übertragung von Kanälen zwischen Betreibern, DVB-to-IP-Kopfstationen, IPTV/OTT-Plattformen und Verteilnetze.
Perfect Streamer wird als einheitliche Anwendung für Linux x86-64 mit integrierter Weboberfläche und HTTP API ausgeliefert. Eine einzige Installation führt alle Stufen der Verarbeitungskette aus: Empfang, Verarbeitung und Remultiplexierung, Transcodierung, Übertragung zwischen Knoten, OTT-Auslieferung und Archiv (DVR), Überwachung.
Übertragung von Streams zwischen Knoten¶
Für jeden Stream werden ein Sender-Server (Sender) und ein oder mehrere Empfänger (Receiver) konfiguriert. Für die Übertragung von Streams zwischen Sender und Empfänger sowie für die Kommunikation mit Fremdgeräten stehen vier Peer-Protokolle zur Verfügung:
PS1 (Perfect Stream) — ein selbst entwickeltes, UDP-basiertes Protokoll, das nach dem Prinzip Automatic Repeat reQuest (ARQ) mit selektiver Neuübertragung arbeitet. Es benötigt wenig Ressourcen und überträgt Streams mit hoher Bitrate, einschließlich eines vollständigen MPTS. Am besten geeignet für Punkt-zu-Mehrpunkt-Konfigurationen: ein Sender und viele Empfänger.
SRT — ein offenes, weit verbreitetes Protokoll, das Paketverluste gut kompensiert; Modi Listener/Caller; kompatibel mit Fremdgeräten und Cloud-Diensten.
RIST — ein offenes, auf RTP/RTCP basierendes Protokoll. Es arbeitet nach dem ARQ-Prinzip ohne ACK, nur mit NACK; Profile Simple und Main.
Pro-MPEG COP3/RTP+FEC (SMPTE 2022-1/2) — RTP mit Vorwärtsfehlerkorrektur (FEC) ohne Rückkanal. Vorteile: geringe Latenz und Kompatibilität mit professioneller Rundfunktechnik. Nachteile: ständiger zusätzlicher Datenverkehr und schwache Wiederherstellung bei großen Paketverlusten.
AES-Verschlüsselung wird von PS1, SRT und RIST im Profil Main unterstützt; in Pro-MPEG ist sie als nicht standardisierte Erweiterung umgesetzt (Stream-Verschlüsselung). Eine ausführliche Beschreibung der Protokolle und die Planung der Übertragungskanäle finden Sie im Abschnitt Planung und Datenübertragungsprotokolle.
Neben den Peer-Protokollen werden Standard-Eingänge und Ausgänge unterstützt: UDP (Unicast/Multicast), RTP, HLS/HTTP, RTMP/RTMPS, Datei/Gerät, benannte Pipe (pipe) und externe Anwendung (std). TCP und RTSP werden nur als Eingänge unterstützt.
Hauptfunktionen¶
Verarbeitung ohne Transcodierung — Listen erlaubter und gesperrter PIDs, Neuzuordnung von PIDs und automatische PID-Anordnung des Programms, Bearbeiten der SDT und der Audiosprachen, Ändern der PNR, Entfernen nicht benötigter Tabellen (SDT/CAT/NIT/TDT, Teletext, Untertitel), Angleichung der PAT/PMT-Intervalle an TR 101 290; Bitratenmodi, einschließlich CBR mit Stuffing bis zu einer DVB-kompatiblen konstanten Bitrate.
MPTS-Multiplexer — Zusammenstellung eines Multiplex aus einzelnen Programmen mit PSI/SI-Generierung und einem TR 101 290-konformen Ausgang.
Demultiplexer — Extraktion einzelner Programme aus einem MPTS in eigenständige SPTS.
Transcoder — Hardware-Transcodierung auf NVIDIA-GPU und Intel VPL, Software-Transcodierung auf der CPU; mehrere Encoder aus einem einzigen Decoder (zum Beispiel für adaptive Bitrate).
Analysator — TR 101 290-Konformitätsprüfung (DVB) für SPTS und MPTS, PCR-Drift-Detektor, T-STD-Puffermodell, tiefgehende Streamanalyse, SCTE-35-Analysator, CBR/VBR-Detektor.
EPG und EIT — Erfassung von EIT aus dem Sendesignal in die EPG-Datenbank, XMLTV-Import, Generierung eines korrekten EIT (present/following und schedule) in den ausgehenden Stream, erzwungene Generierung der SDT.
EPG-Server — Bereitstellung des vollständigen XMLTV unter
/xmltvmit einer je Login begrenzten Auswahl an Kanälen, für OTT-Middleware.Testströme — integrierter Testsignalgenerator.
Meshwork — Zusammenschluss von Servern zu Domänen auf Basis des Gossip-Protokolls dezentraler Netze. In der Domäne gibt es einen Live-Status der Knoten, ein gemeinsames Verzeichnis der verwendeten Adressen und Ports (Ressourcenbibliothek) und die Replikation von Alarmen.
Sitzungsabrechnung und Zugriffskontrolle — Verbindungslimits pro Benutzer, ACL pro Kanal, Prefix/Suffix-Login zur Integration mit Middleware. Autorisierung von Client-Sitzungen in einer externen Abrechnung — Prüfung jeder Sitzung beim Verbindungsaufbau und periodische Reautorisierung mit Entzug des Zugriffs mitten in der Sitzung (Lebenszyklus im RADIUS-Stil: Start / Interim / Stop); ein universeller HTTP-Connector zur Anbindung der Abrechnung des Betreibers. Die Abrechnung erfolgt getrennt für jedes Protokoll — HLS/DASH für OTT und PS1/SRT für das Peering von Streams.
Weboberfläche — Verwaltung aller Funktionen, Administratorrollen, adaptive Profile für Arbeitsplatzrechner, Tablet und Telefon.
Automatische TLS-Zertifikate (ACME) — automatische Ausstellung und Erneuerung von Zertifikaten, Hot-Reload von TLS; HTTPS und HTTP/3 „out of the box“.
Analysator und Überwachung — TR 101 290-Kontrolle (DVB) am Eingang, einheitliche Alarmierung mit Zustellung per Email, Telegram oder an ein externes Skript, Kanalmosaik.
Außerdem verfügbar: Quellenredundanz mit automatischer Umschaltung; Integration mit Überwachungssystemen (Zabbix, Grafana, Prometheus, InfluxDB, Nagios); Integration mit externer Abrechnung zur Autorisierung von Client-Sitzungen; Sicherung sowie Export/Import von Einstellungen.
Für DVB-Rundfunkveranstalter¶
Für Kopfstationen des Satelliten-, Kabel- und terrestrischen Rundfunks (DVB-to-IP, Remultiplexierung, Contribution zwischen Standorten) stehen zur Verfügung:
Empfang von DVB-Karten — DVB-S, DVB-S2, DVB-T, DVB-T2 und DVB-C mit vollständigem Satz an Abstimmparametern; LNB- und DiSEqC-1.0-Steuerung, gemeinsame Nutzung eines LNB durch mehrere Tuner.
Transponder-Scanner und Blindscan — Durchlauf der Reference-Listen (satellites.xml, cables.xml, terrestrial.xml) mit Erfassung von PSI/SI, Aufbau der Struktur Multiplex → Programm und Messung von SNR, Pegel und BER; Suche nach nicht standardmäßigen Transpondern ohne Reference-Datei.
Entwürfelung — hardwarebasiert per CI/CAM (EN 50221) mit einem in den DVB-Empfänger integrierten CAM sowie softwarebasiert per BISS-1 / BISS-E (Schlüssel nach PNR oder PLP, Aktualisierung im laufenden Betrieb). Bereinigung des bedingten Zugriffs am Ausgang — Entfernen von ECM/EMM, CAT und CA-Deskriptoren aus der PMT, um einen sauberen FTA-Stream zu erhalten.
T2-MI-Dekapselung (ETSI TS 102 773) — gleichzeitige Ausgabe des äußeren DVB-S/S2-Multiplex und aller eingebetteten T2-MI-Träger. So wird regionales DVB-T2 über Satellit ohne separates Gateway empfangen.
Signalmonitor (femon) — kontinuierliche Messung von Lock, Pegel, SNR, BER und UCB mit Verlaufsdiagrammen über die Zeit.
Demultiplexer — Extraktion eines einzelnen Programms (nach PNR) aus einem empfangenen Transponder in ein eigenständiges SPTS.
Für OTT-Rundfunkveranstalter¶
Für IPTV/OTT-Betreiber und Verteilplattformen stehen zur Verfügung:
OTT-Auslieferung — HLS, Low-Latency HLS und MPEG-DASH über CMAF; Auslieferung über HTTPS und HTTP/3 (QUIC); adaptive Multi-Bitrate (ABR) in einer einzigen Master-Playlist; GOP/IDR-ausgerichtete Segmentierung; roher MPEG-TS over HTTP für TS-Clients.
WebVTT-Untertitel — Dekodierung von DVB-Teletext und DVB-Untertiteln in WebVTT für OTT-Player, auch im Archiv.
Netzwerk-DVR — Aufzeichnung jedes OTT-Kanals in ein Festplattenarchiv parallel zur Auslieferung; Wiedergabe des Archivs über dieselben HLS/DASH-URLs (Timeshift und VOD), Übergang Archiv → Live ohne Umleitungen und erneute Autorisierung, EPG-basiertes Catch-up, adaptives VOD und CMAF-Archiv, Multi-Festplatten-Speicher mit Retention und automatischer Bereinigung.
Transcoder und ABR-Leiter — mehrere Encoder mit eigener Auflösung, Bitrate und eigenem Codec arbeiten mit einem gemeinsamen Decoder (1toN); hardwarebasiert auf der GPU (NVIDIA, Intel VPL) oder softwarebasiert auf der CPU.
CDN-Bereitschaft — inhaltsadressierbare Segmente mit immutable-Headern, normalisierter cache-key und CORS für die Skalierung hinter einem Reverse-Proxy oder CDN.