---
title: Integration mit IPTV-Middleware
url: https://doc2.pstreamer.tv/de/manual/streamer/iptv_middleware.html
lang: de
product: Perfect Streamer
version: 2.0.2.423
---

# 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](../extras/beta.md#extras-beta)).

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](../extras/config_editing.md#extras-config-editing-change)) und über die HTTP API ([Steuerung über die HTTP API](../extras/api.md#extras-api)).

## Kanaladressen

Der Schalter „Flussonic-kompatible URLs“ im Abschnitt „Middleware“ des Bildschirms „Streaming-HTTP-Server“ ([Streaming-HTTP-Server](../webui/administration.md#webui-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](ott_dvr.md#streamer-ott-urls)) auch unter diesen Adressen erreichbar, neben den bisherigen:

| Adresse | Inhalt |
| --- | --- |
| `/<Name>/index.m3u8`, `/<Name>/mono.m3u8` | HLS-Live-Ausstrahlung |
| `/<Name>/index.mpd` | DASH-Live-Ausstrahlung |
| `/<Name>/mpegts` | MPEG-TS-Live-Ausstrahlung; beim Stream muss die Auslieferung über HTTP eingeschaltet sein |
| `/<Name>/index-<Beginn>-<Dauer>.m3u8`, `archive-…`, `mono-…` (und `index-…`, `archive-…` mit `.mpd`) | DVR-Archiv ([DVR: Archiv des Streams](ott_dvr.md#streamer-dvr)) ab dem Zeitpunkt `<Beginn>` (Unix-Zeit in Sekunden) mit einer Dauer von `<Dauer>` Sekunden, bis zu 31 Tage, oder `now` — bis zum aktuellen Zeitpunkt |
| `/<Name>/timeshift_abs-<Beginn>.m3u8`, `/<Name>/timeshift_rel-<Sekunden>.m3u8` | Timeshift: Archiv ab einem vergangenen Zeitpunkt (oder vor `<Sekunden>`), das danach als Live-Ausstrahlung weiterläuft |

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](ott_dvr.md#streamer-ott-adaptive)) 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](../webui/streams.md#webui-stream-editor)).

## 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](../webui/configure.md#webui-users); 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 Links `Flussonic`, der Archivtyp `Flussonic DVR` und die Archivadresse `http://<Knoten>:<Port>/<Name>/index.m3u8` festgelegt.
**`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üssel `auth-recheck`: `-1`, `0` oder 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-Sessions` und `X-UserId` begrenzen 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](../webui/monitor.md#webui-clients)) erscheint die Sitzung als `tok:<16 Hexadezimalziffern>`.
- **OTT-Reserve.** Sitzungen mit Token nehmen an der OTT-Reserve ([OTT/DVR-Reserve](../planning/ott_reserve.md#planning-ott-reserve)) nicht teil.

Das Programm lädt Ministra aus dem XMLTV-Export des EPG-Servers (`/xmltv`, [XMLTV-Auslieferung](epg/middleware.md#streamer-epg-server)).

## 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.
