c't 3003: Plex auf dem NAS | Raspberry-Pi-4-Tutorial

Ein Medienserver mit Plex und OMV ist so praktisch, dass man darauf schnell nicht mehr verzichten will. Und: Er läuft locker auf einem Raspi 4.

In Pocket speichern vorlesen Druckansicht 41 Kommentare lesen

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Lesezeit: 21 Min.
Von
  • Jan-Keno Janssen

"Heimserver" klingt erstmal ein wenig langweilig, aber mit der Medienplayer-Software Plex wird aus dem Server etwas, das man in so gut wie jedem Haushalt gebrauchen kann. Das Tolle dabei: Ein Raspberry Pi 4 mit 5-Watt-Leistungsaufnahme reicht für Plex und Samba-Dateifreigaben via OpenMediaVault (plus Pi-Hole!) vollkommen aus.

(Hinweis: Es handelt sich hier um einen Bonusinhalt für Menschen, die das Video oben nicht schauen können oder wollen. Die Informationen auf der Bildspur gibt das Transkript nicht wieder.)

Guckt mal, wie cool ist das hier: Ihr ladet auf eurem Rechner irgendeine Videodatei herunter, geht zu eurem Fernseher in einem ganz anderen Raum – und zack, findet ihr hier in so einer Netflix-artigen Oberfläche den Film, den ihr gerade heruntergeladen habt und könnt euch den angucken. Inklusive Titelbild, Schauspielernamen, Bewertung et cetera. Ohne dass der Rechner jetzt irgendwie direkt an den Fernseher angeschlossen wäre. Rechner und Fernseher müssen nur im gleichen Netzwerk sein. Wenn ihr noch irgendwo 'ne USB-Platte herumliegen habt, könnt ihr euch das Ganze für unter 80 Euro selbst basteln auf dem Raspberry Pi 4. Ansonsten kostet 'ne 5-Terabyte-USB-Platte ungefähr 100 Euro. Achso, und Plex läuft sonst auch einfach auf eurem Windows-, Linux-, macOS-Rechner, ihr könnt das also auch komplett für lau ausprobieren.

In diesem Video seht ihr, wie das Ganze funktioniert, außerdem gibt’s zum Schluss auch ein Tutorial mit allen Schritten, wie ihr sowas auf einem Raspberry Pi 4 installiert. Achso, und das Ganze ist natürlich nicht auf Videodateien auf dem Fernseher beschränkt, ihr könnt den Raspi auch einfach als neutralen Netzwerk-Datenspeicher, also als NAS nutzen, um da zum Beispiel von beliebigen Geräten drauf zuzugreifen. Bleibt dran.

Lieber Hackerinnen, liebe Internetsurfer, herzlich willkommen hier bei…

Ich muss ganz ehrlich sagen: Das Thema Homeserver und NAS, also Network Attached Storage, also Festplatten im Netzwerk, fand ich persönlich immer ziemlich uninteressant – ich brauchte das einfach nicht, wenn ich was speichern will, häng ich halt 'ne USB-Platte an den Rechner und wenn ich Dateien mit unterschiedlichen Geräten und Leuten teilen will, benutze ich 'nen Cloud-Dienst, irgendwie Dropbox, Onedrive, iCloud, Nextcloud. Ja gut, und Dateien freigeben, um die auf dem Fernseher zu gucken, das hab ich irgendwann schon mal ausprobiert mit diesem DLNA-Standard, aber das sieht halt oft aus wie so eine DVD-Player-Oberfläche von circa 1999. Und vor allem hat das bei meinen Experimenten immer irgendwie Probleme gemacht, zum Beispiel mit Untertitel-Dateien oder unterschiedlichen Tonspuren.

Geändert hat sich meine Einstellung dazu erst, als ich mitbekommen habe, dass mein Fernseher das wirklich elegante Netzwerk-Medienabspielsystem Plex unterstützt. Plex ist eine sehr schön anzusehende, leicht zu bedienende Abspieloberfläche für Filme, Serien und Musik. Das Ganze funktioniert so: Es läuft irgendwo im eigenen Netz die Plex-Server-Software, die Zugriff auf die Mediendaten hat. Das kann einfach ein Desktop-Rechner sein, aber der Server läuft auch auf NAS-Geräten zum Beispiel von QNAP oder Synology – aber auch auf dem Raspberry Pi 4. Das nutze ich bei mir.

