RTSP-Kamera stabil zu YouTube streamen mit Raspberry Pi oder vServer

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!

0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x