So richten Sie eine Bewegungsmelder-Webcam in Ubuntu ein

Ein Foto einer Person, die eine Sicherheitskamera repariert.

Motion ist ein nützliches Tool, das Ihre reguläre Webcam in eine Überwachungskamera verwandeln kann. Es überwacht das Signal Ihrer Webcam und nimmt Screenshots und Videos auf, wenn es Bewegung erkennt. Hier zeigen wir Ihnen, wie Sie Motion installieren und eine Bewegungsmelder-Webcam in Ubuntu Linux einrichten.

Inhaltsverzeichnis

  • Installation des Motion-Servers
  • Konfiguration von Motion für Ihr System
  • Ändern des Standard-Speicherorts
  • Anpassen der Erkennungseinstellungen in Motion
  • Aktivieren der Motion-Weboberfläche
  • Verwalten der gespeicherten Aufnahmen aus der Ferne
  • Starten und Testen des Motion-Servers

Installation des Motion-Servers

Motion ist standardmäßig im offiziellen Ubuntu-Repository enthalten. Das bedeutet, dass Sie dieses Programm über Ihren apt-Paketmanager installieren können:

sudo apt install motion v4l-utils

Hinweis: Während wir in diesem Artikel mit Ubuntu arbeiten, funktioniert Motion auch für die meisten Linux-Distributionen.

Bestätigen Sie, dass Ihr Motion-Server ordnungsgemäß funktioniert, indem Sie das Hilfefenster des Programms öffnen:

motion -h

Konfiguration von Motion für Ihr System

Bevor wir mit der Konfiguration von Motion beginnen, müssen wir die Konfigurationsdatei in unseren Home-Ordner kopieren, damit wir eine saubere Sicherung der Originaldatei haben. Öffnen Sie ein Terminal und kopieren Sie die Konfigurationsdatei in Ihren Home-Ordner:

cp /etc/motion/motion.conf ~/motion.conf.backup

Öffnen Sie die Originalkonfiguration mit Ihrem bevorzugten Texteditor:

sudo nano /etc/motion/motion.conf

Eine der einfachsten Anpassungen, die Sie für Ihren Motion-Server vornehmen können, besteht darin, die Qualität seiner Bild- und Videoausgabe zu ändern. Standardmäßig legt der Server seine Auflösung auf 640×480 fest, was für moderne Webcams zu klein sein kann.

Um dies zu ändern, führen Sie den folgenden Befehl in einer neuen Terminal-Sitzung aus, um die verfügbaren Auflösungen für Ihre Kamera zu überprüfen:

sudo v4l2-ctl -d /dev/video0 --list-formats-ext

Ein Terminal, das die Liste der verfügbaren Auflösungen für die Webcam anzeigt.

Gehen Sie zurück zu Ihrer Motion-Konfiguration, scrollen Sie nach unten zur Kategorie „Bildverarbeitung“ und suchen Sie nach den Variablen width und height.

Ein Terminal, das die Standardwerte für die Webcam-Auflösung von Motion anzeigt.

Geben Sie die entsprechenden Werte für die gewünschte Auflösung an. In meinem Fall möchte ich Motion in 1280×720 ausführen, also gebe ich „1280“ als Breite und „720“ als Höhe ein.

Ein Terminal, das die aktualisierten höheren Auflösungswerte für Motion anzeigt.

Setzen Sie den Wert von framerate auf die Bildrate, in der Sie Ihre Videos aufnehmen möchten. Standardmäßig ist dies auf „15“ eingestellt, aber Sie können ihn senken, um Speicherplatz zu sparen.

Ein Terminal, das die Variable framerate in der Motion-Konfigurationsdatei hervorhebt.

Scrollen Sie nach unten zur Kategorie „Bildausgabe“ und setzen Sie den Wert der Variable picture_output auf „on“. Dies ermöglicht es Motion, sowohl Bilder als auch Videos von Ihrer Webcam aufzunehmen.

Ein Terminal, das die picture_output-Variable in der Motion-Konfigurationsdatei anzeigt.

Ändern des Standard-Speicherorts

Eine weitere Anpassung, die Sie für Ihren Motion-Server vornehmen können, besteht darin, zu ändern, wo er seine Daten speichert. Dies kann nützlich sein, wenn Sie Ihre aufgenommenen Videos und Bilder in ein gemountetes Remote-Verzeichnis oder einen Cloud-Speicherdienst wie Dropbox exportieren möchten.

Um zu beginnen, navigieren Sie zu dem Verzeichnis oder erstellen Sie es, in dem Sie Ihre Daten speichern möchten:

sudo mkdir /motion/data

Setzen Sie den Besitz Ihres Verzeichnisses auf „motion:adm“:

sudo chown -R motion:adm /motion/data

Stellen Sie sicher, dass der gesamte Pfad zu Ihrem Verzeichnis für alle Benutzer lesbar ist:

sudo chmod -R 755 /motion/data

Gehen Sie zurück zu Ihrer Motion-Konfiguration, suchen Sie die Variable target_dir und setzen Sie ihren Wert auf den vollständigen Pfad Ihres Verzeichnisses.

Ein Terminal, das das benutzerdefinierte Datenverzeichnis für Motion hervorhebt.

Anpassen der Erkennungseinstellungen in Motion

Motion funktioniert, indem es den Unterschied zwischen dem aktuellen Video-Feed und dem vorherigen Video-Feed betrachtet. Wenn das Programm einen ausreichenden Unterschied zwischen den beiden feststellt, klassifiziert es dies als „Bewegung“ und zeichnet ein Video des Ereignisses auf.

Derzeit geht Motion davon aus, dass ein Unterschied von 1500 Pixeln ausreicht, um als „Bewegung“ klassifiziert zu werden. Während dies die Bewegungserkennung für die meisten Webcams einfach macht, kann es für Kameras mit höherer Auflösung zu empfindlich sein.

