Ein MediaServer mit Raspberry Pi — 2021

Zuletzt geändert: 22. August 2021
Geschätzte Lesezeit: 9 min

.. oder: “Die voll­stän­di­ge Anlei­tung für einen Raspber­ry-Pi Mediaserver”. 

Die Idee

Es haben sich über die Jahr­zehn­te eini­ge Medi­en ange­sam­melt, und ver­stau­ben nicht erst seit dem auf­kom­men der Strea­ming Diens­te in Kis­ten. Mei­ne CD-Samm­lung hab ich schon zu Beginn der Digi­ta­li­sie­rung umge­stellt. Mei­ne DVD Samm­lung ist zwar recht klein und über­schau­bar, aber die Mög­lich­kei­ten sie ab zu spie­len wer­den immer weni­ger, dazu kommt der gan­ze selbst erstell­te digi­ta­le Con­tent. Höchs­te Zeit das alles in einer eige­nen Media­thek zu zen­tral bün­deln und zu präsentieren. 

  1. Als Ser­ver neh­me ich einen Raspber­ry-Pi den ich hier eh rum­lie­gen hab, dar­an kommt ne USB-Festplatte.
  2. Dar­auf läuft ein Medi­en-Ser­ver, der die Inhal­te auf alle mög­li­chen Cli­ents (Brow­ser, iOS, Android,…) strea­men kann.

Voi­la! Soweit die Idee. 

Auswahl des PI, und so

Ich hab eini­ge Raspber­rys zum bas­teln hier rum­lie­gen (Ihr wisst schon: Kin­der, und so). Beim Raspber­ry Pi 3B ruckelt das Bild beim abspie­len von digi­ta­li­sier­tem DVD Mate­ri­al über Kodi doch arg, umco­dier­tes und redu­zier­tes Mate­ri­al spielt er aber ohne Pro­ble­me ab. Der Raspber­ry Pi 4B kommt mit allem bes­ser klar, und hat mit USB 3.0 ne flot­te­re Schnitt­stel­le für die exter­ne Fest­plat­te am Start. Ich den­ke es ist rat­sam immer das der­zeit aktu­ell neu­es­te Modell zu neh­men. Es ist auch cle­ver bei offi­zi­el­len Quel­len zu kau­fen, damit man auch soli­de Tei­le bekommt, die den Spe­zi­fi­ka­tio­nen ent­spre­chen. Schon mei­ne Oma sag­te immer: “Wer bil­lig kauft, kauft zwei mal.”… 

Ein und zwei Tera­byte Fest­plat­ten hab ich hier noch rum­lie­gen, aber das reicht ver­mut­lich auf Dau­er nicht für das Archiv, da es auch Quell­codes und ande­re Medi­en auf­neh­men soll. Es darf also eine grö­ße­re her. 

Was brau­che ich alles, um das Pro­jekt erfolg­reich abschlie­ßen zu kön­nen, und was kos­tet mich das? 

  1. Einen Raspber­ry Pi 4B (4GB)58,90 €
    • Gehäu­se + sepa­ra­ter Kühl­kör­per, oder
    • Ein Gehäu­se mit inte­grier­ter, pas­si­ver Küh­lung, das Blue­tooth und WLan (hof­fent­lich) nicht stört: Armor Gehäu­se für Raspber­ry Pi 49,90 €
    • Maus, Tas­ta­tur (davon ist immer was vorhanden)
    • Eine MicroSD Kar­te mit min­des­tens 16GB, FAT32 oder extFAT formatiert!
  2. Eine USB 3 Fest­plat­te mit 3Terrabyte (ama­zon — hier kann ich nur hof­fen das die was taugt) — 82,02 €
  3. Ein HDMI-Kabel, Typ Micro-HDMI auf HDMI (ama­zon) -11,00 €
  4. Ein DVD-Lauf­werk. In mei­nem Mac ist keins mehr ver­baut. Ich habs auch nie ver­misst, bis zu die­sem Pro­jekt …also muss ein exter­ner USB Super­Dri­ve her. — 90,00 €
  5. Eine Soft­ware zum digi­ta­li­sie­ren der DVD-Samm­lung / CD-Sammlung.
  6. Ein Kon­zept zur Dateiablage.
  7. Eine Back­up-Stra­te­gie!
  8. Zeit…