Ja, und zum Konsumieren nimmt man die Plex-Client-Software. Die läuft zum Beispiel direkt auf Samsung- und LG-Fernsehern ab 2016, außerdem auf Android-TV-Geräten auf Apple TV ab der 4. Generation oder Amazon Fire TV. Und natürlich auch auf Android- und iOS-Mobilgeräten und im Desktop-Browser.

Plex schiebt die Videodateien unverändert aufs Abspielgerät, das heißt, dass das Abspielgerät das Bild- und Ton-Format beherrschen muss. Tut es das nicht, kann Plex das Video in Echtzeit umwandeln – dafür braucht man aber einigermaßen starke Hardware, auf dem Raspi 4 klappt diese sogenannte Transkodierung nicht. In der Praxis hatte ich damit aber auf einem 2019er-LG-Fernsehern absolut keine Probleme, der hat alles abgespielt, was ich da draufgeworfen habe.

Das Tolle an Plex ist, dass die Datenbank komplett automatisch aufgebaut wird: Man muss nur eine Videodatei in einen Netzwerk-Ordner kopieren und in den meisten Fällen wird die dann direkt korrekt einsortiert, inklusive Titelbild, Schauspielernamen und oft sogar dem Soundtrack. Schaut mal hier, so läuft das ganz konkret: In dem Programm Mediathek View, damit kann man Zeugs aus diversen öffentlich-rechtlichen Mediatheken herunterladen, klicke ich auf den Film Sonnenallee, suche als Downloadziel den von meinem Raspi im Netzwerk freigegeben Film-Ordner aus und zack, sobald der Download fertig ist, taucht der hier in Plex auf und das sogar direkt richtig vertaggt und bebildert und mit allen Schauspielern. Was man allerdings gerade bei Downloads aus den Mediatheken oft machen muss: Die Dateinamen etwas begradigen, am besten so, dass da nur noch der Filmtitel und das Erscheinungsjahr steht; bei Serien sollte Staffel und Episodennummer im Format S01E01 im Dateinamen stehen, damit Plex gut damit klarkommt.

Achso, und natürlich MÜSSEN die Video-Dateien nicht von MediathekView kommen, man kann auch selbstgemachte Bluray-Rips da draufwerfen oder von wo auch immer man Filme und Serien bekommt, legal natürlich.

Jedenfalls läuft Plex echt schnell, guckt mal, hier im Vergleich Amazon Prime: Es dauert immer ein paar Sekunden, bis das nach dem Anklicken endlich losspielt – und dann muss man meistens auch noch irgendwelche Werbetrailer überspringen. Und hier Plex im gleichen Browser: Nahezu ohne spürbare Verzögerung. Und dann halt auch direkt mit Untertiteln, wenn man das haben will – bei der Serie „How to Dad“ zum Beispiel, die ich über Mediathek View aus der ARD-Mediathek heruntergeladen hatte, waren sogar direkt welche dabei. Hat man keine Untertitel, kann Plex aber auch automatisch im Netz welche suchen, was oft erstaunlich gut funktioniert. Bei Amazon Prime und anderen Streamern gibt es ja oft nur einsprachige Untertitel – bei Plex gibt’s das volle Sprachprogramm.

Ich hatte ja schonmal ein Video darüber gemacht, wie schlimm ich die Bedienung der meisten Streaming-Anbieter und Mediatheken finde. Auf meinem Fernseher funktionieren zum Beispiel oft solche grundlegenden Funktionen wie „Da weiterspielen, wo man aufgehört hat“ nicht, was mich wahnsinnig macht. Plex kriegt das alles problemlos hin, auch über unterschiedliche Geräte. Ich muss wirklich ganz ehrlich sagen, dass ich Plex rein von der Bedienung her besser finde als die allermeisten kommerziellen und öffentlich-rechtlichen Streaming-Angebote. Ok, Plex ist auch ein kommerzielles Projekt, aber man kann es kostenlos nutzen. Es gibt ein kostenpflichtiges Angebot, da bekommt man dann ein paar Zusatzfeatures, zum Beispiel eine Downloadfunktion auf Mobilgeräten – wenn man auf dem Handy unterwegs Serien gucken will, aber kein Internet hat zum Beispiel. Aber notwendig ist der kostenpflichtige Plex Pass definitiv nicht, ich habe das nur für dieses Video hier ausprobiert und vorher jahrelang nur mit der kostenlosen Version herumhantiert.

