LumeRecorder
Live-TV mit deinem eigenen Server aufnehmen
LumeRecorder ist ein kleiner, kostenloser Open-Source-DVR-Server, den du zu Hause betreibst. Lume sagt ihm, was er aufnehmen soll, und er nimmt selbstständig auf – auch wenn alle Apple-Geräte schlafen. Die Aufnahmen spielst du in Lume auf all deinen Geräten ab, sogar solche, die noch laufen.
Aufnehmen gehört zu Lume Pro. Der Server selbst ist kostenlos.
Was du brauchst
Ein Gerät, das immer läuft
Ein NAS, Mini-PC, Heimserver, 64-Bit-Raspberry-Pi oder ein Mac, der nicht in den Ruhezustand geht. Das Docker-Image läuft auf Intel/AMD und ARM.
Docker
Docker oder Docker Desktop, oder Apples container-Tool auf einem Mac mit Apple Chip. Die meisten NAS-Systeme haben Docker bereits an Bord.
Speicherplatz
Streams werden so gespeichert, wie sie ankommen, ohne Neukodierung. Ein HD-Sender braucht meist ein paar Gigabyte pro Stunde.
Dasselbe Netzwerk
Server und Apple-Geräte sollten im selben Heimnetz sein, damit Lume den Server findet und Aufnahmen abspielen kann.
Schritt 1
Server starten
Wähle, wie du Container betreibst. Jede Variante legt Aufnahmen und Einstellungen in einem Datenordner daneben ab, sodass sie Updates überstehen.
Speichere das als
docker-compose.ymlin einem neuen Ordner und starte es aus diesem Ordner. Mit Host-Networking findet Lume den Server automatisch.services: lume-recorder: image: ghcr.io/bilipp/lumerecorder:latest container_name: lume-recorder restart: unless-stopped network_mode: host volumes: - ./data:/datadocker compose up -dAuf Synology, QNAP, Unraid oder TrueNAS kannst du dieselbe Datei als neues Projekt im Docker- bzw. Container Manager des Systems einfügen.
Auf einem Mac oder Windows-PC mit Docker Desktop gibst du den Port frei, statt Host-Networking zu nutzen. Speichere das als
docker-compose.ymlund starte es.services: lume-recorder: image: ghcr.io/bilipp/lumerecorder:latest container_name: lume-recorder restart: unless-stopped ports: - "8090:8090" volumes: - ./data:/data environment: BONJOUR: "0"docker compose up -dDocker Desktop kann den Server nicht im Netzwerk bekannt machen, daher gibst du seine Adresse in Lume von Hand ein. Achte darauf, dass Docker Desktop bei der Anmeldung startet.
Auf einem Mac mit Apple Chip kannst du statt Docker Apples
container-Tool verwenden.container system start mkdir -p ~/LumeRecorder-data container run -d --name lume-recorder \ -p 0.0.0.0:8090:8090 \ -v ~/LumeRecorder-data:/data \ -e BONJOUR=0 ghcr.io/bilipp/lumerecorder:latestDer Container läuft in einer schlanken VM, daher gibst du die Adresse deines Macs in Lume von Hand ein. Lass den Mac nicht schlafen, solange Aufnahmen geplant sind.
Lieber ohne Container? Dann brauchst du Swift 6 und ffmpeg; siehe Bauen aus dem Quellcode.
Schritt 2
Kopplungscode holen
Beim Start schreibt der Server einen 6-stelligen Kopplungscode in sein Log und alle 10 Minuten einen neuen. Den aktuellen Code zeigst du jederzeit so an:
docker exec lume-recorder lume-recorder pairMit Apples Tool führst du stattdessen
container exec lume-recorder lume-recorder pairaus. Auf einem NAS steht der Code auch in der Log-Ansicht des Containers.Schritt 3
Lume koppeln
- Öffne in Lume Einstellungen › Live-TV › Aufnahmeserver.
- Lies Vor dem Koppeln und tippe auf Verstanden.
- Wähle deinen Server unter Server in diesem Netzwerk. Steht er nicht in der Liste, tippe auf Adresse manuell eingeben, gib die IP-Adresse des Servers ein (zum Beispiel
192.168.1.20) und tippe auf Verbinden. Ohne Portangabe nutzt Lume Port 8090. - Gib den Kopplungscode vom Server ein und tippe auf Koppeln.
Einmal koppeln reicht: Die Kopplung wird über iCloud mit deinen anderen Apple-Geräten synchronisiert.
Schritt 4
Aufnehmen
- Jetzt aufnehmen: Wähle Aufnehmen im Menü eines Senders oder im Player.
- Später aufnehmen: Öffne eine Sendung im Programmführer und wähle Aufnahme planen.
- Ansehen: Öffne Aufnahmen in der Live-TV-Symbolleiste oder unter Einstellungen › Live-TV. Auf dem Apple TV kannst du sie auch in der Live-TV-Seitenleiste einblenden.
Einstellungen
Ändere sie als environment-Einträge in docker-compose.yml (oder mit -e NAME=value bei Apples Tool).
| Variable | Standard | Wirkung |
|---|---|---|
SERVER_NAME | Hostname | Der Name, den Lume für den Server anzeigt. |
PORT | 8090 | Der Port, auf dem der Server lauscht. |
MAX_CONCURRENT | 4 | Wie viele Aufnahmen gleichzeitig laufen dürfen. Jede belegt eine Verbindung zu deinem Anbieter. |
MIN_FREE_GB | 2 | Aufnahmen starten nicht, wenn weniger als so viele Gigabyte frei sind. |
BONJOUR | 1 | 0 schaltet die automatische Erkennung ab, für Setups, in denen sie nicht funktioniert. |
TZ | UTC | Zeitzone für Zeitstempel im Log, z. B. Europe/Berlin. |
Führe nach einer Änderung erneut docker compose up -d aus.
Fehlerbehebung
Lume findet den Server nicht
Prüfe, ob Lume dein lokales Netzwerk nutzen darf (auf iPhone und iPad: Einstellungen › Datenschutz & Sicherheit › Lokales Netzwerk). Die automatische Erkennung funktioniert nur mit Host-Networking unter Linux. Mit Docker Desktop, Apples Tool, Bridge-Networking oder getrennten VLANs tippst du auf Adresse manuell eingeben und gibst die IP-Adresse des Geräts ein.
Mein NAS hat schon einen eigenen Bonjour-Dienst
Zwei Erkennungsdienste auf einem Gerät kommen sich in die Quere. Setze BONJOUR auf 0 und füge den Server per Adresse hinzu. Wie du ihn stattdessen über den Dienst des NAS bekannt machst, steht in der README von LumeRecorder.
Der Kopplungscode wird abgelehnt
Codes wechseln alle 10 Minuten, hol dir also den aktuellen. Nach fünf falschen Codes ist das Koppeln für eine Minute gesperrt.
Eine Aufnahme schlägt fehl, während ich fernsehe
Der Server baut eine eigene Verbindung zu deinem Anbieter auf. Erlaubt dein Tarif nur eine Verbindung gleichzeitig, kann gleichzeitiges Schauen und Aufnehmen scheitern. Erhöhe dein Verbindungslimit beim Anbieter oder vermeide Überschneidungen.
Eine Aufnahme ist wegen Speicherplatz oder zu vieler Aufnahmen fehlgeschlagen
Gib Speicherplatz frei oder senke MIN_FREE_GB, und erhöhe MAX_CONCURRENT, wenn dein Anbieter mehr Verbindungen erlaubt.
Was passiert, wenn der Server neu startet?
Laufende Aufnahmen gehen weiter, sobald er wieder da ist, mit einer kurzen Lücke. Geplante Aufnahmen, deren Zeit verstrichen ist, während er aus war, werden als fehlgeschlagen markiert.
Aktualisieren
Lade im Ordner mit docker-compose.yml das neue Image und starte neu. Aufnahmen und Kopplungen bleiben im Datenordner erhalten.
docker compose pull && docker compose up -dAlle Optionen, die HTTP-API und den Quellcode findest du im LumeRecorder-Repository auf GitHub.
← Zurück zu Lume