In Sum­me kom­me ich auf eine Inves­ti­ti­on von ca. 170 Euro für das Pro­jekt. Das ist nicht wirk­lich bil­lig, aber dafür selbst gemacht. Fer­ti­ge Medi­a­cen­ter gibt es für mehr, oder weni­ger Geld. Dazu kom­men noch ein paar Neben­kos­ten wie zB. die 90 Euro für das DVD Lauf­werk, und Lizenz­kos­ten für Soft­ware, etc… 

Plex oder Kodi, oder?

Nach eini­ger Recher­che stellt sich die gro­ße Fra­ge ist ja: Plex-Medi­a­ser­ver oder Kodi-Medi­a­Ser­ver? Hier mal ein paar Vor und Nachteile: 

Kodi ist…

  • in ers­ter Linie ein Player.
  • extrem anpass­bar.
  • über­all instal­lier­bar (OS‑X, Raspber­ry, Linux, Win­dows, Android), nur nicht wirk­lich auf iOS — Apple hat Kodi bis jetzt nicht im Store zuge­las­sen. Es gibt die App aber auf der Kodi Web­sei­te.
  • Not­lö­sung: Ande­re Play­er kön­nen über UPnP (Uni­ver­sal Plug And Play) auf die Medi­en­bi­blio­thek zugrei­fen. Das ist zwar nicht schick, aber es funktioniert. 
  • kos­ten­los und Open Source.

Plex ist…

  • in ers­ter Linie eine Ser­ver­soft­ware. Anle­gen eines Plex-Kon­tos erforderlich.
  • Es gibt ein offi­zi­el­les Plex-Addon für Kodi, damit inte­griert der Plex-Ser­ve Kodi-Inhalte.
  • nicht so doll anpass­bar — was aber kein Nach­teil ist: Läuft und schaut gut aus, OutOfTheBox. 
  • kann auf belie­bi­ge Gerä­te strea­men — mit dem kos­ten­pflich­ti­gen Abo.
  • trans­ko­diert die Medi­en­da­tei­en so, dass sie opti­mal auf dem jewei­li­gen Wie­der­ga­be­ge­rät laufen.
  • ein kom­mer­zi­el­les Pro­dukt und nur teil­wei­se kos­ten­los nutz­bar. Es gibt ein Abon­ne­ment-Sys­tem, genannt Plex Pass, oder man zahlt ein­ma­lig 120 Euro für eine Life­time Lizenz.

Jel­ly­fin ist…

  • ein Emby Fork ohne Pre­mi­um-Fea­tures, Lizen­zen oder Abos.
  • eine Open Source Alter­na­ti­ve für Plex.
  • und kann mit Kodi kom­bi­niert werden.

Ich hab alle aus­pro­biert und mich für Jel­ly­fin als Basis ent­schie­den. Ich mag nun mal Open­So­ur­ce, und mag Abos nicht. Jel­ly­fin ist die bes­te Alter­na­ti­ve für den Plex-Ser­ver, die ich gefun­den hab

Nach­teil: Jel­ly­fin kann (noch) nicht auf Sam­sung TVs strea­men. Dafür soll sich auch eine ent­spre­chen­de App in der Ent­wick­lung befin­den. Die scheint aber noch nicht weit fort­ge­schrit­ten zu sein. Eine Lösung ist, Kodi auf einem wei­te­ren Raspe­ry-Pi ein­zu­set­zen — der dann über ein HDMI-Kabel direkt mit dem TV ver­bun­den ist. Kodi kann über ein Plugin an Jel­ly­fin ange­bun­den werden. 

Festplatten und Zugriffsrechte

Um die ange­schlos­se­nen Fest­plat­ten und die Zugriffs­rech­te zu mana­gen wäre ein File­ser­ver mit einer ver­nünf­ti­gen Benut­zer­ober­flä­che nicht schlecht. Da gibt es mit Open­Me­diaVault eine brauch­ba­re Lösung. OMV unter­stützt auch Docker, so das sich Jel­ly­fin dar­über pro­blem­los inte­grie­ren lässt. 

Versenden von Informationen per Mail

Ich wün­sche mir einen ein­fa­chen Mail­ser­ver, um auto­ma­tisch “inter­ne” Info Mails über neue Inhal­te des Medi­a­ser­ver zu ver­sen­den. So einem Mail­ser­ver ein zu rich­ten und zu unter­hal­ten ist nicht tri­vi­al. Ich betrei­be die Media­thek jetzt erst mal ohne, um Erfah­run­gen zu sam­meln. Um den Mail­ser­ver küm­me­re ich mich dann spä­ter irgend­wann.

