Hello! There is a camera that looks at the entrance to work. Sometimes I need to see who comes to work and when. To do this, I watch 4 hours of video at an accelerated pace. I decided that it would be easier if the video player itself finds motion and pauses the video or something else, but I cannot find anything like it! Whether prompt there is such software?

  • Yes, there is such a thing, for example, in the firmwares of the IP cameras for surveillance, which record on the server, only if the camera captures motion - Igor Lavrynenko
  • I am not comfortable in a video camera! And I rarely do this! I happen to download 4 hours on a USB flash drive and review at home! I would be in the finished video! - Alexander Rublev

1 answer 1

I can offer an old school version. If you are friends with AVISynth, then there are tools in it that can help you. For example, you can analyze a video file and save to JPEG those frames where there are serious changes in the picture: the house with the mp3 file saves JPEG files.

global avdir="F:\VideoSoft\AVS_Plugins\" #Ρƒ вас ΠΏΠ°ΠΏΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ LoadPlugin(avdir + "ffms-2.17\ffms2.dll") Import(avdir + "ffms-2.17\FFMS2.avsi") filename="camera.mp4" # Имя вашСго MP4 Ρ„Π°ΠΉΠ»Π° path="ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ \" # Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ MP4 Ρ„Π°ΠΉΠ»Ρƒ imageprefix="prefix_" # прСфикс Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° JPG ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Global Luma_Tolerance=15 # Допуск отличия яркости ΠΊΠ°Π΄Ρ€Π° ΠΎΡ‚ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ #Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для рСгистрации ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Global YDiff_Tolerance=10 # Допуск отличия яркости ΠΊΠ°Π΄Ρ€Π° ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ #Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для рСгистрации быстрых ΠΈ срСдних ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ FFmpegSource2(path+filename) ConvertToYV12() #Trim(180, 580) #Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для настройки допусков, подставив Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠ°Π΄Ρ€ΠΎΠ² с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Global AVG_Lum=0 FR=FrameRate # МоТно ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈ врСмя ScriptClip("""subtitle(string(current_frame)+"f" \ +" "+string(int(current_frame/(FR*3600))) \ +"h "+string(int(current_frame/(FR*60))-60*int(current_frame/(FR*3600))) \ +"m "+string(int(current_frame/FR)-60*int(current_frame/(FR*60)))+"s") \ """) ScriptClip(""" Global AVG_Lum=(current_frame==0) ? AverageLuma : AVG_Lum Test=((Abs(AverageLuma-AVG_Lum))>Luma_Tolerance || YDifferenceFromPrevious>YDiff_Tolerance) ? True : False Global AVG_Lum=(Test) ? AverageLuma : AVG_Lum Test ? ConvertToRGB24(). \ ImageWriter(path+imageprefix,current_frame, current_frame, "jpg",false).ConvertToYV12() : last """) 

Your actions:
1. install plugin paths
2. designate the name of the mp3 file and the path to its location.
3. Set the tolerances YDiff_Tolerance and Luma_Tolerance - then you have to play, it all depends on the camera that was shooting.

YDiff_Tolerance - the most important is the difference in brightness of the current frame from the previous one.
Luma_Tolerance - auxiliary, they are set to distinguish the current frame from the last saved (or from the first, if nothing has been saved). For example, if there is a slow motion, then the differences between adjacent frames are small, but after a certain number of frames it accumulates, then Luma_Tolerance will trigger and the frame will be saved to disk. If you put 255, then this option will be disabled.
You can open this script from any application that runs AVISynth, for example, from the good old VirtualDub.