Motion für den Raspberry Pi

Zwischendurch möchte ich dir das Paket „Motion“ vorstellen, vielleicht hast du davon schon mal gehört, wenn nicht, erkläre ich es noch mal. Motion ist eines von vielen tausenden Paketen für Debian und somit auch für den Raspberry Pi. Mittels Motion kannst du dein Haus, Zimmer, Geschäft oder andere Orte beobachten und aufnehmen. Dazu musst du eine kompatible Webcam, eine Liste von kompatiblen Geräten findest du hier, an den Raspberry Pi anschließen (über USB-Hub möglich). Über den Befehl

lsusb

lässt sich überprüfen, ob die Webcam ordnungsgemäß erkannt worden ist. In meinem Fall habe ich die folgende Ausgabe erhalten:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 005: ID 046d:08ce Logitech, Inc. QuickCam Pro 5000

In der letzten Zeile ist zu erkennen, dass es sich um eine Webcam handelt, um genau zu sein, um die, die ich angeschlossen habe. Für diejenigen, die sich über die vorletzte Zeile wundern, dies ist mein USB-Hub, über den ich auch den Strom für meinen Raspberry Pi gebe und auch die Webcam angeschlossen habe. Die ersten drei Zeilen sollten bei dir gleich sein, da diese Komponenten im Raspberry Pi verbaut sind und standardmäßig angezeigt werden. Sollte die Webcam nicht erkannt werden, kann ein Neustart helfen, sollte sie dann immer noch nicht erkannt worden sein, muss wahrscheinlich zu einer anderen Webcam gegriffen werden. Normalerweiße sollten aber die meisten funktionieren, ich selbst habe noch zwei andere Webcams, eine ganz alte No-Name Webcam und noch eine weitere Logitech, beide haben problemlos funktioniert. Ich habe die Webcam schon seit circa 1,5 Monaten in Betrieb (nicht 24/7) und bisher keine Probleme feststellen müssen.

Installation von Motion

Nun zur Installation von Motion, dazu empfehle ich erst einmal, die Pakete auf den neusten Stand zu bringen:

sudo apt-get update

Nach kurzer Zeit sollte das Update fertig sein und du kannst über den Befehl

sudo apt-get install motion

Motion installieren. Sobald die Installation ebenfalls abgeschlossen ist, kann auch schon die Webcam getestet werden. Dafür muss aber noch zunächst Motion selbst gestartet werden. Mittels

sudo motion start

sollte Motion gestartet werden. – Entsteht ein Fehler, würde es mich freuen, wenn du mir eben einen Kommentar unter diesem Beitrag hinterlassen würdest. Ich werde dann versuchen dir zu helfen. Bitte siehe aber zuerst unten. Vielleicht wird da dein Problem gelöst. – Wenn alles gut läuft, sollte Motion nun laufen und du kannst die Webcam testen. Der Standart Port für Motion und Webcam ist nach der Installation 8081. Unter http://ip-deines-raspberry-pi:8081 ist nun ein Bild von der aktuellen Aufnahme der Webcam zu sehen.

Einrichtung

Unter dem Verzeichnis „/etc/motion/“, welches wir mittels

cd /etc/motion/

aufrufen, ist nun eine Datei zu finden, welche sich „motion.conf“ nennt. Die Datei dient als Konfigurationsdatei für Motion und kann für die Einstellung bearbeitet werden. Bearbeiten tun wir die Datei über:

sudo nano motion.conf

Hier sind einige Einstellungen zu finden, welche du setzen solltest/kannst:

  • stream_localhost – von on auf off setzen
    Erlaubt den Zugriff von Localhost aus (on = local, off = global)
  • output_motion – von off auf on setzen
    Gibt ein Bild nur aus, wenn sich Pixel ändern
  • daemon – von off auf on
    Führt Prozess im Hintergrund aus (on = Hintergrund)
  • stream_port
    Der Port, unter welchem das Bild der Webcam erreichbar ist
  • width
    Breite des Bildes (Angabe in Pixel)
  • height
    Höhe des Bildes (Angabe in Pixel)
  • framerate
    Bildwiederholrate der Ausgabe des Bildes
  • quality
    Qualität des Bildes
  • target_dir
    Zielordner für Bilder bzw. Videos