Die Gesamtlösung

Die Gesamt­lö­sung für den Medi­en­ser­ver besteht aus vier oder fünf Soft­ware-Kom­po­nen­ten, die auf dem Raspber­ry-Pi instal­liert wer­den sollen: 

  1. Open­Me­diaF­ault — Net­work Atta­ched Sto­rage (NAS) Solution
  2. Docker — Container
  3. Por­tai­ner — Con­tai­ner-Ver­wal­tung (optio­nal)
  4. Jel­ly­fin — Die Mediathek
  5. Docker-Mail­ser­ver

Den Raspberry Pi vorbereiten

Zuerst muss Raspber­ry-Pi OS Lite auf dem RPi instal­liert wer­den. Das Betriebs­sys­tem kommt ohne Benut­zer­ober­flä­che, das spart Res­sour­cen, aber die Kon­fi­gu­ra­ti­on muss über ein Ter­mi­nal erfol­gen. Das geht bequem aus der Ferne. 

Ich brauche: 

  1. Einen Raspber­ry-Pi4 oder Pi400
  2. mit pas­sen­dem Netz­teil (3A)
  3. Eine SD Kar­te (8 oder 16GB, min­des­tens Class 4 oder Class 6)
  4. Nur für den ers­ten Start:
    • Tas­ta­tur und Monitor
    • Ein micoHDMI zu HDMI Kabel
  5. Das Raspber­ry Pi OS Lite

Das OS muss auf die Karte

Das geht am bes­ten mit dem Raspber­ry-Pi Imager.

Wer SSH von Anfang an akti­vie­ren will, kann ein Text­file mit dem Namen ssh im Root­ver­zeich­nis der SD kar­te anle­gen. Und nach der ers­ten Ver­bin­dung per ssh den user pi zur Grup­pe ssh hin­zu­fü­gen: sudo adduser pi ssh

Der erste Start

  • Den Pi verbinden
    1. SD-Kar­te einstecken
    2. Moni­tor anschließen
    3. Tas­ta­tur anschlie­ßen (ent­fällt beim Pi400)
    4. Am bes­ten den Raspber­ry-Pi für den ers­ten Start über ein Netz­werk­ka­bel mit dem Inter­net verbinden. 
    5. Den Rech­ner mit dem Netz­teil ver­bin­den, dann boo­tet er.
  • Nach dem Boot­vor­gang am Sys­tem anmelden. 
    • Beach­te das die ange­schlos­se­ne Tas­ta­tur ein ame­ri­ka­ni­sches Lay­out haben könn­te. Dann wären die Tas­ten y und z vertauscht.
    • log­in: pi
    • Pass­wort: raspberry
  • Aus Grün­den der Sicher­heit soll­te als ers­tes das Pass­wort geän­dert werden:
passwd
Code-Sprache: Bash (bash)
  • Die ID Adres­se ermitteln
    • Im Ter­mi­nal: hostname -I
    • Der lin­ke Teil ist die IP Adres­se: 192.168.xxx.xx
  • Im Netz­werk einen Namen ver­ge­ben (optio­nal)
    • http://fritz.box im Web­brow­ser aufrufen.
    • Dort wech­selt man zu Heim­netz -> Netz­werk > Netzwerkverbindungen
    • Die Zei­le mit der IP Adres­se suchen. 
    • Das Stift­sym­bol in der Zei­le ganz rechts anwählen.
    • Einen Namen für den Ser­ver ver­ge­ben, zB. raspber­ry-pi400
    • Haken bei der Opti­on “die­sem Netz­werk­ge­rät immer die glei­che IPv4-Adres­se zuweisen”.
    • Unten rechts auf der Sei­te: ok — speichern
    • Der Rech­ner ist im pri­va­ten Netz­werk unter dem Namen raspber­ry-pi400 erreichbar.

Grundeinstellungen

Die Grund­ein­stel­lun­gen machen wir im Raspber­ry Kon­fi­gu­ra­ti­ons-Pro­gramm, das wir wie folgt aufrufen: 

sudo raspi-config

