Streaming ist die bequemste Möglichkeit, Mediadateien von einer zentralen Stelle im Netzwerk auf anderen Geräten abzuspielen. Dazu bieten sich zwei Techniken an: DLNA ist ein Streamingprotokoll, das Videodaten in beliebigen Formaten an DLNA-fähige Player wie VLC überträgt. Die neue Methode, die von Streamingdiensten wie Netflix, Amazon Prime und Youtube etabliert wurde, ist die Übertragung als HTML5-Video. Dieser Weg hat den Vorteil, dass auf den Clientgeräten kein DLNA-fähiger Player benötigt wird – ein Browser wie Firefox oder Chrome/Chromium genügt. Die Lösung ist jedoch anspruchsvoller in ihrer Umsetzung. Der in Java geschriebene Server Streama hilft weiter: Das Open-Source-Programm kümmert sich um den automatischen Aufbau einer Filmdatenbank anhand eines Verzeichnisses und präsentiert die Filme fertig zum Streamen auf einer Webseite im lokalen Netzwerk oder auf Wunsch auch auf einem öffentlichen Webserver. Der Zugang zur Streaming-Webseite ist mit einem Passwort geschützt.
Streamingserver im Vergleich: Kodi, Emby und Co.
Voraussetzungen und Hardware
Streama hat als Java-Programm keine geringen Anforderungen an das System, auf dem es laufen soll. Ein Raspberry Pi reicht nicht aus. Ein älterer PC oder Laptop mit Core-2-CPU oder ähnlich sowie zwei GB RAM genügt aber völlig. Auch ein heimischer Linux-PC, der nebenbei im LAN noch Serverrollen übernimmt, ist Streama gewachsen. Streama transcodiert nicht: Die Videodateien bleiben im Originalformat und müssen deshalb für Einbettung in HTML5 geeignet sein. Geeignete Videoformate dafür sind Theora (OGG), H.264 (MP4), HEVC (MP4) und die WEBM-Formate. Auf Wikipedia gibt es eine Kompatibilitätstabelle.
Um sich schnell einen Überblick zu Streama zu verschaffen, lohnt sich ein Besuch der Demo-Webseite https://demo.streamaserver.org , wo die Entwickler des Projekts eine Instanz von Streama aufgesetzt haben, aus rechtlichen Gründen ohne die tatsächlichen Videos. Der Benutzername und das Passwort lauten jeweils „demoUser“. Es fällt sofort auf, dass Streama stark von Netflix beeinflusst ist. Die offizielle Projekt-Webseite ist unter https://streamaserver.org zu finden und der Quellcode liegt auf Github.
Installation und Einrichtung

