LumeRecorder
Grava TV em direto com o teu próprio servidor
O LumeRecorder é um pequeno servidor DVR, gratuito e de código aberto, que corre em tua casa. A Lume diz-lhe o que gravar e ele grava sozinho, mesmo com todos os dispositivos Apple em repouso. As gravações reproduzem-se na Lume em todos os teus dispositivos, incluindo as que ainda estão a gravar.
A gravação faz parte do Lume Pro. O servidor em si é gratuito.
O que precisas
Uma máquina sempre ligada
Um NAS, mini PC, servidor doméstico, Raspberry Pi de 64 bits ou um Mac que não entre em repouso. A imagem Docker corre em Intel/AMD e ARM.
Docker
Docker ou Docker Desktop, ou a ferramenta container da Apple num Mac com Apple silicon. A maioria dos NAS já traz Docker.
Espaço em disco
As transmissões são guardadas tal como chegam, sem recodificação. Um canal HD ocupa normalmente alguns gigabytes por hora.
A mesma rede
O servidor e os teus dispositivos Apple devem estar na mesma rede doméstica, para que a Lume o encontre e reproduza as gravações.
Passo 1
Inicia o servidor
Escolhe como corres contentores. Todas as opções guardam gravações e definições numa pasta de dados ao lado, por isso sobrevivem às atualizações.
Guarda isto como
docker-compose.ymlnuma pasta nova e inicia-o a partir dessa pasta. A rede do anfitrião permite à Lume encontrar o servidor automaticamente.services: lume-recorder: image: ghcr.io/bilipp/lumerecorder:latest container_name: lume-recorder restart: unless-stopped network_mode: host volumes: - ./data:/datadocker compose up -dNo Synology, QNAP, Unraid ou TrueNAS podes colar o mesmo ficheiro no Docker ou Container Manager do sistema como um novo projeto.
Num Mac ou PC Windows com Docker Desktop, publica a porta em vez de usar a rede do anfitrião. Guarda isto como
docker-compose.ymle inicia-o.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 -dO Docker Desktop não consegue anunciar o servidor na tua rede, por isso vais introduzir o endereço manualmente na Lume. Garante que o Docker Desktop arranca ao iniciar sessão.
Num Mac com Apple silicon podes usar a ferramenta
containerda Apple em vez do Docker.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:latestO contentor corre numa VM leve, por isso vais introduzir o endereço do Mac manualmente na Lume. Impede o Mac de entrar em repouso enquanto houver gravações agendadas.
Preferes corrê-lo sem contentores? Precisa de Swift 6 e ffmpeg; consulta compilar a partir do código-fonte.
Passo 2
Obtém o código de emparelhamento
Quando o servidor arranca, escreve no registo um código de emparelhamento de 6 dígitos e um novo a cada 10 minutos. Mostra o código atual a qualquer momento com:
docker exec lume-recorder lume-recorder pairCom a ferramenta da Apple, executa antes
container exec lume-recorder lume-recorder pair. Num NAS, o código também aparece na vista de registos do contentor.Passo 3
Emparelha a Lume
- Na Lume, abre Ajustes › TV ao vivo › Servidor de gravação.
- Lê Antes de parear e toca em Entendi.
- Escolhe o teu servidor em Servidores nesta rede. Se não aparecer, toca em Inserir endereço manualmente, escreve o endereço IP do servidor (por exemplo
192.168.1.20) e toca em Conectar. A Lume usa a porta 8090, a não ser que indiques outra. - Introduz o Código de pareamento do servidor e toca em Parear.
Emparelha uma só vez: o emparelhamento sincroniza com os teus outros dispositivos Apple através do iCloud.
Passo 4
Gravar
- Gravar agora: escolhe Gravar no menu de um canal ou no leitor.
- Gravar mais tarde: abre um programa no Guia e escolhe Agendar gravação.
- Ver: abre Gravações na barra de ferramentas da TV em direto ou em Ajustes › TV ao vivo. Na Apple TV também o podes mostrar na barra lateral da TV em direto.
Definições
Altera-as como entradas de environment no docker-compose.yml (ou com -e NAME=value na ferramenta da Apple).
| Variável | Predefinição | O que faz |
|---|---|---|
SERVER_NAME | Nome do anfitrião | O nome que a Lume mostra para o servidor. |
PORT | 8090 | A porta em que o servidor escuta. |
MAX_CONCURRENT | 4 | Quantas gravações podem decorrer em simultâneo. Cada uma usa uma ligação ao teu fornecedor. |
MIN_FREE_GB | 2 | As gravações não começam quando há menos do que estes gigabytes livres. |
BONJOUR | 1 | 0 desativa a deteção automática, para configurações em que não funciona. |
TZ | UTC | Fuso horário das marcas temporais do registo, p. ex. Europe/Berlin. |
Depois de as alterar, executa novamente docker compose up -d.
Resolução de problemas
A Lume não encontra o servidor
Confirma que a Lume pode usar a tua rede local (no iPhone e iPad: Definições › Privacidade e segurança › Rede local). A deteção automática só funciona com a rede do anfitrião em Linux. Com Docker Desktop, a ferramenta da Apple, rede em bridge ou VLANs separadas, toca em Inserir endereço manualmente e escreve o endereço IP da máquina.
O meu NAS já tem o seu próprio serviço Bonjour
Dois serviços de deteção na mesma máquina interferem um com o outro. Define BONJOUR como 0 e adiciona o servidor pelo endereço. O README do LumeRecorder explica como o anunciar através do serviço do próprio NAS.
O código de emparelhamento é rejeitado
Os códigos mudam a cada 10 minutos, por isso obtém o atual. Após cinco códigos errados, o emparelhamento fica bloqueado durante um minuto.
Uma gravação falha enquanto estou a ver
O servidor abre a sua própria ligação ao teu fornecedor. Se o teu plano só permite uma ligação de cada vez, ver e gravar ao mesmo tempo pode falhar. Aumenta o limite de ligações junto do fornecedor ou evita sobreposições.
Uma gravação falhou por falta de espaço ou por haver gravações a mais
Liberta espaço em disco ou baixa MIN_FREE_GB, e aumenta MAX_CONCURRENT se o teu fornecedor permitir mais ligações.
O que acontece se o servidor reiniciar?
As gravações em curso retomam quando ele volta, com uma pequena falha. As agendadas cuja hora passou enquanto estava desligado ficam marcadas como falhadas.
Atualizar
Na pasta com o docker-compose.yml, descarrega a nova imagem e reinicia. As gravações e os emparelhamentos ficam na pasta de dados.
docker compose pull && docker compose up -dTodas as opções, a API HTTP e o código-fonte estão no repositório do LumeRecorder no GitHub.
← Voltar à Lume