Im Pro­gramm navi­gie­ren wir dann wie folgt, um die drei Punk­te ab zu arbeiten: 

  1. Auto­ma­ti­sche Anmel­dung einschalten
    • 1 Sys­tem Options
    • S5 Boot / Auto Login
  2. SSH akti­vie­ren
    • 3 Inter­face Options
    • P2 SSH
  3. WLan akti­vie­ren
    • 1- Sys­tem Options
    • S1 — Wire­less Lan — Enter SSID and passphrase
      • Land: DE auswählen
      • Name des WLAN-Funk­net­zes (SSID)
        • (Nach­schla­gen in: fritz.box > WLAN > Funk­netz > Name des WLAN-Funk­net­zes (SSID) — ganz unten auf der Seite)
      • return
      • Pass­phra­se (fritz.box > WLAN > Sicher­heit > WLAn Netzwerkschlüssel)
      • return

Entferne Verbindung herstellen

  • Die Ter­mi­nal-App öffnen.
  • Im Menü -> Shell -> Neue ent­fern­te Ver­bin­dung (oder Com­mand + Shift + k)
    • Dienst: Siche­re Shell (ssh)
      • Ser­ver: raspberry-pi400
      • Benut­zer: pi 
      • SSH (auto­ma­tisch)
      • ver­bin­den
      • Ein Ter­mi­nal-Fens­ter öff­net sich.
      • Pass­wort eingeben

Es geht auch im Ter­mi­nal ein­fach so: 

ssh -p 22 pi@raspberrypi-400 The authenticity of host 'raspberrypi-400 (2003:c4:870e:2100:e65f:1ff:fe12:54bf)' can't be established. ECDSA key fingerprint is SHA256:mihL+ShbZOJv2+KAptveMARTOQA13wz3HnGyyxSMnVM. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes password: ...
Code-Sprache: PHP (php)

Wenn das klappt, kön­nen wir Tas­ta­tur und Moni­tor abklem­men und wie­der ins Lager packen. Ab jetzt grei­fen wir nur noch remo­te auf den Raspber­ry Pi, oder über Web­schnitt­stel­len auf die Anwen­dun­gen zu. 

Auf den neuesten Stand bringen 

sudo apt update sudo apt full-upgrade sudo apt autoremove
Code-Sprache: Bash (bash)

https Unterstützung für apt

Auf Repo­si­to­ries über das Pro­to­koll HTTP Secu­re zugreifen. 

sudo apt install apt-transport-https

Setup OpenMediaVault

Wir brauchen: 

  • Eine exter­ne USB3 Fest­plat­te an einen der blau­en USB3 Ports anschließen. 
  • Einen Web­brow­ser
  • Ter­mi­nal

Vor­be­rei­ten und Installation: 

# aktualisieren sudo apt update && sudo apt upgrade -y # netzwerk sudo rm -f /etc/systemd/network/99-default.link sudo reboot # OMV installieren wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash # erfolgt automatisch sudo reboot
Code-Sprache: PHP (php)
  • http://raspbeyry-pi400/
  • Zugangs­da­ten „admin“ mit dem Pass­wort „open­me­diavault“.
  • All­ge­mei­ne Ein­stel­lun­gen -> Web Admi­nis­tra­tor Pass­wort ändern.

Festplatte an OpenMediaVault

Die ange­schlos­se­ne Fest­plat­te muss jetzt in das Sys­tem ein­ge­bun­den, und frei gege­ben werden. 

Die Fest­plat­te soll­te Ext4 for­ma­tiert sein. Sie bleibt per­ma­nent am Raspber­ry-Pi, und wird per sFTP befüllt. 
  • Der NAS-Ser­ver muss wis­sen, wel­che USB-Sticks und USB-Fest­plat­ten ange­schlos­sen sind.
    • Datei­spei­cher -> Lauf­wer­ke -> suchen
  • Die auf den Daten­trä­gern ent­hal­te­nen Par­ti­tio­nen einbinden
    • Daten­spei­cher -> Datei­sys­te­me -> Fest­plat­te aus­wäh­len -> Ein­bin­den -> Anwen­den -> Ja
  • Das “Benut­zer­ver­zeich­nis” unter „Frei­ge­ge­be­ne Ord­ner” hinzufügen

FTP

Zertifikate

Open­Me­diaVault -> Zer­ti­fi­ka­te -> SSL -> Hinzufügen 

Zugriffskontrolle

  • Zugriffs­kon­trol­le > Frei­ge­ge­be­ne Ord­ner -> Zei­le mar­kie­ren -> Privilegien
  • Zugriffs­kon­trol­le > Frei­ge­ge­be­ne Ord­ner -> Zei­le mar­kie­ren -> ACL

