检测视频文件是否包含运动

Joe*_*l L 5 linux video opencv motion-detection

我有一堆来自网络摄像头的视频剪辑(持续时间为 5、10、60 秒),我正在寻找一种方法来检测“该视频剪辑是否有移动”,以决定是否应保存或丢弃该文件在未来的处理阶段。

我研究过MotionOpenCV,但 Motion 似乎只想在原始视频流上工作,而 OpenCV 对于我的使用来说似乎太先进了。

我理想的解决方案是一个 Linux 命令行工具,我可以将视频文件输入其中,并得到一个简单的“是否/不包含移动”答案,这样我就可以丢弃不相关的文件。误报(合理数量)对于我的使用来说是完全可以接受的。

存在这样的工具吗?或者有任何使用其他工具执行此操作的简单示例吗?

小智 6

您可以检查dvr-scan,这是一个基于 OpenCV 的简单跨平台命令行工具。

仅以 csv 格式列出运动事件(仅扫描):

dvr-scan -i some_video.mp4 -so
Run Code Online (Sandbox Code Playgroud)

要提取单个视频中的运动:

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

有关更多示例和各种其他参数,请参阅: https://dvr-scan.readthedocs.io/en/latest/guide/examples/


Kor*_*nel 2

如果您想对已捕获的视频进行后期处理,那么运动可能会很有用。

VLC 允许您流式传输或转换媒体以在本地、专用网络或 Internet 上使用。因此,已经捕获的视频可以通过 HTTP、RTSP 等进行流式传输,并且Motion可以将其作为网络摄像机进行处理。

此外: 如何使用 VLC 媒体播放器进行流式传输