Es gibt übrigens auch eine unkommerzielle Open-Source-Alternative zu Plex, die heißt JellyFin. Die habe ich noch nicht getestet, sieht aber auf den ersten Blick recht vielversprechend aus. Schreibt gerne in die Kommentare, wenn wir dazu auch mal ein Video machen sollen (also nachdem ihr den Channel abonniert habt).

Jetzt mal ganz konkret zur Hardware, worauf der Kram hier läuft: Und zwar auf einem Raspberry Pi 4 einfach mit USB-Festplatten. Für die NAS-Funktionen, in meinem Fall hier sind das lediglich Ordner-Freigaben über Samba, sorgt die Open-Source-Software OpenMediaVault. Damit kann man auch noch SEHR viel andere Sachen machen – für meinen Zweck reicht Samba. Mit Samba ist hier übrigens das SMB-Protokoll gemeint, mit dem man Datei-, Druck- und andere Dienste im Netzwerk freigeben kann. Ein mit Samba freigegebener Ordner fühlt sich im normalen Alltag einfach an wie ein ganz normaler lokaler Ordner an, im Zweifel merkt man gar nicht, dass das ein Netz-Ordner ist.

Als Datenspeicher nehme ich USB-2,5-Zoll-Festplatten: Da kriegt man fünf Terabyte zurzeit für ca. 100 Euro. Eine einzelne Platte könnt ihr direkt an den Raspi anschließen, eine zweite nicht ohne weiteres: Der Raspi 4 hat zwar zwei USB-3.0-Buchsen, aber das offizielle Raspi-Netzteil verkraftete bei unseren Tests grundsätzlich nur eine Platte. Wollt ihr mehrere Platten anschließen, könnt ihr einen aktiven, also einen mit Strom versorgten, USB-Hub verwenden. Ich habe hier einen Hub mit 10 Anschlüssen und einem fetten 65-Watt-Netzteil benutzt, damit ist man definitiv auf der sicheren Seite. (Alle verwendeten Produkte sind in der Beschreibung übrigens verlinkt.)

Wie viel Platten man da dranhängen kann? Ich hab’s mit sechs ausprobiert, völlig ohne Probleme. In der Praxis kopiere ich in meinem 1-Gigabit-Netzwerk ungefähr 90 bis 110 Mbyte pro Sekunde auf die Netzlaufwerke. Lokal angeschlossen schaffen die 2,5-Zoll-USB-Platten vielleicht mal 120 Mbyte, aber viel mehr auch nicht; damit kann ich also gut leben.

An dieser Stelle jetzt mal eine wichtige Warnung: Das hier vorgestellte Raspi-NAS-System läuft hier bei mir seit über einem Jahr ohne Probleme. ABER: Es handelt sich hier nicht um eine professionelle, supersichere NAS-Lösung. Das hat in der c’t-Redaktion schon kontroverse Diskussionen gegeben. Alleine schon, weil man hier eher kein RAID benutzen sollte – mit RAID kann man, vereinfacht gesagt, über eine Verknüpfung von Laufwerken die Geschwindigkeit oder vor allem die Datensicherheit erhöhen. Da RAID supersensibel darauf reagiert, wenn ein Laufwerk auf einmal abgestöpselt wird und halt abstöpseln bei USB leicht passieren kann – deshalb unterstützt OMV standardmäßig gar kein RAID mit USB-Platten. Man KÖNNTE das manuell einstellen, aber ja, nee, das hat schon gute Gründe.