FTP Einstellungen

  • Diens­te -> FTP ->  Frei­ga­ben -> hinzufügen
  • Diens­te -> FTP -> All­ge­mei­ne Ein­stel­lun­gen -> Maxi­ma­le Ver­bin­dun­gen pro Host = 1 -> 0 (unbe­grenzt)
  • Diens­te -> FTP -> SSL/TLS Zer­ti­fi­kat einstellen 

SFTP Plugin 

FTP ist out. Ich möch­te natür­lich SFTP zum befal­len der Media­thek benut­zen. Dazu muss ein Plugin instal­liert und kon­fi­gu­riert werden. 

  • Sys­tem -> Erwei­te­run­gen -> suche -> sftp -> Open­Me­diaVault sft­p­ser­ver Unsinn jails 5.0.7
  • Instal­lie­ren
  • Diens­te -> SFTP -> Einstellungen
  • Akti­vie­ren
  • Port 222
  • Allow access to sftp-access group only
  • Diens­te -> SFTP -> Access List
  • benutz­na­me: pi
  • Gemein­sa­mer Ord­ner: MEDIA_LIB
  • Zugriffs­kon­trol­le > Benutzer
    • Benut­zer pi aus­wäh­len -> bear­bei­ten -> Gruppen
    • Grup­pe sftp-access anklicken
    • Spei­chern und Feh­ler­mel­dun­gen ignorieren.
    • Die Grup­pe soll­te in der 4. Spal­te auftauchen.

Für einen maxi­mal schnel­len Upload im Heim­netz­werk ver­wen­de ich Cross-FTP Enter­pri­se. Die­ser FTP Cli­ent kann belie­big vie­le Uploads par­al­lel erle­di­gen. Ich las­se bis zu 50 Threads neben­ein­an­der lau­fen, und kom­me so auf erträg­li­che 50MB/s fürs hochladen. 

Docker installieren

sudo apt update sudo apt full-upgrade curl -sSL https://get.docker.com | sh # curl -fsSL https://get.docker.com -o get-docker.sh # sudo sh get-docker.sh sudo usermod -aG docker pi sudo reboot # Gruppe da? groups docker run hello-world
Code-Sprache: PHP (php)

Portainer installieren

sudo docker pull portainer/portainer-ce:linux-arm sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:linux-arm
Code-Sprache: JavaScript (javascript)

Jellyfin über Docker installieren

--- version: "2.1" services: jellyfin: image: ghcr.io/linuxserver/jellyfin container_name: jellyfin environment: - PUID=<strong>998</strong> - PGID=<strong>100</strong> - TZ=Europe/Berlin - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional volumes: - <strong>/srv/dev-disk-by-uuid/</strong>MEDIA_LIB/config/jellyfin:/config - <strong>/srv/dev-disk-by-uuid/</strong>MEDIA_LIB/:/medialib/ ports: - 8096:8096 restart: unless-stopped
Code-Sprache: HTML, XML (xml)
  • Code anpas­sen:
    • PUID und PGID ermitteln
    • Im Ter­mi­nal: 
id admin uid=998(admin) gid=100(users) groups=100(users),993(openmediavault-admin)
  • Abso­lu­ten Pfad ermitteln
    • Open­me­diavault —> Zugriffs­kon­trol­le —> Frei­ge­ge­be­ne Ordner -> 
    • Klick rechts auf das Pfeil-Run­ter Sym­bol einer Spal­te -> Colum­ns -> Abso­lu­ter Pfad anzeigen
    • Den abso­lu­te Pfad aus der Tabel­len­spal­te her­aus kopieren.
    • Maus­klick Rechts auf das Element
    • Ele­ment Infor­ma­ti­on — bei Safari
    • Den Pfad suchen und kopieren
      • /srv/dev-disk-by-uuid-3be5a412-3266–4e6b-a816-3bcd77d4da1b/MEDIA_LIB/

Ganz unten links auf der Sei­te ankli­cken: deploy the Stack 

Jel­ly­fin wird jetzt installiert. 

Der Jellyfin Webclient 

Jel­ly­fin ist jetzt über die Adres­se im Brow­ser aufrufbar: 

und kann dort wei­ter kon­fi­gu­riert werden: 

  • Ein­bin­den der Medi­en­ver­zeich­nis­se / Medien.
  • Plugins instal­lie­ren
    • Books­helf
    • Kodi Sync Queue
  • Benut­zer­pro­fi­le anlegen 

