我有一个运行 Linux(busybox 1.32.0)的安全摄像头,我可以将其设置为在文件夹结构中以(可配置的)30 秒块连续录制视频:
recording/2022/04/26/15/2022-04-26-15-30-00.mp4
在另一个文件夹中,仅在检测到运动时才会记录静态图像:
stills/2022/04/26/15/2022-04-26-15-30-05.jpg
这是我为在检测到运动之前获取视频而设计的一种解决方法。
由于可用空间有限,我想删除任何在运动前 60 秒和运动后 120 秒以上开始的视频,以便为每个静止图像保留一些前后视频。
静止图像可能每 5 秒出现一次,因为它们基于运动触发而不是预定义的间隔。
当然,对于一个单一的图像,运行“查找”和适当的选项是一个问题,但是我更复杂的用例呢?
我想了一些可能的方法,但我不确定如何进行。
我考虑过每天运行一个脚本,列出前一天的元素(录音和静止图像),将文件名转换为每个元素的时间戳,然后迭代地将时间戳与静止图像的时间戳进行比较。
这将涉及 4 个列表(文件名、时间戳、录音和剧照),并且在我看来非常参与(可能是因为我不熟悉 shell 脚本),那么有没有更简单的方法呢?
涉及 python 或 perl 的解决方案需要为平台编译它,并且可能会给 CPU 带来过高的负载,更不用说设备上的可用空间已经有限,并且 samba 4.x 可执行文件已经无法适应。
可用的工具是busybox 的一部分以及项目网站中列出的二进制文件。