I’ve read that the Motion program can process video files looking for motion.
I know he can do this by using masks that define precise areas to look at or ignore.
However, I absolutely cannot find an explanation of how to perform this operation on pre-existing .mp4 files, taken from security cameras.
What exactly I have to make Motion do is analyze existing files in .mp4 format, use a mask to select a precise area to be analyzed, in order to avoid movement of branches and leaves in the wind in other areas, and therefore produce video clips that contain movement as a result, also capturing 3 seconds before and 3 seconds after moving action in that area.
I know how to create the mask and configure it in the config file.
I know how to set the seconds before and after the motion detected in the config file.
I know how to set the output video format, quality, and save location in the configuration file.
But what I can’t do is invoke Motion and command it to use my .mp4 file as input instead of starting waiting for a live stream from an active camera.
Motion always starts using a video stream from the camera, I can’t get it to analyze the file.
I haven’t found a precise tutorial on how to do this on the web.
I don’t know if to specify the processing on an existing file you have to do it from the configuration file or from the command line with precise syntax.
Anyone have any idea how this question can be resolved?
Thanks in advance for your cooperation, bye.
Hi
Looking at the documentation, seems that maybe locate_motion_mode needs to be turned on? See https://motion-project.github.io/motion_config.html#locate_motion_mode
Maybe https://github.com/Breakthrough/DVR-Scan may be better for your requirements?
Hello everybody.
I solved the matter on my own by reading Motion’s online documentation more carefully.
I don’t know how the information escaped me the previous times.
In the Motion Online documentation, which can be found at this address
https://motion-project.github.io/motion_guide.html
selecting the item “Configuration”
there is a paragraph called “Static files” which contains just the information I was looking for.
This section highlights two different methods for processing an existing video file.
One a method of reading the file directly, the other using a streaming system with a v4l2loopback device
Both are activated by modifying and customizing the configuration file
motion.conf
You can modify the configuration file present as default when Motion is installed or use your own copy, specifying its use from the command line when activating Motion.
In the direct processing mode of the video file, the processing is cyclical, ie Motion when it reaches the end of the file restarts in loop from the beginning.
To find out when it finished processing I used a simple grep on the log file, something like
cat motion-log.txt | grep "End of file"
The file name and path of the log file can also be specified when Motion is activated.
Since the processing of the file is cyclic, to notice if the saved motion events are repeated, i.e. if Motion has restarted from the beginning of the file and recognized the same motion scenes again, I use a grep on the log similar to this one
cat motion-log.txt | grep "End of event"
I then compare the timing to know if the events are before or after the moment the processing reached the end of the file for the first time
Maybe a bit cumbersome but I don’t think there is any other way, I don’t know.
But it works well for me.
Since I had not found other explanations I hope it will also be useful to someone else. :good:
Thank you for your reply.
As you saw from my last comment I was able to solve.
For the use of DVR-Scan, I tried, some time ago, but I couldn’t get it to work.
It is not found in the repositories, I had tried the .deb file converted to .rpm with alien, but it didn’t work.
I haven’t tried to recompile everything, I don’t know if I would be able to.
Of course it would perhaps be easier to use, less cumbersome, but as long as it doesn’t work …
Maybe I’ll try again in the future.
Thanks anyway.