Tube Archivist indiziert Videos oder ganze Kanäle von Youtube, um sie dann mit dem Tool Yt-dlp herunterzuladen.
Youtube-Videos haben sich in den letzten Jahren für viele Anwender zum wichtigen Teil ihres Freizeit- und Bildungsangebots gemausert. Viele der Videos landen mittlerweile zwar auch auf freien Video-Plattformen wie Peertube [1] LBRY [2], Invidious [3] oder für Android auf Newpipe [4], aber bei Weitem nicht alle. Daher bleiben die meisten Nutzer, egal, was sie von Google halten, weiterhin auf deren Video-Plattform angewiesen.
Zum Archivieren der Videos und um Löschungen der Inhaltsersteller oder von Google zuvorzukommen, laden viele Youtube-Fans die Videos auf von ihnen kontrollierte Hardware herunter. Entgegen der oft vertretenen Meinung, das sei illegal, ist dem hierzulande keineswegs so: Es ist legal, eine private Kopie von Youtube-Videos herunterzuladen.
Sammlungen haben die Angewohnheit, mit der Zeit unkontrolliert zu wachsen, bis zu dem Punkt, wo der Wildwuchs die Kontrolle übernimmt. Deshalb ergibt es Sinn, von Anfang an dem drohenden Chaos mit Ordnung zu begegnen. Hier kommt Tube Archivist ins Spiel [5], ein selbst gehosteter Media-Server für Youtube-Videos. Wir nennen ihn im Folgenden kurz TA.
Funktionsvielfalt
TA ermöglicht es Ihnen, Youtube-Kanäle zu abonnieren, Videos herunterzuladen und das Archiv zu indizieren, damit sich die Sammlung von jedem Gerät im lokalen Netz durchsuchen und offline streamen lässt. Das Herunterladen geht sowohl manuell als auch automatisch vonstatten. Im Hintergrund kommt dafür Yt-dlp [6] zum Einsatz. Das Durchsuchen der Sammlung übernimmt das Tool Elasticsearch [7]. Für Firefox und Chrome gibt es mit dem TA-Companion [8] eine Erweiterung, die beim Öffnen eines Youtube-Videos einen Download-Button anzeigt. Bei einem Youtube-Kanal erscheint in TA zusätzlich eine Schaltfläche zum Abonnieren.
Mit TA erlangen Sie die volle Kontrolle darüber, welche Inhalte Sie speichern möchten. Sie können die abonnierten Kanäle jederzeit erneut scannen und entscheiden, ob Sie die neuen Inhalte archivieren wollen. Dadurch lässt sich auch gut kontrollieren, welche Youtube-Inhalte Ihre Kinder ansehen dürfen. Die gespeicherten Videos lassen sich mit dem in TA integrierten Player abspielen sowie – mit etwas Aufwand – auf Plex, Emby oder anderen Media-Plattformen ausgeben.
Bevor wir näher auf die Bedienung und weitere Funktionen eingehen, widmen wir uns kurz der Installation. Als Hardwarevoraussetzungen nennen die Entwickler eine 4-Kern-CPU und 2 GByte RAM für kleinere respektive 4 GByte für mittlere und große Sammlungen. Mehr RAM schadet allerdings bekanntlich nie. Die Größe der benötigten Festplatte richtet sich in erster Linie nach der Größe des geplanten Archivs. TA installieren Sie als Docker-Container, Docker Compose automatisiert den Vorgang weitgehend. Der Kasten “Docker und Docker Compose installieren” erläutert, wie Sie die beiden Komponenten in aktuellen Versionen einrichten.
Im Test haben wir TA unter Proxmox installiert. Es lässt sich aber genauso gut jede Hardware verwenden, die den Anforderungen entspricht. Als Hardware-Basis für TA eignen sich Hardkernel-SBCs wie der Odroid H3 oder H3+ [9] hervorragend und können auch noch weitere Dienste beherbergen. Anleitungen für die Installation von TA mit Podman (via Docker Compose), Unraid, TrueNAS Scale oder auf einem Synology-NAS finden Sie auf Github [10]. Falls das zu nutzende Gerät auf ARM64 basiert: TA befindet sich in einem Multi-Arch-Container, dasselbe gilt für Redis. Für Elasticsearch verwenden Sie das offizielle Image mit Arm64-Unterstützung. Andere Architekturen unterstützt die Software nicht.
Docker und Docker Compose installieren
Docker und Docker Compose sollten Sie immer direkt und nicht über die Archive der Distribution installieren. Dazu folgen Sie beispielsweise der Anleitung auf goNeuland.de [19]. Falls Sie Docker Compose bereits kennen: Früher lautete der Aufruf in der Konsole docker-compose, in neueren Versionen heißt er dagegen docker compose. Die Variante mit Bindestrich ergibt eine Fehlermeldung.
Vorarbeiten
Nach der Installation von Docker und Docker Compose kopieren Sie den Inhalt des YAML-Files für Docker Compose (Abbildung 1) in eine Datei in Ihrem Home-Verzeichnis und geben ihr den Namen docker-compose.yml [11].

