我正在寻找在检测到运动时记录 MJPEG 流。但是我的运动检测通知比运动发生晚了几秒钟。
为了解决这个问题,我想一直录制,但只保留最后 2 分钟的镜头。
现在我正在使用 cURL 无限下载,但我被困在如何让它正确地将文件的前面修剪为 2 分钟。
最佳答案
查看来自 FFmpeg 的段复用器。
使用段复用器可以捕获流并将其写入多个单独的文件。
您可能感兴趣的选项是 segment_wrap
.
从文档中:
segment_wrap limit
Wrap around segment index once it reaches limit.
所以你可以使用
ffmpeg
这样:ffmpeg -i URL -c copy -f segment -segment_time 120 -segment_wrap 2 out_file
循环写入两个文件。
每个文件的持续时间等于两分钟,并且在每一刻你至少有最后两分钟的视频。
当然我知道这个解决方案很糟糕,但它是解决您的问题的唯一方法
ffmpeg
我可以提供。
关于curl - 将 MJPEG 流式传输到文件,但仅保留最后 x 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34473257/