In letzter Zeit habe ich mich ein bisschen in die Welt der *arr Server-Lösungen einarbeitet und habe mir ein Media-Center eingerichtet. Mit diesem Post möchte ich grob zeigen, wie das Geflecht aus den verschiedenen *arr-Diensten zusammenarbeitet, um ein weitgehend automatisiertes Media Center bereitzustellen.
In einer vollumfänglichen Installation bietet das Media Center folgende Funktionen:
- Benutzer können neue Inhalte (Filme und Serien) anfragen
- Automatisiertes Herunterladen und Bereitstellen der angefragten Inhalte
- Streamen der Inhalte auf unterschiedliche Plattformen
- PC und Laptop über die Webseite
- Smartphone und Tablet per App
- FireTV Stick und AppleTV per App
- Verwaltende Aufgaben im Hintergrund
Voraussetzungen
Hardware
Für den Betrieb des Media Centers braucht es ein System und genügend Speicherplatz. Die Hardwareanforderungen halten sich im Rahmen, man kann das System also auch problemlos über einen Raspberry Pi betreiben (solange man nicht zu viele zeitgleiche User hat und Live-Transcoding deaktivert).
Wer sein Media Center auch unterwegs nutzen oder mit anderen teilen möchte, sollte darüber nachdenken einen Server im Internet zu mieten. Dieser bietet eine statische öffentliche IP-Adresse und hohe Bandbreiten fürs downloaden und streamen.
Usenet
Für das Beziehen von Inhalten können verschiedene Wege genutzt werden. Ich habe sehr gute Erfahrungen mit dem Usenet gemacht, man kann aber auch Torrents benutzen.
Das Usenet ist ein “worldwide distributed discussion system” also eine technische Implementation einer Forum-Software aus 1979/80. Diese wird heutzutage aber nicht mehr wirklich für den Betrieb von Foren genutzt sondern für das Hosten von Daten.
Im Grund können jeglichen Arten und Formen von Daten im Usenet gespeichert werden egal ob Bilder, Videos, PDFs oder Linux-ISOs. Wie das Usenet im Detail funktioniert kannst du hier nachlesen.
*arr-Dienste
Die oben bereits angesprochenen Funktionen werden durch verschiedene Dienste bereitgestellt. Diese Dienste sind für den gemeinsamen Betrieb entwickelt und arbeiten über APIs nahtlos zusammen.
Um die grundlegenden Funktionen des Media Centers bereitzustellen, bedarf es die folgenden Dienste:
- Jellyfin zum Streamen der Inhalte
- Jellyseerr zum Anfragen neuer Inhalte
- Sonarr und Radarr zum Verwalten der Inhalte
- SABnzbd zum Herunterladen neuer Inhalte
Eine Übersicht der verschiedenen Dienste und deren Verbindungen
Jellyfin
Jellyfin ist der Streaming-Dienst des Media-Centers. Der Dienst liest deine Mediathek ein und stellt diese auf Abruf für Apps auf deinen Endgeräten bereit. Ist also der hauptsächliche Berührungspunkt für alle Benutzer mit dem Media-Center.
Die Funktionsweise ist ziemlich straight forward… Jellyfin benötigt lediglich eine gut strukturierte Mediathek, welche dann automatisch eingelesen wird. Der Dienst lädt automatisch Metadaten zu den Inhalten herunter, damit die Inhalte mit passenden Titelbildern und Informationen in den Client-Apps dargestellt werden.
Jellyfin kann auch komplett ohne die restlichen *arr-Dienste betrieben werden. In diesem Fall muss die Mediathek nur eben manuell gefüllt werden. Das kann bei umfangreicherer Nutzung irgendwann etwas umständlich werden, funktioniert aber auch wunderbar.
Alternativen
Es gibt sehr gute Alternativen zu Jellyfin. In erster Linie ist hier Emby zu nennen, das einen quasi identischen Funktionsumfang zu Jellyfin bietet. Ich betreibe selbst eine zusätzliche Emby Instanz, da es die Emby-App auf manchen Endgeräten gibt für die es keine Jellyfin-App gibt.
Ebenfalls sehr bekannt ist Plex. Plex funktioniert auch gut aber verfehlt in meinen Augen ein wenig den Zweck des eigenen Media-Centers, da die Client-Apps zusätzlich zu den selbstgehosteten Inhalten auch “Plex-exklusive” Inhalte anzeigen, die nichts mit dem eigenen Media-Center zutun haben.
Jellyseerr
Jellyseerr ermöglicht es den Benutzern des Media-Centers selbstständig neue Inhalte anzufragen. Es bietet eine Übersicht über die Inhalte bestehender Datenbanken wie IMDb oder The Movie Database und bietet die Funktion gezielt Filme, Serien oder bestimmte Staffeln einer Serien anzufragen.
Die Anfragen welche über Jellyseerr erstellt werden, stoßen dann Radarr und Sonarr an. Diese Systeme kümmern sich dann um die automatische Bereitstellung der Inhalte.
Radarr und Sonarr
Damit man im Hintergrund der Überblick behält, welche Inhalte in welchen Qualitäten und Sprachen heruntergeladen wurden, gibt es Radarr und Sonarr. Die beiden Dienste übernehmen die Verwaltung deiner Inhalte, wobei Radarr für Filme und Sonarr für Serien zuständig ist.
Radarr und Sonarr spielen also eine sehr zentrale Rolle im Betrieb des Media-Centers. Sie stoßen die Downloads neuer Inhalte an, importiert diese Dateien in deine Mediathek und stell die Inhalte somit für den Stream-Dienst zur Verfügung.
SABnzbd
Der Download der Inhalte wird durch SABnzbd vorgenommen. Den Auftrag für den Download erhält SABnzbd von Radarr bzw. Sonarr in Form einer NZB-Datei.
Eine NZB-Datei ist eine Art Index-Datei, welche Informationen darüber enthält, wo der angefragte Inhalt im Usenet zu finden ist. Nachdem der Downloader den Inhalt heruntergeladen habt, gibt er eine Rückmeldung an Radarr/Sonarr, welche dann den Import der Datei in deine Mediathek vornimmt.