Abbildung 1: Von der Github-Seite kopieren Sie den Inhalt von docker-compose.yml und speichern ihn in einer gleichnamigen Datei in Ihrem Home-Verzeichnis.
Anschließend editieren Sie die Datei und tragen für TA_Host die IP-Adresse oder den Domain-Namen Ihres TA-Systems ein. Unter TA_USERNAME und TA_PASSWORD hinterlegen Sie die zugehörigen Zugangsdaten. Zudem ersetzen Sie das vorgegebene Passwort bei Elastic_Password und stellen die Zeitzone richtig ein.
Kontrollieren Sie mit dem Befehl docker ps, ob die Ports 8000 für TA und 9200 für Elasticsearch zur Verfügung stehen. Falls nicht, ändern Sie in der YAML-Datei den vorderen Teil der Port-Angabe 8000:8000 auf einen anderen Port. Der Wechsel des Ports für Elasticsearch ist etwas aufwendiger, ihn beschreibt die Dokumentation im Wiki.
HOST_UID und GID_UID entsprechen bei Ubuntu der in der YAML-Datei angegebenen ID 1000. Bei anderen Distributionen überprüfen Sie das mit dem Befehl id und passen die Angaben in der YAML-Datei gegebenenfalls an. Bei den Angaben unter volumes: legen Sie fest, wo die TA die Videos speichert und wo sich der Cache befindet.
Nachdem dem Speichern der Datei setzen Sie die Container mit dem Befehl docker compose up -d auf. Danach starten Sie TA, indem Sie in einem Browser http://<I>TA-IP<I>:8000 oder http://<I>TA-FQDN<I>:8000 eingeben und sich mit den vorher erstellten Daten anmelden. Möchten Sie TA auch von außerhalb des Heimnetzwerks erreichen, gilt es, zusätzlich einen Reverse Proxy einzurichten.
Erste Schritte
Nach dem Start sehen Sie die Bedienoberfläche von TA im Dark Mode, der sich in den Einstellungen gegen einen hellen Desktop austauschen lässt. Die Oberfläche gestaltet sich übersichtlich und optisch ansprechend (Abbildung 2). Im oberen Teil sehen Sie die vier Rubriken Home, Channels, Playlistsund Downloads sowie drei Icons für die Suche, die Einstellungen und zum Abmelden aus TA. Die Rubrik Home [12] bietet einen Überblick über bereits heruntergeladene Videos, die sich dort vom integrierten Player abspielen lassen. Nicht zu Ende angesehene Videos bietet TA zum weiteren Abspielen gesondert an. Komplett angesehene Videos blendet die Software auf Wunsch aus der Ansicht aus.

