如何在长而乏味的视频中检测运动?

Mar*_*arc 22 video software-recommendation

我需要一种方法来扫描数小时的录制视频(mp4、mov、avi,没关系,我可以解决这个问题)以搜索运动。这些视频包含许多、许多小时的沉闷自然场景,如鸟巢或喂食地点,在这些场景中,很少发生长时间的活动,偶尔会出现父母更换、喂食等短时间动作。

我不能使用 cctv 监控程序,因为那些监控实时流并且只在有动作时记录。这些视频是在远离网络的地方录制的,任何形式的互联网连接都是遥不可及的梦想。

我看过 Zoneminder 和 Motion,但它们不允许我将输入从实时源切换到文件。理想情况下,我希望它的扫描速度比实时快得多。

有任何想法吗?

小智 13

DVR-扫描

DVR-Scan 是一种跨平台命令行 (CLI) 应用程序,可自动检测视频文件(例如安全摄像机镜头)中的运动事件。除了定位每个运动事件的时间和持续时间之外,DVR-Scan 还将每个运动事件的镜头保存到一个新的、单独的视频剪辑中。DVR-Scan 不仅是用 Python 编写的免费开源软件 (FOSS),而且基于 Numpy 和 OpenCV,它被构建为可扩展和可破解的。

用法:

dvr-scan -i some_video.mp4 -o some_video_motion_only.avi
Run Code Online (Sandbox Code Playgroud)

  • 效果很好,但也很慢。使用四核 i5-7400 分析 1 小时的视频大约需要 20 分钟。这在台式计算机中可能没问题,但在低资源服务器(如 Raspberry Pi)中,分析可能比实际视频花费更多时间。 (2认同)
  • @jesjimher,尝试新的 CNT 选项。还可以尝试使用缩放和跳过选项来减少数据。 (2认同)

Luí*_*usa 12

VLC

VLC 有一个运动检测过滤器,您可以通过访问来尝试:Tools -> Effects and Filters -> Video Effects -> Advanced -> Motion Detect

截屏

您可能有更多可用的调整,可以带有--video-filter=motiondetect标志的命令行运行它;看看这个例子

  • 这通过叠加白色框来突出显示视频中的变化。这可能会有所帮助,但您仍然需要观看视频。 (4认同)
  • 对于那些找不到此设置的人,我在 Mac 上使用的是 3.0.16 Vetinari 版本,我在“窗口”->“视频效果...”->“颜色”->“运动检测”下找到了该设置 (2认同)