Echte NAS-Server, also so Geräte von QNAP, Buffalo oder Synology, binden Festplatten über SATA ein, und da ist Raid problemlos möglich – und da nimmt man dann für gewöhnlich auch speziell für NAS-Zwecke konzipierte Platten. Hier bei unserem Raspi-Bastel-NAS sind das halt normale Consumer-USB-Platten. ABER: Dafür hat das Raspi-NAS andere Riesenvorteile: Es ist zum Beispiel supersparsam, schließt man nur eine einzelne Platte an, zieht das System im Leerlauf nur 5 Watt aus der Steckdose. Bei Plattenzugriffen sind es maximal 6 Watt. Und wenn sich die Platte schlafen legt, also den Motor abschaltet – dann geht es nochmal zwei Watt runter. Außerdem ist das System bei schlafenden Platten komplett lautlos. Bei „echten“ NASsen föhnt meist permanent ein Lüfter, außerdem ist die Leistungsaufnahme höher.

Hinzu kommt der Preis: Bekommt man einen Raspi 4 zu normalen Preisen – was zugegebenermaßen zurzeit schwierig ist, aber zumindest hilft da die Website rpilocator.com, dann bezahlt man für ein komplettes 5-TB-NAS-System ungefähr 170 Euro. Ein „echtes“ NAS wird schwierig zu dem Preis. Tja, und auf meinem Raspi-NAS mit Plex läuft halt zusätzlich auch noch PiHole beziehungsweise zurzeit AdGuard Home, was das Leben WIRKLICH verbessert (Video dazu hier) – tja und ich finde, das sind gut ausgegebene 5 Watt, dass man dafür Netzlaufwerk, Plex-TV-Server und Netz-Säuberer kriegt. Ich kann auch das wirklich sehr ans Herz legen. Und jetzt die Anleitung, wie ihr euch das baut. Ihr braucht:

  • Ein Raspi 4 – zwei GByte RAM sollten reichen, mehr schaden natürlich nicht
  • Ein Netzteil für den Raspi
  • Ein Gehäuse, es reicht ein Billiges für 5 Euro
  • Eine MicroSD fürs Betriebssystem
  • Ein Netzwerkkabel – auch wenn ihr WLAN benutzen KÖNNTET, aber bitte tut’s nicht
  • Und mindestens eine USB-Festplatte oder USB-SSD

SO. Jetzt ladet ihr auf eurem bevorzugten Desktop-Betriebssystem den Raspberry Pi Imager herunter, klickt auf „OS wählen“, dann auf „Raspberry Pi OS (other)“ und dann „Raspberry Pi OS Lite (64-Bit)“. Ich habe mit der 64-Bit-Version gute Erfahrungen gemacht, die 32-Bit-Variante geht aber natürlich auch. Ihr MÜSST aber Raspberry Pi OS Lite installieren, also die Version ohne grafische Oberfläche. Ist eine grafische Oberfläche installiert, verweigert Open Media Vault nämlich die Installation.

So, und jetzt nochmal auf das Zahnrad hier klicken und SSH aktivieren, Passwort zur Authentifizierung verwenden und dann hier noch Username und Passwort eintragen. Achso und Zeitzone und Tastaturlayout könnt ihr hier auch direkt noch einstellen. Jetzt speichern, SD-Karte wählen und SCHREIBEN. Ist die MicroSD fertig geschrieben, schiebt ihr sie in den Raspi, schließt die Platte beziehungsweise den Hub mit mehreren Platten an, schließt das Netzwerkkabel an euren Router oder Switch – und dann könnt ihr den Raspi irgendwo vergraben, im besten Fall müsst ihr da nicht mehr dran, weil ihr alles per Fernzugriff über SSH steuern könnt.

Dafür braucht ihr die IP-Adresse eures Raspis, die kriegt ihr entweder über die Steuerungsoberfläche eures Routers raus, bei der Fritzbox klickt ihr beispielsweise direkt auf der Startseite unter „Heimnetz“ auf, „mehr“, dann da unten bei „raspberrypi“ auf „Details“. Jo, und da steht dann eure IP-Adresse. Klappt das irgendwie nicht mit dem Router, könnt ihr auch ein allerletztes Mal einen Monitor und eine Tastatur an den Raspi anschließen, loggt euch da ein und tippt hostname -I. Zack, da steht eure IP-Adresse. So, jetzt könnt ihr aber wirklich den Monitor abklemmen vom Raspi.