Jedes Linux eignet sich als Unterbau, denn Streama ist als Java-Programm plattformunabhängig und verlangt lediglich eine Java-Runtime in Version 8. Ein Paket dafür bieten alle Linux-Distributionen in ihren Standard-Paketquellen an. In Debian und Ubuntu ist die Java-Runtime über die Shell mit dem Kommando
sudo apt-get install openjdk-8-jre
zu installieren. Die Einrichtung von Streama läuft dann so ab:
1. Der Streama-Server darf nicht als root laufen, sondern soll auf dem Linux-System unter einem normalen Benutzerkonto ausgeführt werden. Im Home-Verzeichnis des gewünschten Kontos legen Sie mit
mkdir ~/streama
cd ~/streama
ein neues Unterverzeichnis an und wechseln in dieses.
2. Hier gilt es, die neueste Version von Streama herunterzuladen. Das Java-Programm liegt als JAR-Datei vor und ist in seiner neuesten Ausgabe stets unter https://github.com/streamaserver/streama/releases zu finden. Zur Drucklegung war Streama 1.6.6 aktuell. Die JAR-Datei legen Sie im zuvor angelegten Unterordner ab.
3. Generell funktioniert Streama schon in seiner Standardkonfiguration und wird auf Port 8080 einen Webserver starten. Weil der Serverprozess im Kontext eines normalen Benutzers läuft, sind Portnummern unter 1024 nicht erlaubt. Falls Port 8080 schon von einem anderen Prozess belegt ist, kann man den Port in einer Konfigurationsdatei ändern. Dazu muss die Beispielkonfiguration von https://raw.githubusercontent.com/dularion/streama/master/docs/sample_application.yml als „application.yml“ im gleichen Verzeichnis wie Streama abgelegt werden. Das erledigt auch dieser Befehl in einer Zeile:
wget -O application.yml https://raw.githubusercontent.com/dularion/streama/master/docs/sample_application.yml
Die Datei „application.yml“ öffnen Sie in einem beliebigen Texteditor und ändern dort die Zeile „port: 8080“ etwa zu „port: 9090“. Damit wird Streama den Webserver auf Port 9090 öffnen.
4. Jetzt kann der Befehl
java -jar streama-[version].jar
den Server in Gang setzen, wobei der Platzhalter „[version]“ noch nach einer Anpassung verlangt, um dem tatsächlichen Dateinamen zu entsprechen. Läuft der Server, so gibt er auf der Kommandozeile die Meldung „The following profiles are active: production“ aus. Fehlermeldungen liegen zumeist an unpassenden Java-Versionen.
Tipp: So richten Sie den Plex-Medienserver unter Raspbian ein
Bibliothek mit Videos füllen

Nun wartet der Streama-Server unter der URL „http://[IP-Nummer]:8080“ auf die erste Anmeldung und seine Konfiguration. Das erste Log-in gelingt einfach als „admin“ mit Kennwort „admin“. Auf der nächsten Seite wählt man erst einmal ebenfalls „admin“ als Profil und kommt dann auf die Seite „Settings“. Dort sind folgende Felder auszufüllen, bevor es losgehen kann:
„Upload Directory“: In diesem Serververzeichnis erwartet Streama die Videos.
„TheMovieDB API key“: Streama bezieht Beschreibungen zu Filmen anhand des Titels aus dieser Onlinedatenbank. Für den Zugriff ist ein API-Schlüssel nötig, den man nach kostenloser Registrierung auf https://themoviedb.org/account/signup per E-Mail erhält.
„Base URL“: Hier müssen Adresse und Port eingetragen sein, unter welchen der Server erreichbar ist. Zunächst ist hier nur „localhost“ und Port „8080“ eingetragen. Eine Anpassung ist nötig, wenn der Server seine Adresse ändert oder von außen per Portweiterleitung aus dem Internet erreichbar sein soll.
„Local Video Files“: Liegen bereits Mediadateien auf dem Server, dann können Sie hier den Pfad zum Verzeichnis angeben und beim Erstellen neuer Einträge die dort gespeicherten Dateien ohne Upload auswählen.
Zu empfehlen ist ferner, oben rechts über „User Settings“ das Passwort für den „admin“ zu ändern. Zur Benutzerverwaltung geht es im Menü „Manage profiles“. Um nun die Bibliothek mit Videos zu füllen, geht es auf den Menüpunkt „File Manager“. Der ermöglicht es, Filme und TV-Serien einzeln oder auch im Stapel einzulesen. Um Streama beim Systemstart automatisch auszuführen, ist es noch nötig, eine Script-Datei für Systemd zu erzeugen. Ein Beispiel zeigt die Dokumentation .
HTTPS: Sichere Verbindung zu Streama
Der Webserver von Streama ist für privaten Einsatz im lokalen Netzwerk gedacht. Eine sicher verschlüsselte Anmeldung per HTTPS-Protokoll und einem TLS-Zertifikat unterstützt Streama nicht. Um den Server für den Internetfernzugriff per HTTPS abzusichern, ist daher ein vorgeschalteter Proxyserver nötig, der diese Verbindung annimmt und intern an Streama weiter leitet. Auf https://streamaserver.org/config/proxy finden sich Anleitungen dazu für Nginx und Apache.