In diesem Beitrag zeige ich euch eine einfache Möglichkeit, wie ein Raspberry Pi als IP-Kamera für die Live-Übertragung von Videos und Bilder verwendet werden kann. Dafür können wir eine USB-Webcam oder das Cam-Modul verwenden. In diesem Tutorial verwenden wir eine gewöhnliche Webcam über die USB-Schnittstelle als IP-Cam.
Nach der Installation kannst du einen Webbrowser oder eine Video-Management-Software verwenden und die IP-Adresse deines Raspberry Pi’s ansteuern, um das Bild über das Internet oder das lokale Netzwerk zu übertragen. Sogar Funktionen wie die automatische Bewegungserkennung können verwendet werden. So bleibt dein Zuhause sicher, auch wenn du mal unterwegs oder im Urlaub bist.
Inhaltsverzeichnis:
Verwendete Hardware in diesem Artikel (Webcam und Raspberry Pi)
Es eignen sich viele verschiedene Webcams für die Verwendung als IP-Kamera auf dem Raspberry Pi. Hierbei würde ich auf ein Modell zurückgreifen, welches Videos in mindestens 1080p übertragen kann. Idealerweise entscheiden wir uns für eine USB-Webcam, die auch bei schwachen Lichtverhältnissen ein klares und rauscharmes Bild ermöglicht. In dieser Anleitung habe ich eine Webcam der Marke Logitech verwendet (siehe Verlinkung):
So verwandeln wir den Raspberry Pi mit einer Webcam in eine Netzwerk-basierte IP-Kamera
Es gibt verschiedene Wege, einen Raspberry Pi in eine IP-Kamera zu verwandeln, um eine permanente Live-Ansicht über das Netzwerk zu ermöglichen. Ich verwende in dieser Anleitung eine klassische Methode. Für den Raspberry Pi gibt es das komplett vorkonfigurierte MotionEyeOS, welches kostenlos heruntergeladen und verwendet werden kann. Das funktioniert auf dem Pi 3 und älteren Versionen noch recht gut, auf der vierten Generation ist das Image allerdings unbrauchbar, da es nicht unterstützt wird. [Habe ich ausführlich getestet]
Deswegen verwenden wir das Raspberry Pi OS in der 64-Bit Version. Das hat den Vorteil, dass wir den Raspberry Pi noch für andere Aufgaben verwenden können. Verwende jetzt den Raspberry Pi Imager und installiere das Betriebssystem. Richte deinen Raspberry Pi ein und verwende das Terminal [STRG + ALT + T], um das System und die Paketquellen auf den neusten Stand zu bringen.
Aktualisierungen durchführen:
sudo apt-get update && sudo apt-get upgrade -y
Software und Abhängigkeiten für die IP-Cam mit Livestream installieren
Wir installieren die Software Motion, mit der ein Livestream für den Einsatz als IP-Kamera möglich wird. Motion ist bereits Teil von dem offiziellen Repository, sodass ein einziger Befehl für den Download und die Installation auf dem Raspberry Pi genügt.
Motion installieren:
sudo apt-get install motion
Die Installation von dem Programm Motion kann einige Minuten Zeit in Anspruch nehmen. Sobald die Installation abgeschlossen ist, kann die USB-Webcam mit einem freien USB-Steckplatz am Raspberry Pi verbunden werden. Falls du das offizielle Kamera-Modul verwendest, hast du dieses vermutlich bereits angeschlossen.
Mit dem folgenden Befehl kannst du überprüfen, ob die USB-Webcam vom System erkannt wird:
lsusb
Verwendest du das offizielle Pi-Kamera-Modul, muss die Kamera mit dem folgenden Befehl aktiviert werden:
sudo modprobe bcm2835-v4l2
Motion konfigurieren und Verzeichnis für die Aufnahmen erstellen
Zunächst müssen einige Konfigurationen in der Konfigurationsdatei von Motion erfolgen. In dieser Anleitung verwenden wir den Editor nano für die Bearbeitung:
sudo nano /etc/motion/motion.conf
Führe die folgenden Änderungen in der Datei durch. Die Einstellungen bewirken, dass der Videostream selbstständig startet und ein Zugriff über das Netzwerk möglich wird. Verwende die Suchfunktion [STRG + W] oder navigiere mit den Pfeiltasten:
daemon on
stream_localhost off
target_dir /home/pi/cam
Verwendest du eine Kamera mit einer Full HD oder 4K Auflösung?
Dann konfiguriere am besten auch die optionalen Standardwerte in den folgenden Zeilen:
width 1920
height 1080
framerate 50
Speicher die Änderungen ab [STRG + S] und verlasse den Editor wieder [STRG + X]. Jetzt müssen wir noch das Verzeichnis erstellen und die notwendigen Schreibberechtigungen erteilen, in dem die Aufnahmen später gespeichert werden:
mkdir /home/pi/cam
sudo chgrp motion /home/pi/cam
chmod g+rwx /home/pi/cam
Hinweis: Sollten die Befehle nicht funktionieren, dann hast du den Benutzer „pi“ durch einen anderen Namen bei der Image-Erstellung ersetzt. Passe die Befehle dementsprechend manuell an.
Den Livestream (IP-Kamera) starten und den automatischen Stream aktivieren
Jetzt müssen wir nur noch den automatischen Start aktivieren und den Service ausführen. Dann beginnt auch schon der Livestream über die angeschlossene Kamera. Erstelle die nachfolgende Datei mit dem Editor und erstelle die Zeile, wie angegeben:
sudo nano /etc/default/motion
Füge die folgende Zeile hinzu:
start_motion_daemon=yes
Speichere die Änderungen ab [STRG + S] und verlasse den Editor wieder [STRG + X]. Starte den Service mit dem folgenden Befehl:
sudo systemctl enable motion
sudo systemctl start motion
Dein Raspberry Pi sollte an diesem Punkt damit beginnen, einen Videostream in Echtzeit zu übertragen. Oberhalb in dieser Anleitung haben wir uns für 50-Frames entschieden. Das sollte für den normalen Gebrauch ausreichend sein. Sollte der Stream mal nicht über einen Client im Netzwerk erreichbar sein, kann es hilfreich sein, den Service neu zu starten.
Motion neu starten:
sudo service motion restart
Verwende den folgenden Befehl, um Motion einer manuellen Startanweisung zu erteilen:
motion -b
Die Raspberry Pi IP-Kamera über die IP-Adresse im Browser aufrufen
Verwende einen beliebigen Browser und rufe die IP-Adresse deines Raspberry Pi jetzt auf. Der von Motion verwendete Port lauscht auf die 8081. Alternativ kann ein Zugriff auch über den Hostnamen erfolgen. Sollte dir die IP-Adresse aktuell noch nicht bekannt sein, kannst du diese mit dem Befehl ip a ermitteln.
Beispiel IP-Adresse für den Zugriff auf den Livestream:
http://192.168.178.57:8081/
Wie auf dem Screenshot ersichtlich, sendet die am Raspberry Pi angeschlossene USB-Webcam nun einen permanenten Livestream über das Netzwerk. Natürlich können wir die IP-Kamera auch über das Internet erreichbar machen, um auch von Unterwegs aus auf den Livestream zugreifen zu können.
Dafür müssen wir den Port 8081 im von uns eingesetzten Router für die IP-Adresse unseres Raspberry Pis freigeben und einen kostenfreien DynDNS-Service einpflegen. Dann wäre unsere Kamera über eine Subdomain z. B. meinname@dyndns.de:8081 von überall auf der Welt aus erreichbar. Das dann allerdings völlig ungeschützt!
Wo werden die Aufnahmen automatisch bei Bewegungserkennung gespeichert?
Eine der größten Stärken bei der Verwendung von Motion ist die automatische Bewegungserkennung. Wir können automatisiert Aufnahmen erstellen lassen, sobald die Webcam eine Bewegung registriert. Diese landen im zuvor angelegten Verzeichnis: /home/pi/cam
Geben wir das Verzeichnis über das Netzwerk z. B. mit Samba, NFS oder SSHFS frei, können wir die Netzfreigabe mit dem Verzeichnis auf dem entfernten Computer mounten, um aus der Ferne auf die Dateien zugreifen zu können. Das erleichtert uns die Verwaltung der erstellten Aufnahmen.
Wie eine leichtgewichtige SSHFS-Freigabe auf dem Raspberry Pi und anderen Linux Distributionen eingerichtet werden kann, erfährst du in diesem Beitrag: https://www.veuhoff.net/das-ssh-dateisystem-sshfs-installieren-und-konfigurieren/. Im letzten Abschnitt folgt noch einmal eine kleine Zusammenfassung über den IP-basierte Kamera mit dem Raspberry Pi.
Zusammenfassung und Fazit: Lohnt es sich, den Pi als IP-Cam zu verwenden?
Ein Raspberry Pi kann hervorragend als IP-Kamera eingesetzt werden. Theoretisch können wir sogar mehrere USB-Webcams zur selben Zeit verwenden, um einen Raum oder ein Objekt von mehreren Seiten überwachen zu können. Letzteres dürfte besonders interessant für den wissenschaftlichen Bereich, Tieraufnahmen z. B. für ein Vogelnest oder für Labs sein. Der Kreativität sind hierbei kaum Grenzen gesetzt.
Trotzdem würde ich die Lösung mit Motion und dem Raspberry Pi ausschließlich für kleine Videoüberwachungsaufgaben verwenden. Ganz besonders dann, wenn wir mehrere IP-Cams bereitstellen oder eine Video-Management-Software mit hochauflösenden IP-Kameras verwenden möchten.
Dann ist die Rechenleistung vermutlich nicht mehr ausreichend genug, um kristallklare und flüssige Bilder über das Netzwerk zu übertragen. Eine Open-Source-Lösung für den professionellen Einsatz findet ihr in diesem Artikel von mir: [Shinobi Installation und Einrichtung].