Beim Projekt www.storchennest-fohrde.de haben wir 2017 eine Kamera auf einem Storchennest installiert, um einen Livestream ins Netz zu bringen. Anfangs nutzten wir dafür IPCamLive – ein praktischer Dienst, der aber auf Dauer zu teuer wurde.
Die Idee, direkt zu YouTube zu streamen, kam auf – und erste Unterstützung erhielten wir damals freundlicherweise von www.storch-gundelsheim.de. Seither streamen wir kostengünstig über YouTube – stabil und zuverlässig.
Es gibt zwei gute Wege: per Shell-Script mit ffmpeg
oder mit Docker und dem restreamer
. In diesem Beitrag erkläre ich die Methode mit einem einfachen Shell-Script und systemd für maximale Stabilität.
Voraussetzungen
- Linux-System (z. B. Raspberry Pi 4 oder vServer mit Ubuntu/Debian)
- RTSP-fähige IP-Kamera
- YouTube-Kanal mit aktivierter Livestream-Funktion
RTSP-Stream testen
Bevor du mit dem Stream beginnst, teste, ob der RTSP-Stream der Kamera erreichbar ist:
vlc rtsp://BENUTZER:PASSWORT@IP:554/stream1
Falls du von außen zugreifst, stelle sicher, dass der RTSP-Port (meist 554) korrekt weitergeleitet ist (Portfreigabe im Router prüfen).
ffmpeg-Stream zu YouTube (Shell-Script)
#!/bin/bash
while true
do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "$TIMESTAMP - Starte Stream..."
ffmpeg -re -i rtsp://BENUTZER:PASSWORT@IP:554/stream1 \
-vcodec libx264 -preset veryfast -maxrate 3000k -bufsize 6000k \
-vf "scale=1280:720" -g 50 -r 25 -acodec aac -ar 44100 -b:a 128k \
-f flv rtmp://a.rtmp.youtube.com/live2/YOUR_STREAM_KEY
echo "$TIMESTAMP - ffmpeg wurde beendet. Warte 10 Sekunden und starte neu..."
sleep 10
done
Speichern als /home/pi/stream.sh
(oder auf dem Server) und ausführbar machen:
chmod +x /home/pi/stream.sh
systemd-Dienst einrichten
Erstelle eine Datei /etc/systemd/system/youtube-stream.service
mit folgendem Inhalt:
[Unit]
Description=RTSP zu YouTube Stream
After=network.target
[Service]
ExecStart=/home/pi/stream.sh
Restart=always
RestartSec=10
User=pi
WorkingDirectory=/home/pi
[Install]
WantedBy=multi-user.target
Danach den Dienst aktivieren und starten:
sudo systemctl daemon-reexec
sudo systemctl enable youtube-stream
sudo systemctl start youtube-stream
Der Stream wird nun automatisch beim Booten gestartet und neu gestartet, wenn er abstürzt.
💡 Tipps für 24/7 Stabilität
- Stabile LAN-Verbindung statt WLAN nutzen
- Netzteil für Raspberry Pi mit genug Leistung (mind. 3A)
- Logrotation aktivieren oder ffmpeg-Ausgabe in
/dev/null
leiten - Optional: Kamera regelmäßig per Script pingen oder rebooten
Alternative: Docker mit Restreamer
Wer lieber mit Webinterface arbeitet, kann auch den restreamer
Container von datarhei verwenden. Für einfache, ressourcenschonende Projekte wie bei uns ist jedoch das Shell-Script oft die bessere Wahl.
Fazit
Mit nur wenigen Zeilen Bash und einem systemd-Service kannst du eine RTSP-Kamera zuverlässig zu YouTube streamen – dauerhaft und quasi kostenlos. Bei Fragen schreibe gern einen Kommentar!