Um dies zu dämpfen, gehen Sie zur Kategorie „Bewegungserkennung“ und erhöhen Sie den Wert der Variable threshold. Ich finde, dass 5500 Pixel ausreichen, um zu verhindern, dass Motion unnötige kleine Bewegungen aus dem Webcam-Feed aufzeichnet.

Ein Terminal, das einen benutzerdefinierten Schwellenwert für den Motion-Server anzeigt.

Sie können auch die Variable threshold_maximum hinzufügen, um eine Obergrenze für den Unterschied festzulegen, den Motion als „Bewegung“ betrachtet. Dies ist nützlich, wenn Ihre Webcam auf einen belebten Bereich gerichtet ist und Sie möchten, dass sie nur bei weniger Aktivität läuft.

Wenn Sie sich bei den Werten für threshold und threshold_maximum für Ihre Webcam nicht sicher sind, können Sie Motion diese für Sie anpassen lassen. Fügen Sie dazu die Variable threshold_tune hinzu und setzen Sie sie auf „on“.

Ein Terminal, das die verschiedenen Pixel-Schwellenwertoptionen für Motion anzeigt.

Schließlich können Sie Motion so konfigurieren, dass es auch die Momente vor und nach der Erkennung von Bewegung aufzeichnet. Gehen Sie dazu zu den Variablen pre_capture und post_capture und setzen Sie deren Werte auf die Anzahl zusätzlicher Frames, die Sie speichern möchten.

Ein Terminal, das die zusätzlichen Frames beim Aufnehmen von Bildern und Videos in Motion anzeigt.

Aktivieren der Motion-Weboberfläche

Der Motion-Server verfügt über eine Weboberfläche, mit der Sie Ihre Webcam aus der Ferne überwachen können. Um dies zu aktivieren, gehen Sie zum Abschnitt „Webcontrol“ der Konfiguration und setzen Sie den Wert der Variable webcontrol_localhost auf „off“.

Scrollen Sie nach unten zum Abschnitt „Live-Stream“ und setzen Sie den Wert von stream_localhost auf „off“.

Ein Terminal, das die beiden Optionen zeigt, die Sie deaktivieren müssen, um Remote-Systemen den Zugriff auf die Motion-Webkonsole zu ermöglichen.

Hinweis: Motion hat keine Authentifizierungsprüfungen für seine Weboberfläche. Daher kann jeder, der die Adresse Ihres Motion-Servers kennt, Ihre Webcam ansehen und den Dienst steuern.

Verwalten der gespeicherten Aufnahmen aus der Ferne

Wie ich bereits erwähnt habe, ist der beste Weg, die Bilder in Ihren Dropbox-Ordner zu speichern, damit Sie von überall darauf zugreifen können. Wenn Sie jedoch bevorzugen, die Bilder auf Ihren eigenen Dateiserver (über FTP) hochzuladen, können Sie den Befehl wput verwenden, um die Bilder hochzuladen:

sudo apt install wput

Öffnen Sie die Konfiguration Ihres Motion-Servers und fügen Sie die folgenden Zeilen am Ende der Datei ein:

on_picture_save wput ftp://IHR-BENUTZERNAME:IHR-PASSWORT@IHRE-SERVER-ADRESSE %f  
on_movie_end wput ftp://IHR-BENUTZERNAME:IHR-PASSWORT@IHRE-SERVER-ADRESSE %f

Ein Terminal, das die beiden Skripthooks zum Speichern von erfassten Medien auf einem Remote-Server anzeigt.

Starten und Testen des Motion-Servers

Stellen Sie sicher, dass Sie Ihre Motion-Konfigurationsdatei speichern, und führen Sie dann den folgenden Befehl aus, um den Server zu starten:

sudo systemctl enable --now motion.service

Bestätigen Sie, dass der Server ordnungsgemäß funktioniert, indem Sie einen Webbrowser öffnen und die IP-Adresse Ihres Computers gefolgt von „:8080“ aufrufen.

Ein Screenshot, der die Webkonsole für Motion zeigt.

Dies öffnet eine Webseite, die den aktuellen Video-Feed von Ihrer Webcam anzeigt, zusammen mit einem Menü, das zusätzliche Aktionen für Ihren Server enthält. Beispielsweise können Sie auf Aktion -> Snapshot klicken, um ein Standbild von Ihrer Webcam aufzunehmen.

Ein Screenshot, der die verschiedenen Aktionen zeigt, die Sie von der Motion-Webkonsole aus durchführen können.

Testen Sie, ob Motion Bewegung von Ihrer Webcam erkennt und aufzeichnet, indem Sie einen Gegenstand vor Ihrer Kamera vorbeiführen und den Inhalt Ihres Verzeichnisses target_dir überprüfen.

Ein Screenshot, der zeigt, wie Motion seine erfassten Medien in einem benutzerdefinierten Verzeichnis speichert.

Es gibt auch einen Live-Stream, den Sie entweder von Ihrem Mediaplayer oder Webbrowser öffnen können. Um darauf zuzugreifen, navigieren Sie zur IP-Adresse Ihres Computers gefolgt von „:8081“.

Ein Screenshot, der den dedizierten Video-Stream von Motion zeigt.

Ihre reguläre Webcam in ein Bewegungserkennungssystem zu verwandeln, ist nur eine der Möglichkeiten, die Sie mit Kameras unter Linux haben. Erfahren Sie mehr über einige der besten Webcam-Apps für Linux, die Sie heute installieren und ausprobieren können.

Bildnachweis: Bermix Studio über Unsplash. Alle Änderungen und Screenshots von Ramces Red.