How can I detect motion in a long, mostly dull video?

I need a way to scan through hours and hours of recorded video (mp4, mov, avi, doesn't matter, I can fix that) to search for motion. The videos consist of many, many hours of dull nature scenes like bird nests or a feeding site where very little happens for long stretches punctuated by short bursts of action like parents switching, feeding, etc.

I can't use a cctv monitoring program because those monitor a live stream and only record when there's action. These videos are recorded way off the grid where any form of internet connection is a distant dream.

I've looked at Zoneminder and Motion, but these don't allow me to switch the input from a live feed to a file. Ideally, I'd like it to scan a whole lot faster than real-time.

Any ideas?

5

2 Answers

DVR-Scan

DVR-Scan is a cross-platform command-line (CLI) application that automatically detects motion events in video files (e.g. security camera footage). In addition to locating both the time and duration of each motion event, DVR-Scan will save the footage of each motion event to a new, separate video clip. Not only is DVR-Scan free and open-source software (FOSS), written in Python, and based on Numpy and OpenCV, it was built to be extendable and hackable.

Usage:

dvr-scan -i some_video.mp4 -o some_video_motion_only.avi
2

VLC

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

screenshot

You might have more tweaks available running it from the command line with the --video-filter=motiondetect flag; check out this example.

4

You Might Also Like