Dann öffnet ihr in eurem Lieblings-Betriebssystems ein Terminal (unter Windows Windows-Taste drücken und terminal eingeben) und dann tippt ihr ein: ssh IP-Adresse -l und dann der Login-Name, den ihr beim Erstellen der MicroSD vergeben habt. Jetzt meldet SSH, dass er das fremde System noch nicht kennt, tippt einfach „yes“ ein, und dann nochmal das Passwort, was ihr beim Erstellen der MicroSD vergeben habt. Und drin seid ihr. Jetzt könnt ihr erstmal das System updaten, indem ihr sudo apt-get update eingebt und danach sudo apt-get upgrade. Rödel, rödel, alles bestätigen, jetzt könnt ihr Open Media Vault installieren.

Das klappt mit folgendem Befehl: sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Der Befehl steht auch in der Video-Beschreibung, könnt ihr also bequem copy-pasten. Rödel, rödel, zack, fertig. Ja, das war’s tatsächlich schon. Wenn ihr jetzt im Browser die IP-Adresse des Raspis eingebt, kommt ihr schon auf die Login-Seite von OMV. Wenn ihr hier übrigens lange nichts macht, kommt so ein geiler Matrix-Effekt, aber ok, das ist nicht so wichtig. Ihr loggt euch das erste Mal mit admin und openmediavault ein (alles kleingeschrieben). Und dann solltet ihr erstmal das Standardpasswort ändern: Aufs Männchen klicken hier oben rechts, dann „Passwort ändern“.

Falls ihr die Sprache umstellen wollt, könnt ihr das auch hier in diesem Männchen-Menü. So, jetzt Platte einbinden. Ihr könnt Platten mit Daten einbinden (dazu später mehr), aber wenn ihr die Platte erstmal löschen wollt, geht auf „Datenspeicher“ klicken, dann Laufwerke. Hier solltet ihr jetzt alle angehängten Platten sehen. Um eine zu löschen, könnt ihr die hier anklicken und oben aufs Radiergummi gehen. Dann bestätigen. Ihr müsst übrigens bei OMV nach fest jeder Aktion ein zweites Mal bestätigen, dann taucht oben so ein gelbes „Ausstehende Konfiguationsänderungen“ auf. Da müsst ihr dann immer aufs Häkchen gehen, das sage ich ab jetzt nicht jedes Mal extra dazu.

Jetzt klickt ihr auf „Dateisysteme“. Wenn ihr auf das + geht, könnt ihr ein neues Dateisystem auf eurer gerade gelöschten Platte erstellen, klickt dafür auf Erstellen, logisch. Hier dann das Gerät im Dropdown-Menü auswählen und das zu erstellende Dateisystem auswählen. Voreingestellt ist das EXT4-Filesystem, das macht durchaus einen guten Job. Moderner ist BTRFS, das hat ein paar Zusatzfunktionen und obendrein den Vorteil, dass man eine BTFRS-Platte auch vom Raspi abstöpseln kann und unter Windows anstöpseln – hat man dort den BTFRS-Open-Source-Treiber installiert, lässt sich dann unter Windows darauf schreiben und lesen. Für EXT4 gibt es auch Windows-Tools, meiner Erfahrung nach sind die aber alle eher problematisch. Aber wie gesagt: Das ist eh nur relevant, wenn ihr die Platte physisch an einen Windows-PC steckt. Wenn ihr die am Raspi über Dateifreigaben nutzt, merkt ihr da keinen Unterschied, ob das nun BTFRS oder EXT4 ist.

