Die Entscheidung für die Vorgehensweise beruht auf diesem Artikel bzgl. Raspberry Pi Zero Framerates von Chris Carey. Ich habe vorher eine andere Variante probiert die mich 3 Stunden gekostet hat und nicht funktioniert.
1. Boot-Image auf Micro-SD Card
Dafür lädt man das „RASPIAN STRETCH LITE“ Image (ohne „X/Desktop“) von der „raspberrypi.org“ Download Seite. Die ZIP Datei enthält ein „.img“ kein „.iso„.
Ich habe dafür ein Tool Namens „Win32 Disk Imager“ verwendet um die SD-Card zu beschreiben.
2. WLAN auf dem Image vorkonfigurieren
Wenn das Image auf die SD-Card gespielt ist, gibt es eine (Teil)Partition auf die man auch von Windows aus zugreifen kann. In dieser Partition müssen 2 Dateien erstellt werden.
- Eine leere Datei Namens „ssh“ ohne Endung/Erweiterung, einfach nur „ssh“ mit 0 Byte.
- Eine Datei Namens „wpa_supplicant.conf“ mit folgendem Inhalt:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=DE network={ ssid="DEINEWLANSSID" psk="DEINWLANKEY" key_mgmt=WPA-PSK }
3. Start und Konfiguration
Karte einsetzen und „Raspberry Pi Zero W“ starten, sollte nicht mehr als 40 Sekunden dauern. Nun am besten über die Router-Oberfläche schauen welche IP-Adresse dem „raspberrypi“ zugeordnet wurde. Dann über „putty“ oder anderes SSH-Tool einloggen. Username „pi„, Passwort „raspberry„.
Jetzt mit dem Befehl: „sudo raspi-config“ den Konfigurations-Dialog starten und dort die Kamera aktivieren, unter „Interface…“. (Das fehlt in den vielen Anleitungen). Dann wieder neu starten. Ab jetzt könnte die Kamera bereits über den HDMI-Ausgang funktionieren.
4. Aktualisieren und Programme downloaden
(Laut Doku sollte „raspivid“ bereits integriert sein. Bei mir war es so.)
Zunächst sollte man immer alle Updates und Upgrades machen.
Befehl „sudo apt-get update„, dauert max. 2-3 Minuten.
Befehl „sudo apt-get upgrade„, kann über 10 Minuten dauern.
Dann wird VLC installiert, und zwar die „no X Version“. Das fehlt auch oft in den verschiedenen Anleitungen.
Befehl „sudo apt-get install vlc-nox„, dauert ca. 3-5 Minuten.
5. Konfigurieren des VLC Servers als „rtsp“-Stream
In „/home/pi“ eine neue Datei „stream-rtsp.sh“ erstellen, z.B. mit nano (super-simpler Console-Editor):
Mit dem Befehl „sudo nano stream-rtsp.sh„, dann im Editor folgendes einfügen.
#!/bin/bash raspivid -o - -t 0 -w 1280 -h 720 -fps 25 -b 512000 | cvlc -vvv stream:///dev/stdin --sout '#rtp{access=udp,sdp=rtsp://:8554/stream}' :demux=h264
Speichern mit „STRG+O“ + „Enter“, dann beenden mit „STRG+X„. (Nano Optionen am unteren Bildschirmrand)
Nun muss diese Datei, in welcher ja der Service gestartet wird, selber ausführbar gemacht werden.
Befehl: „chmod +x stream-rtsp.sh“
Um den Service manuell zu starten, startet man die „sh„.
Befehl: „./stream-rtsp.sh“
6. Automatisches Starten des „rtsp“-Servers beim Booten
Folgendes File erstellen „/etc/systemd/system/stream-rtsp.service“, am besten wieder mit Nano.
Befehl: „sudo nano /etc/systemd/system/stream-rtsp.service„, dann im Editor folgendes einfügen.
[Unit] Description=auto start stream After=multi-user.target [Service] Type=simple ExecStart=/home/pi/stream-rtsp.sh User=pi WorkingDirectory=/home/pi Restart=on-failure [Install] WantedBy=multi-user.target
Speichern mit „STRG+O“ + „Enter“, dann beenden mit „STRG+X„.
Dieses Service-Script nun auf Autostart setzen.
Befehl: „sudo systemctl enable stream-rtsp.service“
Jetzt sollte man den Service schon manuell starten, stoppen und den Status abfragen können.
Befehle:
„sudo systemctl start stream-rtsp.service“
„sudo systemctl stop stream-rtsp.service“
„sudo systemctl status stream-rtsp.service“
Nach einem Neustart startet dieser Service jetzt auch immer.
Den Stream sollte man nun über RTSP-fähige Clients öffnen können. Zum Beispiel im VLC-Player unter „Netzwerkstream öffnen“ mit der URL:
rtsp://x.x.x.x:8554/stream
Für Android und iPhone gibt es z.B. die App „
Antworten