Abbildung 2: TA bietet ein übersichtliches Design. Im Bild sind bereits einige Kanäle abonniert und Videos teilweise abgespielt.
Die Rubrik Channels [13] listet die von Ihnen abonnierten Youtube-Kanäle auf (Abbildung 3). Um einen Kanal zu abonnieren, geben Sie entweder die 25-stellige Youtube-Channel-ID oder die URL des Kanals in ein Feld ein, das Sie über einen Klick auf das Pluszeichen öffnen. Alternativ geben Sie die URL eines Videos aus dem Kanal an und lassen AT die Kanal-URL finden. Das Abonnieren eines Kanals lädt noch keine Videos herunter.

Abbildung 3: Die Rubrik Channels enthält die abonnierten Kanäle in einer Listen- oder Rasteransicht. Über den Schalter Unsubscribe löschen Sie nicht mehr benötigte Abonnements.
Klicken Sie auf einen der abonnierten Kanäle, erscheint die Liste der aus diesem Kanal bereits heruntergeladenen Videos. Über den Schalter Unsubscribe beenden Sie das Abo eines Kanals. Über About erhalten Sie weitere Informationen und Konfigurationsmöglichkeiten für den jeweiligen Kanal (Abbildung 4). Diese Einstellungen überschreiben die Angaben im globalen Einstellungsdialog. Sie können beispielsweise ein von den globalen Einstellungen abweichendes Videoformat angeben und festlegen, ob und wann TA abgespielte Videos automatisch löscht. Zudem entscheiden Sie, ob Sie für diesen Kanal den Sponsor-Block sehen möchten.

Abbildung 4: Nach einem Klick auf das Label eines Kanals sehen Sie unter anderem den Schalter About. Er bietet nähere Informationen und ermöglicht eine individuelle Konfiguration des Kanals.
Herunterladen
Nach dem Indizieren der Videos eines Kanals können Sie einzelne Clips daraus entweder ignorieren oder herunterladen. Der Schalter Start download beginnt mit dem Herunterladen der indexierten Filme aller Kanäle, mit Ausnahme der ignorierten Titel. Wie viele Videos TA in einer Sitzung bezieht, legen Sie in den Einstellungen fest. Im Abschnitt Playlists [14] abonnieren Sie Playlisten, ähnlich wie Kanäle.
In der Ansicht Downloads [15] scannen Sie Ihre Abos erneut, starten das Herunterladen der Filme in der Warteschlange oder fügen Videos, Kanäle oder Playlisten zu dieser hinzu (Abbildung 5). Darunter filtern Sie in einem Ausklappfeld, welche Abos TA in der Liste darunter anzeigt. Nach dem Anstoßen des Downloads der Warteschlange erscheinen unter dem Schalter zwei neue Elemente, mit denen Sie das Herunterladen sofort oder nach dem aktuellen Video stoppen. Alle vier Kategorien erlauben wahlweise eine Listen- oder Rasterdarstellung.

Abbildung 5: In der Rubrik Downloads fügen Sie über einen Klick auf das Pluszeichen der Warteschlange einzelne Videos hinzu. Über Start download stoßen Sie das Herunterladen der Warteschlange an, links daneben aktualisieren Sie die Abonnements.
Suche
Die über den automatisch eingebundenen Elasticsearch-Container bereitgestellte mächtige Suchfunktion erlaubt das Finden von Videos, Kanälen und Playlists und beherrscht sogar eine Volltextsuche in den indizierten Untertiteln.
Standardmäßig ist für alle Suchanfragen die unscharfe Suche aktiviert, die Tippfehler in Suchanfragen erkennt. Sie können dabei die Suche über primäre Schlüsselwörter eingrenzen und die Unschärfe über sekundäre Schlüsselwörter steuern. Weitere Einzelheiten dazu entnehmen Sie der ausführlichen Dokumentation [16]. Für eine Volltextsuche in den Untertiteln nach dem Begriff unterstütze Open Source tippen Sie beispielsweise full:unterstütze open source lang:de.
Die globalen Einstellungen (Abbildung 6) von TA fallen derart umfangreich aus, dass eine Erläuterung den Umfang dieses Artikels sprengen würde. Auch hier sei wieder auf die ausführliche Dokumentation verwiesen [17].

