Does anyone know of any good, reasonably fast software to scan through a load of video files. Hours/weeks of footage to sift out any motion detected reasonably quickly. Preferably with a GUI.

I have tried a few, and DVR-SCAN seems to do a decent job, but it’s very slow, and without the GUI, I need to manually open every video file that it has saved (taking up a ton of space) to see if they have what i am looking for.

Ideally free software, as I am broke. But if there are good recommended paid options I will happily consider them, My head is close to exploding digging through these. I am using Linux Mint, but will happily use any distro that may help me better. Hopefully this post it allowed here, if not could someone please point me in the right direction. Thanks.

  • doodoo_wizard@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    2 days ago

    Hey, someone already gave you the right answer, which is ffmpeg.

    I handle dozens of cameras and their video. I may be able to help you set your expectations appropriately.

    You do not need a gui. You would not feel more comfortable with a gui. There are so many options, methods and process available just within the ffmpeg package that you would be overwhelmed.

    “Reasonably fast” to me is seven times faster than the source material. That means it would take ffmpeg a day to go through a weeks worth of footage and dump out the parts with motion. That takes a very fast computer with lots of ram.

    Consider locating some footage with a few different sections of motion, feeding it into ffmpeg and making sure you get the output you want (files appropriately sized, time stamped, etc) then calculating how long it would take to do all your footage that way.

    Not only will working with a smaller, “known” section help you figure out how to do it and get it right, it will help you figure out if you need to rent time on a server or something to get the whole job done faster.

    E: I am trying to get you to do a test section in order to find out how fast your system will perform. Different factors like media speed, ram size, hardware acceleration and system load will have a significant impact.

    • solrize@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      I have to wonder if there’s a faster way than literally decoding the video and analyzing the decoded frames, if that’s how you’re doing it with ffmpeg. Video compression revolves around motion estimation so maybe it’s possible to just scan the file and find frames where the motion vectors (the data saying how the stuff in the picture is changing at a given frame) suddenly get larger. I assume this is for something like a security video that usually shows a static picture, and OP wants to flag when someone enters the room. In that case there will be almost no motion most of the time, and suddenly there will be some.

      • doodoo_wizard@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        2 days ago

        Not to get too awful off topic, but you can do that and it doesn’t work good.

        There are two problems with what you’re suggesting being fast: the first is that there are elements of motion or color change in the video that you don’t wanna trigger on, like the shadows of leaves blowing in the wind or the colors slowly getting orange because the sun is setting and afaik there’s not a good method to figure out if the change in bitrate you’re catching is because an imperceptible swarm of gnats moved under a street lamp and caused the sidewalk underneath to move exactly one bit down the chroma scale or because a man in a trenchcoat stepped out from behind the pole that lamp is mounted on. The second is that the video is already compressed so you gotta uncompress it to figure out what is on the frame to then figure out if the change from that frame to the next is enough to call “motion” and start flagging.

        It’s one of the reasons why you super want to be working with raw or minimally compressed video when you’re editing something because simple things are much harder from a computation perspective.

        E: the script to use ffmpeg another person posted checks every few seconds so it doesn’t actually crunch through all the frames, so sort and path finding techniques like that can be used to make it faster.

        • solrize@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 days ago

          So find the places where the bitrate changes and decode and analyze those frames. Outdoors, true, leaves blow around, there is wildlife etc. A harder problem. I was thinking more of an indoor security camera. As for examining the bit rate, I guess it depends on the encoding, but e.g. in .mp4 there is a “key frame” every so often and then a bunch of delta frames, and if stuff is changing too fast iirc the key frames become more frequent. But I believe there is a fast way to scan for them, that is needed for fast forwarding in video.

    • Babalugats@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      Thanks, I will look at it. If I am being honest I didn’t expect answers so quickly as I have looked before but didn’t get any great results. I am away for a week so will have to look when I get back. Thank again.