Software
Es gibt verschiedene Möglichkeiten mit einem Rasperry Pi einen Livestream zu erstellen. Wir verwenden hier das Paket MediaMTX.
Die Einrichtung läuft in drei Schritten ab:
Einrichtung des Raspberry Pi mit dem Betriebssystem
Installation & Konfiguration von MediaMTX
Starten
Grundeinrichtung Raspberry Pi Zero W
Die Grundeinrichtung wird nach der Anleitung auf (www.raspberrypi.org) ausgeführt:
Mit Raspberry Pi Imager SD Karte mit dem Betriebssystem schreiben. Am einfachsten geht das mit dem "Raspberry Pi Imager" (Link)
Als Betriebssystem reicht Raspberry Pi OS Light
Vor dem beschreiben der SD Karte können WLAN Passwort und Login definiert werden.
SD Karte in Raspberry Pi stecken
Raspberry PI mit Strom versorgen. Der Raspberry Pi startet
Nun sollte der Raspberry PI mit dem Netzwerk verbinden
Vorbereiten des Raspberry Pi
Login auf dem Raspberry PI
Mit dem Terminal kann nun über SSH mit dem Raspberry Pi eine Verbindung aufgebaut werden.
Zuerst muss die IP Adresse des Raspberry Pi's herausgefunden werden. Normalerweise kann die Adresse im Internetrouter nachgeschaut werden. Im Beispiel verwende ich die Adresse 192.168.1.10
Ein Terminal öffnen und den Befehl
ssh pi@192.168.1.10einloggen.Das Passwort konnte bereits beim beschreiben der SD Karte definiert werden.
Beim ersten Login muss unter Umständen bestätigt werden, dass eine Verbindung hergestellt werden soll. (Mit
yesbestätigen.)
Update & Upgrade
Nach dem Login sollte der Pi auf den neusten Stand gebracht werden (Link).
sudo apt update
sudo apt-get update
sudo apt full-upgrade
sudo rebootNach kurzer Zeit wieder einloggen (siehe oben SSH)
Kamera aktivieren
Je nach verwendeter Kamera muss diese im config file aktiviert werden:
sudo nano /boot/firmware/config.txtGanz unten hinzufügen:
dtoverlay=imx462Speichern und neu booten:
sudo rebootNach dem erneuten einloggen braucht es noch einige Zusatzpakete:
sudo apt-get install libfreetype6 libcamera0
sudo apt install -y libcamera-appsNun kann getestet werden ob die Kamera korrekt installiert ist:
libcamera-still --list-camerasWenn alles korrekt funktioniert hat wird die Kamera nun angezeigt.
MediaMTX installieren
Der Raspberry Pi ist nun bereit, dass die Kamerasoftware installiert werden kann. Wir verwenden hier das Paket MediaMTX (Link).
wget https://github.com/bluenviron/mediamtx/releases/download/v1.11.1/mediamtx_v1.11.1_linux_arm64v8.tar.gzAls Beispiel ist hier die Version 1.11.1 beschrieben. Die jeweils aktuellste Version ist unter https://github.com/bluenviron/mediamtx/releases zu finden.
Die eben heruntergeladene Datei entpacken:
tar xzvf mediamtx_v1.11.1_linux_arm64v8.tar_Konfiguration
MediaMTX muss nun noch konfiguriert werden.
nano mediamtx.ymlEs gibt viele Optionen. MediaMTX kann unter anderem einen WebRTC, RTSP oder HLS Stream erzeugen. Die ganze Dokumentation ist auf der Github Seite zu finden (Link).
Um die Kamera des Raspberry Pi zu nutzen muss unter dem Schlüsselwort paths die Raspberry Kamera eingetragen werden. Weitere Parameter können hinzugefügt werden. Oder weiter oben in der Datei angepasst werden.
paths:
cam:
source: rpiCamera
rpiCameraWidth: 1920
rpiCameraHeight: 1080
rpiCameraVFlip: true
rpiCameraHFlip: trueStarten
Nach dem speichern können wir MediaMTX starten :
./mediamtxAbrufen des Streams
Der Stream kann nun unter der Adresse rtsp://<raspberry-pi-ip>:8554/cam abgerufen werden (Wenn gewünscht kann der Port in der Konfigurationsdatei angepasst werden). Zum Abrufen eignet sich z.B. das Programm VLC (Link).
Den Stream automatisch Starten
Mit dem obigen Befehl haben wir zwar den Stream gestartet aber beim nächsten Neustart des Raspberry Pi wird er nicht automatisch neu gestartet. Dafür braucht es noch etwas mehr:
sudo mkdir /opt/mediamtx
sudo cp mediamtx /opt/mediamtx/
sudo cp mediamtx.yml /opt/mediamtx/sudo nano /etc/systemd/system/mediamtx.serviceDie Datei mediamtx.service öffnet sich. Nun muss folgendes in die Datei geschrieben werden:
[Unit]
Wants=network.target
[Service]
ExecStart=/opt/mediamtx/mediamtx /opt/mediamtx/mediamtx.yml
[Install]
WantedBy=multi-user.targetNach dem Speichern muss der neue Service registriert und gestartet werden:
sudo systemctl daemon-reload
sudo systemctl enable --now mediamtxNach einem Neustart des Raspberry Pi startet auch der Stream automatisch.
Mit dem Befehl sudo systemctl status mediamtx kann der Status abgefragt werden.