Abbildung 6: Die globalen Einstellungen von TA sind trotz ihres erheblichen Umfangs erfreulich übersichtlich und in der Dokumentation ausführlich beschrieben.
TA-Companion
Mit der bereits erwähnten Browser-Erweiterung TA-Companion für Firefox und Chrome lassen sich Downloads und Abos direkt auf der Youtube-Webseite vornehmen. Nach der Installation der Erweiterung rufen Sie sie auf und tragen Ihre TA-URL samt Port-Nummer und darunter den zugehörigen API-Key ein (Abbildung 7), den Sie in den Einstellungen von TA finden.
TA-Companion ergänzt nun die Youtube-Seiten einzelner Videos um einen Download-Button und die von Kanälen um einen zusätzlichen Subscribe-Schalter (Abbildung 8). Das Icon von TA-Companion in der Browser-Schalterleiste benötigen Sie danach nicht mehr und können es ausblenden.

Abbildung 7: TA-Companion benötigt zum Aktivieren die IP-Adresse oder den Domain-Namen von TA inklusive Port sowie den in den Einstellungen zu findenden API-Key.

Abbildung 8: Nach dem Einrichten von TA-Companion im Browser erscheint auf Youtube bei Kanälen ein neuer Subscribe-Schalter. Bei einzelnen Videos finden Sie stattdessen einen Download-Button.
Fazit und Ausblick
Tube Archiver ist der weitaus beste uns bekannte Youtube-Mediaserver, der Inhalte nicht nur indexiert, sondern sie auch abspielt. Eine Integration in Mediaplayer wie Plex ist möglich, gestaltet sich jedoch alles andere als trivial [18]. Während unserer Tests lief TA ohne Fehler, egal, ob wir die Steuerung direkt in TA vornahmen oder das Browser-Plugin TA-Companion direkt auf der Youtube-Seite nutzten.
Die Anwendung wird stetig weiterentwickelt. Auf dem Plan stehen unter anderem eine erweiterte Benutzerverwaltung, die Integration von Podcasts sowie das Einbinden von PyFilesystem2 für ein flexibleres Speichern der Videos. Des Weiteren sollen Benachrichtigungen und bessere Statistiken hinzukommen. Man darf also gespannt sein, wie sich dieses interessante Projekt weiterentwickelt. (tle)
Infos
-
Peertube: https://de.wikipedia.org/wiki/PeerTube
-
Invidious: https://en.wikipedia.org/wiki/Invidious
-
Tube Archivist: https://www.tubearchivist.com/
-
Yt-dlp: https://github.com/yt-dlp/yt-dlp
-
Elasticsearch: https://www.elastic.co/de/elasticsearch/
-
TA-Companion: https://github.com/tubearchivist/browser-extension
-
Odroid H3+: https://www.pollin.de/p/odroid-h3-einplatinencomputer-811601
-
TA installieren: https://github.com/tubearchivist/tubearchivist/blob/master/docs/Installation.md
-
YAML: https://github.com/tubearchivist/tubearchivist/blob/master/docker-compose.yml
-
TA-Projektseite: https://github.com/tubearchivist/tubearchivist/wiki#getting-started
-
TA-Channels: https://github.com/tubearchivist/tubearchivist/wiki/Channels
-
TA-Playlists: https://github.com/tubearchivist/tubearchivist/wiki/Playlists
-
TA-Downloads: https://github.com/tubearchivist/tubearchivist/wiki/Downloads
-
TA-Suche: https://github.com/tubearchivist/tubearchivist/wiki/Search
-
TA-Einstellungen: https://github.com/tubearchivist/tubearchivist/wiki/Settings
-
TA-Integration in Plex: https://www.reddit.com/r/PleX/comments/pxkx37/comment/heozfcf/?context=3
-
Docker Compose einrichten: https://goneuland.de/docker-docker-compose-v2-auf-ubuntu-22-04-lts-installieren/





