Integration mit IPTV-Middleware¶
Wichtig
Betaversion 2.1. Das hier Beschriebene gibt es nur in der Betaversion 2.1: Sie wird aus dem Beta-Repository und nur mit einer Lizenz installiert; die stabile Version 2.0.2 und die Demoversion enthalten es nicht. Die Betaversion wird ohne Gewähr ausgeliefert, Support gibt es nach Möglichkeit (Betatestprogramm).
Seit Version 2.1.1.516 versteht der Knoten das Adress- und Token-Autorisierungsschema, mit dem IPTV-Middleware und Player bereits mit Streaming-Servern arbeiten: Ministra (Stalker), Microimpuls Smarty, TVIP TMS und Player mit dem Archiv catchup="flussonic". Eine solche Middleware lässt sich auf Perfect Streamer richten, ohne die Adressvorlagen der Kanäle in ihr zu ändern: Die Middleware gibt dem Abonnenten einen Link mit Token aus, und der Knoten prüft das Token bei der Middleware.
Eingeschaltet werden zwei Dinge: die Adressformen auf dem Streaming-HTTP-Server und der Server zur Token-Prüfung (Server zur Token-Prüfung). Beide werden in der Weboberfläche eingerichtet, außerdem in der Einstellungsdatei (Einen Parameter ändern) und über die HTTP API (Steuerung über die HTTP API).
Kanaladressen¶
Der Schalter „Flussonic-kompatible URLs“ im Abschnitt „Middleware“ des Bildschirms „Streaming-HTTP-Server“ (Streaming-HTTP-Server; der Schlüssel flussonic-urls in /config/http-server), standardmäßig ausgeschaltet. Ist er eingeschaltet, ist jeder Stream mit festgelegtem „URL-Stream-Name“ (URLs und Autorisierung) auch unter diesen Adressen erreichbar, neben den bisherigen:
Adresse |
Inhalt |
|---|---|
|
HLS-Live-Ausstrahlung |
|
DASH-Live-Ausstrahlung |
|
MPEG-TS-Live-Ausstrahlung; beim Stream muss die Auslieferung über HTTP eingeschaltet sein |
|
DVR-Archiv (DVR: Archiv des Streams) ab dem Zeitpunkt |
|
Timeshift: Archiv ab einem vergangenen Zeitpunkt (oder vor |
Die vollständige Adresse ist http://<Knoten>:<Port>/<Name>/index.m3u8?token=<Token>. Jede Anfrage muss ein Token tragen (höchstens 512 Zeichen lang). Der Name eines adaptiven Bundles (Adaptive Bundles) liefert dessen adaptive Playlist. Wird Archiv oder Timeshift ab einem Zeitpunkt angefordert, zu dem noch nicht aufgezeichnet wurde, antwortet die Master-Playlist mit 200 und die Playlist der Variante (Media) mit 404.
Die Namen hls, dash, llhls, http, rsv und Namen aus 17 Zeichen der Form h und 16 Hexadezimalziffern darf ein Stream in diesen Adressen nicht tragen. Im Stream-Editor zeigt die Weboberfläche auf der Registerkarte „OTT“ unter „URL-Stream-Name“ diese Adressen mit dem Namen des Streams an und bei einem solchen Namen eine Warnung (Stream konfigurieren).
Server zur Token-Prüfung¶
Den Token prüft die Middleware. Ihre Adresse wird als Server auf der Registerkarte „Remote (Abrechnung)“ des Bildschirms „Benutzer / Logins“ festgelegt (Benutzer / Logins; ein Eintrag in /config/cs/server). Im Feld „Konnektor“ wird einer der Token-Server gewählt:
ministra— „Ministra / Stalker (Token)“Ministra (Stalker). Adresse —
http://<Portal>/stalker_portal/server/api/chk_flussonic_tmp_link.php. In Ministra werden beim Kanal der Typ des temporären LinksFlussonic, der ArchivtypFlussonic DVRund die Archivadressehttp://<Knoten>:<Port>/<Name>/index.m3u8festgelegt.smarty— „Smarty (Token)“Microimpuls Smarty. Adresse —
http://<smarty>/tvmiddleware/api/streamservice/token/check/. Stream-Maske —/$prefix/index.m3u8?token=$token, Archiv-Maske —/$prefix/index-$flpbt-$flpdur.m3u8?token=$token.flussonic— „Flussonic auth backend (Token)“Jede andere Middleware (zum Beispiel TVIP TMS), die Tokens nach demselben Protokoll prüft. Adresse — ihre Prüfadresse.
Ein Token-Server prüft nur die Token dieser Adressen; die Anmeldung mit Login und Passwort bedient er nicht. Deshalb werden für ihn in der Weboberfläche nur „Name“, „URL“, „Timeout (s)“ und der Abschnitt „Token-Server“ festgelegt, während Passwort, Sitzungsabrechnung, Login-Präfix und -Suffix, Tracing und Antwortauswertung ausgeblendet sind. Den Schlüssel password verlangt der Knoten, gibt ihn an solche Server aber nicht weiter: Die Weboberfläche füllt ihn selbst aus. Wird ein Token-Server auf „Universal (HTTP)“ umgestellt, fordert die Weboberfläche ein echtes Passwort an. Beim Schreiben über die API wird password auf einen beliebigen nicht leeren Wert gesetzt.
Zugriff und erneute Prüfungen¶
Ohne Token — Ablehnung. Eine Anfrage ohne Token, mit abgelehntem Token oder bei nicht erreichbarem Prüfserver erhält die Antwort 403. Hat ein Server nicht oder mit einem Fehler geantwortet, wird der nächste gefragt; eine Ablehnung (401 oder 403) ist endgültig.
Middleware nicht erreichbar. Mit dem Kontrollkästchen „Zulassen, solange das Backend ausfällt“ (
auth-fail-open=true) werden neue Zuschauer eingelassen, solange alle Prüfserver nicht erreichbar sind, und innerhalb von 30 s erneut geprüft. Eine Ablehnung durch die Middleware hebt dieser Schlüssel nicht auf.Erneute Prüfung. Eine laufende Sitzung wird erneut geprüft — in dem Abstand, den die Middleware vorgibt (Antwort-Header
X-AuthDuration, standardmäßig 180 s), oder in dem Abstand, der im Feld „Erneute Prüfung“ festgelegt ist: „Profilstandard“, „Nie“ oder „Alle N Sekunden“ (Schlüsselauth-recheck:-1,0oder eine Sekundenzahl bis 86400). Eine Ablehnung bei der erneuten Prüfung beendet die Wiedergabe dieses Zuschauers. Ministra-Links werden nicht erneut geprüft: Sie leben nur wenige Sekunden.Sitzungen je Benutzer. Die Antwort-Header
X-Max-SessionsundX-UserIdbegrenzen die Zahl der Sitzungen eines Benutzers über HLS, DASH und MPEG-TS zusammen. Ist die Grenze erreicht, wird die am längsten inaktive Sitzung geschlossen; eine neue MPEG-TS-Verbindung wird in diesem Fall nicht angenommen.Das Token ist nicht sichtbar. Das Token wird nicht ins Protokoll geschrieben und nicht in der Weboberfläche angezeigt: Auf dem Bildschirm „Clients“ (Clients) erscheint die Sitzung als
tok:<16 Hexadezimalziffern>.OTT-Reserve. Sitzungen mit Token nehmen an der OTT-Reserve (OTT/DVR-Reserve) nicht teil.
Das Programm lädt Ministra aus dem XMLTV-Export des EPG-Servers (/xmltv, XMLTV-Auslieferung).
Einschränkungen¶
Timeshift — nur HLS (TS) eines einzelnen Streams.
Vorschau, Playlists nur mit Video und einzelnen Spuren (
video.m3u8,tracks-*) und das Archiv in MPEG-TS werden nicht ausgeliefert: Solche Adressen antworten mit 404.Die Integration wurde mit Emulatoren dieser Middleware geprüft, auf Produktivsystemen noch nicht.