Jetzt muss die Media­thek nur noch gefüllt wer­den. Wie ich das mache, beschrei­be ich im Folgenden. 

Der Mailserver

<wird fortgesetzt> 

Medien digitalisieren unter OS‑X

Der nächs­te Schritt ist alle vor­lie­gen­den Film-Medi­en zu digi­ta­li­sie­ren. Im Grun­de geht es erst mal dar­um die fol­gen­de Struk­tur von der DVD auf die Fest­plat­te zu bekom­men. Damit sind die Daten erst mal gesi­chert. Wer mag oder muss, codiert in einem Rutsch um. 

Die DVD-Struktur

  • Ord­ner mit dem Namen des Films
    • Ord­ner VIDEO_TS — Video Tit­le Sets, dar­in die DVD-Dateien:
      • .VOB — Die Video-Objekte
        • VIDEO_TS.VOB — Video-Objek­te für das Tit­le-Menü & Video‑, Audio und Untertiteldateien.
        • VTS_01_0.VOB — Video-Objek­te des VTS-Menüs, wenn es im Titel Set über ein Menü verfügt.
        • VTS_01_1.VOB — Video-Objek­te, hier: 1. Sze­ne des Films. Ers­te Zahl: Titel-Set, letz­te Zahl: Dateinummer.
      • .IFO — Die Kon­fi­gu­ra­ti­ons­da­tei­en ent­hal­ten Daten wie Menüs, Unter­ti­tel, Spra­chen, Seitenverhältnis,…
      • .BUP — Siche­rungs­ko­pien der Kon­fi­gu­ra­ti­ons­da­tei­en der DVD.
    • Ord­ner AUDIO_TS — Audio Tit­le Sets

OS‑X Tools zum rippen / umcodieren

Vie­le der Apps ver­wen­den im Hin­ter­grund das freie Koman­do­zei­len­tool ffmpg und stül­pen eine kom­for­ta­ble Benut­zer­ober­flä­che drü­ber. Letzt­end­lich ist die­ses rip­pen im Grun­de ein schnö­des, viel­fa­ches Copy and Pas­te — so lan­ge kein Kopier­schutz im Spiel ist — dann wür­de das ja auch ille­gal wer­den. Bei umfang­rei­chen Biblio­the­ken soll­te man sich das Leben so ein­fach wie mög­lich machen. 

dvdmedia Rohmaterial umkodieren 

Nach dem rip­pen hab ich ein Archiv mit Roh­ma­te­ri­al im dvdmedia For­mat erzeugt. Datei­en mit der Endung dvdmedia sind nur ein Archiv, das leicht ent­packt wer­den kann. Am ein­fachs­ten geht das im Fin­der mit “Paket­in­halt anzei­gen”. Das dvdmedia For­mat ist zwar prak­tisch, wird aber von Jel­ly­fin — im Gegen­satz zum VLC-Media­play­er — nicht erkannt. Des­halb ist es sinn­voll die Archi­ve noch­mals um zu kodie­ren und dabei ab zu spe­cken. Das brauch ein­fach nur Zeit und Geduld. 

Am bes­ten ist es man kodiert das Roh­ma­te­ri­al in mp4 Con­tai­ner um, und speckt die Inhal­te — Ton­spu­ren, Unter­ti­tel, Extras, auf das Nötigs­te ab. Bei den Unter­ti­teln über­neh­me ich alles wo de dran steht — ob nor­mal oder erzwun­gen, oder sonst was. Bei den Ton­spu­ren ver­fah­re ich genauso. 

OS‑X Tips

  • Das der Video­play­er jedes mal auto­ma­tisch dazwi­schen grätscht wenn eine DVD ein­ge­legt wird, kann unter OS‑X abge­schal­tet wer­den: Sys­tem­ein­stel­lun­gen -> CDs & DVDs -> Beim Ein­le­gen einer VIDEO-DVD — kei­ne Aktion.

Verzeichnisstruktur der Medien-Bibliothek