So. Wenn ihr nun ein Dateisystem auf die Platte geschrieben habt, müsst ihr es noch einhängen. Also nochmal aufs + und „Einhängen“. Mit diesem Schritt könnt ihr auch direkt weitermachen, wenn ihr eure Platte nicht löschen wollt, sondern da schon Daten drauf sind, die ihr nutzen wollt. Das Einhängen klappt übrigens sogar mit NTFS-Partitionen, also dem Windows-Dateisystem und zwar sogar total unproblematisch – es muss also nicht zwingend EXT4 oder BTFRS sein. Jetzt klickt ihr auf „Freigegebene Ordner“, geht aufs „+“, wählt das soeben erstellte Dateisystem aus und tragt oben einen Namen ein, zum Beispiel „Filme“. Dann einfach auf Speichern. Und nun müsst ihr den Ordner nur noch über Samba freigeben. Dafür unter „Dienste“ auf „SMB/CIFS“, dann „Einstellungen“, dort auf „Aktiviert“, „Speichern“, dann „Freigaben“, hier aufs + und dann den soeben erstellten Ordner auswählen. Speichern, fertig. Jetzt nochmal überprüfen, ob der Benutzer für Samba freigeschaltet ist, dafür auf Benutzer/Benutzer, anklicken, dann auf den Stift und bei Gruppen „sambashare“ anklicken. Achso, und ganz wichtig: Ihr müsst da für euren Benutzer nochmal das Passwort eingeben.

Jo, und nun müsstet ihr schon auf den Netzwerkordner draufkommen. Unter Windows drückt ihr dafür auf die Windows-Taste und tippt \\192.168.178.28, tippt dann die bei der Raspi-Einrichtung vergebenen Login-Passwort-Kombination ein – und schon habt ihr ein Netzwerklaufwerk. Das kann man sich beispielsweise auf den Desktop ziehen, oder hier in den Start-Bereich.

Unter macOS öffnet ihr ein Finder-Fenster, drückt Command-K und gebt dann bei „Serveradresse“ SMB://*EUREIPADRESSE ein. So, wenn ihr eine Platte eingebunden habt, auf der schon Dateien waren – dann seht ihr diese nicht in dem Netzwerkordner, weil ihr den ja neu erstellt habt. Wenn ihr die Dateien im Netzwerkordner haben wollt, kriegt ihr das folgendemaßen hin: Wieder über ssh auf den Raspi. Dann sudo apt install mc und dann sudo mc eintippen, hier könnt ihr dann „komfortabel“ durchs Dateisystem browsen. Geht hier auf die beiden Punkte, und nochmal, Return, und unter „srv“ findet ihr dann die Platte, die ihr eingebunden habt. Macht das gleiche nochmal im rechten Bereich und geht da aber in den neu erstellten Netzwerk-Ordner. Jetzt könnt ihr von der linken Seite alles verschieben, das geht mit F6 zum Beispiel. Zack, jetzt sollten die Dateien auch im Netzwerk-Ordner auftauchen. Und nun noch schnell Plex installieren. Dafür müsst ihr erstmal das Paket „apt-transport-https“ herunterladen, weil das Plex-Repository im HTTPS-Modus und der Raspi damit standardmäßig nicht umgehen kann:

sudo apt install apt-transport-https

Dann den Schlüssel herunterladen:

wget https://downloads.plex.tv/plex-keys/PlexSign.key

Dann den Schlüssel im System hinterlegen:

sudo apt-key add PlexSign.key

Das Plex-Repository hinzufügen:

echo 'deb https://downloads.plex.tv/repo/deb public main' | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

Dann nochmal updaten:

sudo apt update

Und dann installieren:

sudo apt install plexmediaserver

Jo, und nun könnt ihr euch mit jedem Browser in eurem Netzwerk in Plex einloggen und zwar mit IP-Adresse eures Raspis : 32400/web/index.html# Hier dann einmal einen Account erstellen, und nach der Anmeldung könnt ihr dann direkt das Netzlaufwerk oder die Netzlaufwerke hinzufügen. Sinnvoll ist, wenn ihr für Filme, Serien, Musik, Fotos jeweils eigene Ordner habt. Die müsst ihr dann entsprechend in OMV anlegen. Joah, und nun fängt Plex direkt damit an, die Sachen einzulesen. Ihr könnt euch nun auch zum Beispiel am Fernseher einfach mit dem gerade angelegten Account anmelden und dann solltet ihr direkt Zugriff auf eure Film- und Serienbibliothek auf eurem Raspi-NAS haben. Viel Spaß!


c't 3003 ist der YouTube-Channel von c't. Die Videos auf c’t 3003 sind eigenständige Inhalte und unabhängig von den Artikeln im c’t magazin. Redakteur Jan-Keno Janssen und die Video-Producer Johannes Börnsen und Şahin Erengil veröffentlichen jede Woche ein Video.

(jkj)