将 MJPEG 流式传输到文件,但只保留最后 x 分钟
Stream MJPEG to file, but keep only last x minutes
我想在检测到运动时录制 MJPEG 流。但是我的运动检测通知比运动发生晚了几秒钟。
为了解决这个问题,我想一直记录,但只保留最后2分钟的镜头。
现在我正在使用 cURL 无限下载,但我一直在思考如何将它 trim 文件的前面正确设置为 2 分钟。
从 FFmpeg.
查看 segment muxer
使用 分段复用器 可以捕获流并将其写入多个单独的文件。
您可能感兴趣的选项是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
解决您问题的唯一方法。
我想在检测到运动时录制 MJPEG 流。但是我的运动检测通知比运动发生晚了几秒钟。
为了解决这个问题,我想一直记录,但只保留最后2分钟的镜头。
现在我正在使用 cURL 无限下载,但我一直在思考如何将它 trim 文件的前面正确设置为 2 分钟。
从 FFmpeg.
查看 segment muxer使用 分段复用器 可以捕获流并将其写入多个单独的文件。
您可能感兴趣的选项是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
解决您问题的唯一方法。