Das ist ein wun­der Punkt in jeder Biblio­thek: Ord­nung hilft, Cha­os eher nicht. Eine grund­le­gen­de Struk­tur könn­te so aussen: 

  • /bilder/
  • /bilder-eige­ne/familie/
  • /bilder-eige­ne/fotografie/
  • /buecher/
  • /buecher/ebooks/
  • /buecher/audiobooks/
  • /buecher-eige­ne/
  • /filme/
  • /fil­me/­fil­me-doku­men­ta­tio­nen/
  • /fil­me/­fil­me-dvds/
  • /musik/
  • /musik-eige­ne/
  • /mu­sik-video­s/
  • /pod­cast-audi­o/
  • /pod­cast-video/
  • /quellcodes-eige­ne/
  • /serien/
  • /videos/
  • /videos-eige­ne/
  • /webseiten-eige­ne/

Um die Hier­ar­chie flach zu hal­ten, kann man the­ma­tisch zusam­men­ge­hö­ri­ge Ord­ner neben­ein­an­der ins Root-Ver­zeich­nis stel­len. Wenn man nicht nicht nur Kon­su­ment, son­dern auch Pro­du­zent ist, kann man Ver­zeich­nis­se mit der Endung -eige­ne anle­gen, die dann eige­ne Publi­ka­tio­nen enthalten. 

Dazu gel­ten dann ein paar hei­li­ge Geset­ze, damit kein Cha­os ent­ste­hen kann: 

Verzeichnis-Struktur

  1. Die oben defi­nier­te Struk­tur soll­te sich nicht ändern, damit sie von Media­ma­na­gern immer wie­der erkannt, und durch­fors­tet wer­den kann. 
  2. Auch Back­up­fest­plat­ten soll­ten die­se Struk­tur bei behal­ten, damit sie ver­gleich­bar bleiben..

Eigene Video und Audiodateien

  1. Jede Datei bekommt ihr eige­nes Ver­zeich­nis mit dem sel­ben Namen wie die Datei. Da wird dann ggfs. Zusatz­ma­te­ri­al abgelegt.

Filme

Vari­an­ten erkennt Jel­ly­fin durch ein […] hin­ten dran. 

filme ├── Film A (2008) │ ├── extras │ ├── Film A (2008).mp4 │ ├── Film A (2008) - [Directors Cut].mp4 │ └── ... │ └── Film B (2020) └── Film B (2020).mp4 └── ...
Code-Sprache: CSS (css)

Mehr­tei­li­ge Fil­me, zB. Fil­me mit Über­län­ge die auf meh­re­re Daten­trä­ger ver­teil waren, erkennt Jel­ly­fin an der Endung part, pt, cd, disc, disk, dvd. 

filme ├── Film A (1988) │ ├── Film A (1988) - part 1.mp4 │ ├── Film A (1988) - part 2.mp4 │ ├── ... │ └── Film A (1988) - part 8.mp4
Code-Sprache: CSS (css)

Jel­ly­fin erkennt die Tei­le, fügt sie zusam­men, und spielt sie nach­ein­an­der ab. 

Bücher

Das gän­gigs­te Orga­ni­sa­ti­ons­sche­ma für Bücher ist die Tren­nung nach eBook und Hör­buch, und dann nach Autor. Für Jel­ly­fin soll­te das so aussehen: 

buecher ├── audiobooks │ └── author1 │ ├── book1.mp3 │ └── book2.mp3 │ └── ebooks └── author2 ├── Book1.epub └── Book2.mp3
Code-Sprache: CSS (css)

TV-Serien

Damit Jel­ly­fin Seri­en rich­tig dar­stellt soll­te die Fol­gen­de Form ein­ge­hal­ten werden: 

serie a (2003) ├── Staffel 1 │ ├── S01E01.mp4 │ └── S02E02.mp4 │ └── Staffel 2 ├── S02E01.mp4 └── S02E01.mp4
Code-Sprache: CSS (css)

Musik

Die Musik­samm­lung lässt sich her­vor­ra­gend mit der kost­lo­sen App Picard von Musi­c­Brainz für Jel­ly­fin in Form brin­gen. Dou­blet­ten fin­den sich mit Swin­si­an.

musik ├── Interpret 1 │ ├── Album A │ │ └── Titel 1.mp3 │ └── Album B │ └── Titel 123.mp3 │ ├── Interpret 2 │ └── Album A │ └── Titel 456.mp3 │ └── Titel 456.mp3
Code-Sprache: CSS (css)

OS‑X Tools

Jellyfin Plugins / Repositories

Tags:
War der Artikel hilfreich?
Nich so 0 4 von 4 fanden den Artikel hilfreich.
Ansichten: 183
Vorheriger Artikel: Raspberry Pi — Remote Zugriff
Nächster Artikel: Kodi als Player installieren — LibreELEC