I am looking for a command-line-ready tool that will work on Linux which will be able to give me a value (or small set of values) which represent the amount of motion present in a given video file.

For example a 1 minute video of an empty room might come back with 0 (or close to it). A tripod shot of a person speaking might come back with 50. And a hand held-shot where the videographer is frantically swinging the camera around might come back with 100.

The ultimate goal of this would be to easily identify the segments of footage from a wall-mounted security camera where people, cars, or animals appear.

I would be willing to entertain writing my own script in python if the principles used are simple enough.

Any thoughts would be helpful.

  • You might look at what motion does with regard to detecting ... motion... in a webcam feed or similar. – ivanivan Jul 2 '18 at 22:32

1.VLC has a motion detection filter that you can try by accessing: Tools -> Effects and Filters -> Video Effects -> Advanced -> Motion Detect.

Check this out for CLI tools.

2.DVR-Scan is a cross-platform command-line (CLI) application that automatically detects motion events in video files (e.g. security camera footage). It's open-source, written in Python, and based on Numpy and OpenCV.


  • 1
    DVR-Scan looks like exactly what I am looking for. Thanks – WillD Jul 3 '18 at 13:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.