Nach dem Einrichten kann unsere Webcam wieder mit dem Befehl

sudo motion start

gestarten und über den Befehl

sudo motion stop

beendet werden. Den Befehl für das Beenden von Motion ist nur nötig, wenn Motion im „daemon“ (on) Modus läuft.

Nun ist Motion fertig installiert und eingerichtet, in der „motion.conf“ kannst du natürlich noch andere Einstellungen beliebig anpassen. Ich wünsche dir dabei noch viel Spaß 😀

Probleme mit Google Chrome und Internet Explorer

Wenn die Webcam direkt im Browser aufgerufen wird, kommt es in Google Chrome und im Internet Explorer zu Fehlern. Bei Chrome lädt die Seite Ewigkeiten und der IE lädt gleich mal eine Datei herunter. Nur im Mozilla Firefox ist es möglich, die Webcam direkt im Browser aufzurufen. Dieser zeigt das aktuelle Bild an und aktualisiert dies automatisch. Wenn die Webcam aber in einem img-Tag eingebunden wird, klappt es zumindest in Chrome und Firefox. Der IE hat weiterhin Probleme.

51 Gedanken zu „Motion für den Raspberry Pi“

  1. Wenn ich versuche motion zu starten bekomme ich folgende Meldung

    error while loading shared liberies libjpeg.so.62
    cannot open shared object file: No such file or directory

    Hast du irgend eine Ahnung was das zu bedeuten hat bzw. wie man das beheben kann

  2. Wenn ich Motion versuche zu starten kommt folgendes:

    pi@raspberrypi / $ sudo motion start
    [0] Processing thread 0 – config file /etc/motion/motion.conf
    [0] Motion 3.2.12 Started
    [0] Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid: No such file or directory
    [0] Motion going to daemon mode

    Weißt du was ich falsch gemacht habe?

    Gruß Timo

    1. Hallo Timo,
      vergewissere dich, dass der Ordner /var/run/motion existiert und die erforderlichen Berechtigungen hat. Den Ordner erstellst du mit sudo mkdir /var/run/motion und die Berechtigung änderst du mit sudo chown motion:motion /var/run/motion.

      Gruß Willy

  3. Hallo,

    ich habe Motion installiert und gestartet – hat auch alles fehlerfrei geklappt! Ich erreiche nur den Port 8081 von den Netzwerkrechnern nicht.
    Den Port habe ich auch mal von 8081 auf 1111 geändert, ebenfalls nicht erreichbar.
    Auf die Config-Seite 8080 kann ich jedoch zugreifen!

    Ich weiß echt nicht mehr weiter!
    Anbei mal die Einstellungen auf der Config:

    LG Jörg

    webcam_port = 8081
    webcam_quality = 50
    webcam_motion = off
    webcam_maxrate = 1
    webcam_localhost = off
    webcam_limit = 0
    control_port = 8080
    control_localhost = off
    control_html_output = on

    1. Hallo Jörg,
      kann es sein das du Chrome benutzt? Versuche es mal bitte mit Mozilla Firefox. Chrome und IE machen beide Probleme, im Firefox hingegen klappt es.
      In der Config kann ich keine Fehler erkennen, meine Werte stimmen zu 90% mit deinen überein.

      Gruß
      Willy

      1. Hallo Willy,

        super vielen Dank! Chrome und IE waren auch genau die beiden Browser, die ich benutzt hatte. Mit nem Mozilla-basierten Browser klappt es einwandfrei!
        Vielleicht kannst du das ja in deine (sonst perfekte) Anleitung einfließen lassen, dass man mit IE und Chrome verzweifelt 😉

        LG Jörg
        P.S.: Meinen ersten Thread kannst auch löschen 😉

  4. Danke Willy,ist wirklich eine Super Anleitung.Habe eine Logitech C270 USB Kamera zusammen mit einem UMTS Stick in Betrieb und funktioniert einwandfrei.

    Möchte nun zusätzlich eine email mit sagen wir dem ersten oder dritten Bild versenden wenn ein Bewegung registriert wurde.So habe ich die Möglichkeit direkt über den Browser auf port 8081 zuzugreifen und mir die Situation live anzuschauen.

    Hättest Du da eine einfache Lösung parat? Das wäre super.

    Vielen herzlichen Dank für all die gut gemachten Tutorials.

    Grüße Stefan

  5. Hallo,

    ich erhalte bei Aufruf von „sudo motion start“ folgende Meldung:
    sudo motion start
    [0] Processing thread 0 – config file /etc/motion/motion.conf
    [0] Motion 3.2.12 Started
    [0] ffmpeg LIBAVCODEC_BUILD 3482368 LIBAVFORMAT_BUILD 3478785
    [0] Thread 1 is from /etc/motion/motion.conf
    [0] motion-httpd/3.2.12 running, accepting connections
    [0] motion-httpd: waiting for data on port TCP 8080
    [1] Thread 1 started
    [1] Failed to open video device /dev/video0: Is a directory
    [1] Could not fetch initial image from camera
    [1] Motion continues using width and height from config file(s)
    [1] Resizing pre_capture buffer to 1 items
    [1] Started stream webcam server in port 8081
    [1] Retrying until successful connection with camera
    [1] Failed to open video device /dev/video0: Is a directory
    [1] Retrying until successful connection with camera
    [1] Failed to open video device /dev/video0: Is a directory
    ^C[0] httpd – Finishing
    [0] httpd Closing
    [0] httpd thread exit
    [1] Thread exiting
    [0] Motion terminating

    Und nun?
    Danke für die Mühen!

    1. Hallo,
      dem Mitschnitt nach wird deine Webcam /dev/video0 nicht korrekt erkannt. Wie genau ist die Webcam angeschlossen? Direkt über den Raspberry Pi? Dann kann es nämlich sein, dass diese nicht genug Power bekommt. Versuche es dann bitte einmal mit einem USB-Hub, am besten einen Aktiven (mit eigener Stromversorgung).

      Gruß
      Willy

  6. Hallo

    Ich habe auch ein Problem mit Motion. Ich kann auf die webcam zugreifen bekomme auch ein Bild allerdings kommt nach einigen Minuten eine Fehlermeldung.
    „Failed to open video Device“

  7. Hallo

    gibt es eine Möglichkeit, die Erkennung von Motion an ein anderes System weiterzugeben (UDP oder ähnliches)?
    Bzw. wie kann ich eine E-Mail einrichten, damit ich die Sachen per Mail erhalte?

    Gruß

    1. Hallo Patrick,
      bitte entschuldige die späte Antwort.
      Motion selber bringt bereits solch eine Funktion mit. In der Konfigdatei sind ziemlich weit unten Einstellungen, die bei einem bestimmten Event einen Befehl/ein Skript ausführen. Die Einstellungen beginnen mit dem Präfix „on_“.

      Gruß
      Willy

  8. Hallo Willy,

    ich habe im Gegensatz zur Mehrheit interessanterweise genau das umgekehrte Problem: Per „motion start“ startet motion wie gewünscht, allerdings kehrt er bei Eingabe von „motion stop“ automatisch wieder in den Deamon-Mode zurück und läuft munter weiter.

    Entsprechende Fehlermeldung:
    [0] [NTC] [ALL] conf_load: Processing thread 0 – config file /etc/motion/motion.conf
    [0] [ALR] [ALL] conf_cmdparse: Unknown config option „sdl_threadnr“
    [0] [NTC] [ALL] motion_startup: Motion 3.2.12+git20140228 Started
    [0] [NTC] [ALL] motion_startup: Logging to syslog
    [0] [NTC] [ALL] motion_startup: Using log type (ALL) log level (NTC)
    [0] [NTC] [ALL] become_daemon: Motion going to daemon mode

    Deshalb habe ich dann mal versucht per „service motion stop“ zu stoppen, was auch zum gewünschten Resultat führte
    („Stopping motion detection daemon: motion“).
    Allerdings produzierte hier der umgekehrte Start-Befehl „service motion start“ einen Fehler, der mit einer Warnung quittiert wurde
    („Not starting motion daemon, disabled via /etc/default/motion“ -> Hat motion noch andere Pseudio-.config-Dateien als die Hauptdatei?)
    Okay, daraufhin die entsprechende Datei editiert und beide „service“-Befehle liefen.
    Langer Comment, kurzer Sinn: Könntest du mich vielleicht trotzdem aufklären, woran der ursprüngliche Fehler liegen könnte? Ich habe zugegebenermaßen noch nicht meine .config-Datei nach der entsprechenden Zeile „sdl_threadnr“ durchsucht, was der Grund für den Restart des Dienstes sein könnte. Aber vielleicht hast du ja auch noch schnell er eine gute Idee über einen grundlegenden Denkfehler, den ich irgendwo gemacht habe.

    Viele Grüße
    Claudio

    1. Hallo Claudio,
      entschuldige die späte Antwort, allerdings hab ich momentan Privat viel um die Ohren.
      Leider weiß ich bei dem Problem selber nicht wirklich weiter.
      Ich würde auf jeden Fall mal einen Blick in die Konfig-Datei werfen. Starte Motion außerdem mal mit ausreichend Berechtigungen: sudo motion start

      Gruß
      Willy

  9. Hallo Willy,

    ist es auch angedacht (möglich) einen externen Pi mit Motion nicht am Router aber am Fenster laufen zu lassen und diesen über das Plugin anzusprechen. Ähnliches gilt auch für ggf einen weiteren Pi im Netzwerk mithilfe einer zentralen Seite zu überwachen

    Gruß und Dank vorab
    Dominik

    1. Hallo Dominik,
      beide Funktionen sind bereits in Planung, allerdings ergibt sich mir leider nicht die nötige Zeit, diese umzusetzen.

      Gruß
      Willy

  10. Hallo WIlly,

    ich habe den Raspberry pi 3 und versuche gerade motion mit der original respberry Kamera zum laufen zu bringen. Bei mir kommt folgendes Problem:

    pi@raspberrypi:~ $ sudo motion start
    motion: error while loading shared libraries: libavformat.so.53: cannot open shared object file: No such file or directory

    hast du eine Idee?

    1. Hallo Timo,
      aktualisiere dein Raspian bitte mal auf den neusten Stand, sofern noch nicht gemacht: sudo apt-get update && sudo apt-get upgrade
      Ist die Kamera bereits in Raspi-Config aktiviert?

      Gruß
      Willy

  11. Hallo Willy und vielen Dank für die schnelle Antwort!

    Ja, ist leider bereits alles aktuell und die Kamera läßt sich auch mit raspistill ansprechen

    1. Hallo Timo,
      kannst du dich vergewissern, dass alle Bibliotheken vorhanden sind?
      sudo apt-get install -y ffmpeg libav-tools libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

      1. Hi, ich hänge mich einfach mal an die Antwort.
        Ich versuche jetzt seit ca 2 Wochen eine Lösung für ein graues Bild mit dem Hinweis : Unable to open video device.
        Das einzige was ich noch als Problem habe scheint dieses hier zu sein:
        Das passiert wenn ich versuche die Bibliotheken nachzuinstallieren. Hast du vielleicht eine idee?

        pi@raspberrypi:/dev $ sudo apt-get install -y ffmpeg libav-tools libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev
        Reading package lists… Done
        Building dependency tree
        Reading state information… Done
        Package libmysqlclient18 is not available, but is referred to by another package.
        This may mean that the package is missing, has been obsoleted, or
        is only available from another source

        Package libmysqlclient-dev is not available, but is referred to by another package.
        This may mean that the package is missing, has been obsoleted, or
        is only available from another source
        However the following packages replace it:
        mysql-server-5.5

        E: Unable to locate package libavformat53
        E: Unable to locate package libavcodec53
        E: Unable to locate package libavutil51
        E: Package ‚libmysqlclient18‘ has no installation candidate
        E: Package ‚libmysqlclient-dev‘ has no installation candidate

  12. Hallo Willy

    Leider finde ich keine Anleitung um auch von außen sprich nicht im eigenen Netzwerk auf den Pi zugreifen zu können. Würde gerne von jedem Rechner/Handy aus auf die Ip cam zugreifen. Local host ist richtig eingestellt und mein Internetanbieter unterstützt auch open Internet.

    Kannst du mir da bitte helfen.

    Danke

  13. Hallo

    Ich verfolge die Sache hier schon eine ganze Weile. Bin absoluter raspbian2 Neuling. Bis jetzt hab ich mein wissen durch lesen, versuch und irrtum erlernt. Bin nun soweit dass ich meinen rapberry per wlan an die fritzbox 7390 angebunden habe. Kann auch schon bilder mit iceweasel sehen und die aussenkamera steuern.Instar4009.
    Nun möchte ich den raspberry mit motion als überwachungssystem laufen lassen, damit nicht immer ein PC mit Windows laufen muss. Und nun mein problem.

    ICH BEKOMME DAS ZUM VERRECKEN NICHT HIN!!!!!

    Ich wäre für jede Hilfe dankbar. Wie gesagt bin debian oder raspberry neuling.
    Also fast vom urschleim an

  14. Hallo,
    ich benutze den raspi3 mit einer USB-Kamera. Läuft alles soweit. Problem ist, dass die Bilder nicht in das Verzeichnis geschrieben werden das in /etc/motion/motion.conf angegeben ist sondern in /home/pi. Das hat aber schon mal funktioniert. Auf eine gemountete USB-Platte wird auch nicht geschrieben. Zugriffsrechte?

    Kann mir jemand einen Hinweis geben?

    Grüße und danke

    1. Hallo dk2rv,
      bitte schaue mal im Benutzer-Log nach, ob sich dort Fehlermeldungen zu Motion finden lassen. Der Log ist unter /var/log/user.log zu finden.

      Gruß
      Willy

  15. Hallo Zusammen,
    Ich habe Motion ans laufen bekommen und bin echt beeindruckt.

    Ich hätte allerdings die Frage ob Motion auch einen MJPG Stream im Netzwerk zur Verfügung stellen kann??

    1. Hallo Carsten,
      meines Wissens nach, ist es mit Motion nicht direkt möglich. Allerdings finden sich auch zahlreiche andere Möglichkeiten im Internet, um ein Bild per MJPG-Stream zur Verfügung zu stellen.

      Gruß
      Willy

  16. Hallo Willi,

    ich habe wie bei dir beschrieben, „stream_localhost“ auf „off“ gestellt, aber wenn ich auf die IP:8080 gehe, wir mir gesagt, dass die Seite nicht erreichbar ist.

    Was könnte das sein?

    1. Hallo Jonas,
      den Port kannst du selber über die Konfigurationsdatei bestimmen. Standardmäßig sollte es aber 8080 sein.

      Gruß
      Willy

  17. Hallo Leute,
    ich habe zeit mehreren Tagen versucht die Zugriffsrechte für die gespeicherte Bilder auf der Server zu bekommen. Leider ohne Erfolg. Motion startet erstmals ganz normal, nun bei der ersten Bewegung stürzt es ab.
    In der motion.conf habe ich: „target_dir /home/pi/shares/motion“ eingetragen.
    Mit MC kann ich dort zugreifen Dateien löschen und schreiben. Alles o.k.
    Beim Absturz kann ich in der user.log nachlesen:
    motion_detected: Motion detected – starting event 1
    Mar 30 16:37:22 raspi3 motion: [1] [ERR] [ALL] myfopen: Error opening file /home/pi/shares/motion/01-20170330163722-03.jpg with mode w:
    Mar 30 16:37:22 raspi3 motion: [1] [ERR] [ALL] put_picture: Can’t write picture to file /home/pi/shares/motion/01-20170330163722-03.jpg – check access rights to target directory$
    Jetzt aber, wenn ich Motion mit: „sudo service motion start“ oder aber auch automatisch starten lasse, kommt es zum Absturz. Wenn ich aber mit: „sudo motion start“ starte, ist alles O.K. und Motion kann die Bilder auf das gemountete Verzeichnis schreiben.
    Bitte hilft mir beim automatischen Start die Zugriffsrechte zu bekommen. Ich bin echt mit meinem Leiein am Ende.
    Danke im Voraus
    Motionpi

  18. Hallo,

    Wieso findet er bei mir das „sudo apt-get install -y ffmpeg libav-tools libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev“ Paket nicht?

    Gruß

  19. Hallo in die runde,

    Wie kann ich einen Benutzernamen:Passwort für den Livestream setzen?
    Die richtige Zeile habe ich,aber welcher modus 1oder 2 und wo den Benutzer dann eintragen……irgendwie lüppt das nicht

  20. Hallo allerseits

    Mein Motion will und will nicht
    wie kann ich eine bestehnde Motion Installation löschen
    und danch neu installieren.
    habt ihr da ne Anleitung dazu???

    Grüsse aus der Schweiz

    Pascal

  21. Hallo Michael,

    ich nutze Motion seit über einem Jahr mit unterschiedlichen Raspis.
    An einem Raspi 3 hatte ich zwei USB-Kameras, die nach dem booten gelegentlich vertauscht werden (Motion 3).
    Mit Raspian Stretch und Motion 4.0 bekomme ich jetzt zweimal das Bild einer Kamera (mit entsprechend der Einstellung) unterschiedlichem Text.
    Da googeln bisher ohne Erfolg war, Frage an Dich, kannst Du mir da weiterhelfen?

    Gruß Gerhard

  22. Hallo,
    die Intallalation nach Anleitung hat super funktioniert.
    Erhalte aber in der Bildanzeige im Browser bzw. in der App immer ein graues Bild und die Meldung Unable to Open Video device since …
    ich nutze eine Standardkamera direkt an der Platine CSI Steckplatz …
    Der Befehl raspivid (für die einfache Videoaufnahme) funktioniert ganz normal …

    1. Daemon Mode anschalten
      sudo nano /etc/motion/motion.conf
      start_motion_daemon yes
      Den Service einschalten (übersteht den Reboot):
      sudo service motion start
      Den Service abschalten
      sudo service motion stop
      Status prüfen
      sudo service motion status

  23. Hallo liebe Kollegen,
    ich habe das Problem das mein PI einfach mit den Aufzeichnungen voll Müllt und dann nicht mehr startet. Der Stream läuft ca. 2-3 Stunden dann geht er aus weil PI voll ist. Ich habe leider noch nicht den Punkt gefunden wo er die Archiv Daten einfach verwirft. Gibt es möglicherweise eine Möglichkeit das speichern abzuschalten ?

    Grüße aus NRW

  24. Hi
    Habe ne frage in der configurationsdatei steht man kann ein User und Password hinzufügen
    habe es schon probiet aber nie geschafft kannst du mir helfen?

  25. Wahrscheinlich hast du in der motion.conf die Option „vl42_palette 8“ nicht gesetzt.
    Raspbian Stretch funktioniert mit dem Pi 3 und den Standardkameras einwandfrei, wenn die Config erstmal stimmt. Gruß, Tim.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert