Motion – webcam software

Motion is a V4L capture program supporting motion detection. Set it up to monitor security cameras, watch birds, check in on your pet, create time-lapse videos and more.

In other words, this software monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed.

Motion is a command line based tool. It has no graphical user interface. Everything is setup either via the command line or via configuration files.

Features include:

  • Use with the following devices:
    • V4l2 Webcams;
    • Video capture cards;
    • Network cameras via HTTP, RTSP and RTMP;
    • Static files via a v4l2 loopback device;
    • PI cameras.
  • Output from motion:
    • JPEG files;
    • PPM format files;
    • MPEG video sequences.
  • Access the webcam output from motion via a browser.
  • Taking snapshots of movement.
  • Watch multiple video devices at the same time.
  • Watch multiple inputs on one capture card at the same time.
  • Live streaming webcam (using multipart/x-mixed-replace).
  • Real time creation of mpeg movies using libraries from ffmpeg.
  • Take automated snapshots on regular intervals.
  • Take automated snapshots at irregular intervals using cron.
  • Executing external program when detecting movement.
  • Execute external program at the beginning of an event of several motion detections.
  • Execute external program at the end of an event of several motion detections.
  • Execute external program when a picture is saved.
  • Execute external program when a movie mpeg is created (opened).
  • Execute external program when a movie mpeg ends (closed).
  • Motion tracking.
  • Feed events to an MySQL or PostgreSQL database.
  • Feed video back to a video4linux loopback for real time viewing.
  • Web interface using Motion Related Projects such as motion.cgi, Kenneths Webcam Package, Kevins Webpage, X-Motion, and many more.
  • Has its own minimalistic web server.
  • User configurable and user defined on screen display.
  • Control via simple web interface.
  • Automatic noise and threshold control.
  • Ability to control the pan/tilt of a Logitech Sphere (or Orbit) camera.
  • Highly configurable display of text on images.
  • High configurable definition of path and file names of the stored images and films.

Website: motion-project.github.io
Support: Documentation, Mailing List, GitHub Code Repository
Developer: Mr-Dave (previously Kenneth Lavrsen) and many contributors
License: GNU GPL v2 or later

Motion is written in C. Learn C with our recommended free books and free tutorials.

Return to Webcam Tools Home Page


Make a Donation
Click the button to make a donation via flattr. Donations help us to maintain and improve the site. You can also donate via PayPal.


Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.