Motion capture with "Motion" on file .mp4 with mask
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.
[I have an OpenSUSE Linux machine]
Comments
-
Have you also asked OpenSUSE Forums? https://forums.opensuse.org/
0 -
Hello arochester.
Thanks for the advice.
For now I haven't asked anything in the OpenSUSE forum yet.
From a quick search it appears that no one has ever talked about Motion in the OpenSUSE forum, so I assumed that there is less chance of getting answers about using such software than there are likely to be answers here.
I would have turned to the OpenSUSE forum if the program had not worked, but since it works, the information that is useful to me is only operational, so I think one forum is as good as another, as long as there are those who have already taken care of it.
If I still can't solve it here, I could easily try it in other forums as well.
I think there is also a Motion forum, but from what I've seen it's a bit too technical for such a basic question as mine, and it's more focused on Motion's primary function, which is live streaming monitoring.
But eventually I will also try to ask for help there.
Apart, of course, the Motion forum, from my research, this is the only forum where the topic has been dealt with in the past, no other forum has talked about it.
I don't know if my research was thorough enough.
By.0 -
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 filemotion.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 likecat 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 onecat 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.
0 -
renedrive
To find out when Motion finished processing a video file for motion detection, 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.Assuming you run motion detection on a folder with multiple consecutive video files taken by the same security camera, can someone post a script sample on how to automate the processing, i.e. substitute the next file name to process with Motion upon reaching "End of file" for current file processing until all files in the folder are processed?
Also, to log file names with found motion into a separate log file one file name per line?
0 -
renedrive
Did you try to process a large files set faster by changing existing videos framerate in motion.conf as mentioned in the Motion Guide for static videos motion analysis? How long did it take to analyze one MP4 1080p 1min long video with Motion at original video framerate?
0 -
Unfortunately sambul29 I'm not a script guy.
Surely automatically processing all the files in a folder would have been useful to me but I have no idea how to do it, surely for those who know the script language it won't be difficult, but I don't have the knowledge.
Maybe with the help of an AI we could do it.
At the moment the task for which I needed the video analysis is no longer useful to me but if I still need to process videos to recognize movement maybe I'll try with an AI to create a script, you never know.
Regarding the issue of processing speed.
I also read, from the original documentation, that the processing speed can change if the frame rate at which the file is examined changes.
However, I didn't try because I needed maximum accuracy and I didn't have time problems because the analysis was done on a secondary machine.
The analysis, set to the original frame rate of the video, takes more or less the time it would take to display it at the standard speed, so more or less 1 minute for every minute of video, just a little less.
I'm sorry I couldn't be of much help to you.0 -
Thanks for the update. I found a Motion package fork by tosiara, who posted a Wiki with script examples on running motion detection on a folder with video files at 10x frame rate for much faster processing. Will try shortly, hope it works with default Motion install too. I may have to build own ffmpeg version following the above project's Wiki examples, if default Motion release can't recognize my Cam HEVC video format.
0 -
Good to know.
Thanks for the heads up.
It's definitely worth a try...sooner or later... ;-)0
Categories
- All Categories
- 167 LFX Mentorship
- 219 LFX Mentorship: Linux Kernel
- 801 Linux Foundation IT Professional Programs
- 358 Cloud Engineer IT Professional Program
- 180 Advanced Cloud Engineer IT Professional Program
- 83 DevOps Engineer IT Professional Program
- 149 Cloud Native Developer IT Professional Program
- 112 Express Training Courses
- 138 Express Courses - Discussion Forum
- 6.2K Training Courses
- 48 LFC110 Class Forum - Discontinued
- 17 LFC131 Class Forum
- 42 LFD102 Class Forum
- 227 LFD103 Class Forum
- 19 LFD110 Class Forum
- 39 LFD121 Class Forum
- 15 LFD133 Class Forum
- 7 LFD134 Class Forum
- 17 LFD137 Class Forum
- 63 LFD201 Class Forum
- 3 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 1 LFD233 Class Forum
- 2 LFD237 Class Forum
- 23 LFD254 Class Forum
- 697 LFD259 Class Forum
- 109 LFD272 Class Forum
- 3 LFD272-JP クラス フォーラム
- 10 LFD273 Class Forum
- 154 LFS101 Class Forum
- 1 LFS111 Class Forum
- 1 LFS112 Class Forum
- 1 LFS116 Class Forum
- 1 LFS118 Class Forum
- LFS120 Class Forum
- 7 LFS142 Class Forum
- 7 LFS144 Class Forum
- 3 LFS145 Class Forum
- 1 LFS146 Class Forum
- 3 LFS147 Class Forum
- 1 LFS148 Class Forum
- 15 LFS151 Class Forum
- 1 LFS157 Class Forum
- 34 LFS158 Class Forum
- 8 LFS162 Class Forum
- 1 LFS166 Class Forum
- 1 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 1 LFS178 Class Forum
- 1 LFS180 Class Forum
- 1 LFS182 Class Forum
- 1 LFS183 Class Forum
- 29 LFS200 Class Forum
- 736 LFS201 Class Forum - Discontinued
- 2 LFS201-JP クラス フォーラム
- 14 LFS203 Class Forum
- 135 LFS207 Class Forum
- 1 LFS207-DE-Klassenforum
- 1 LFS207-JP クラス フォーラム
- 301 LFS211 Class Forum
- 55 LFS216 Class Forum
- 48 LFS241 Class Forum
- 48 LFS242 Class Forum
- 37 LFS243 Class Forum
- 15 LFS244 Class Forum
- LFS245 Class Forum
- LFS246 Class Forum
- 50 LFS250 Class Forum
- 1 LFS250-JP クラス フォーラム
- LFS251 Class Forum
- 155 LFS253 Class Forum
- LFS254 Class Forum
- LFS255 Class Forum
- 5 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.3K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 122 LFS260 Class Forum
- 159 LFS261 Class Forum
- 42 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 20 LFS267 Class Forum
- 25 LFS268 Class Forum
- 31 LFS269 Class Forum
- 3 LFS270 Class Forum
- 199 LFS272 Class Forum
- 1 LFS272-JP クラス フォーラム
- LFS274 Class Forum
- 3 LFS281 Class Forum
- 10 LFW111 Class Forum
- 261 LFW211 Class Forum
- 182 LFW212 Class Forum
- 15 SKF100 Class Forum
- 1 SKF200 Class Forum
- 1 SKF201 Class Forum
- 782 Hardware
- 198 Drivers
- 68 I/O Devices
- 37 Monitors
- 96 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 83 Storage
- 758 Linux Distributions
- 80 Debian
- 67 Fedora
- 15 Linux Mint
- 13 Mageia
- 23 openSUSE
- 143 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 348 Ubuntu
- 461 Linux System Administration
- 39 Cloud Computing
- 70 Command Line/Scripting
- Github systems admin projects
- 90 Linux Security
- 77 Network Management
- 101 System Management
- 46 Web Management
- 64 Mobile Computing
- 17 Android
- 34 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 371 Off Topic
- 114 Introductions
- 174 Small Talk
- 19 Study Material
- 806 Programming and Development
- 304 Kernel Development
- 204 Software Development
- 1.8K Software
- 263 Applications
- 180 Command Line
- 3 Compiling/Installing
- 405 Games
- 309 Installation
- 97 All In Program
- 97 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)