Ffmpeg – 不一致的文件段保存

Ffmpeg – 不一致的文件段保存

我一直在运行一个安全摄像头,并使用 ffmpeg 每天 24 小时以一分钟的片段保存连续的视频/音频。不幸的是,我发现在晚上,ffmpeg 会停止保存一分钟的片段,并开始在黑暗期间保存两分钟的片段。早上,当光线水平增加到一定水平时,ffmpeg 再次开始以一分钟的片段保存。这种情况已经持续了好几天,所以不是一次性事件,这会产生一个问题,因为在两分钟的文件中,前一分钟的视频很好,但在那一分钟结束时,视频会冻结。结果是你观看了一分钟的视频,然后你在接下来的一分钟里看到第一分钟视频的最后一帧。最后,你只能记录摄像头每隔一分钟看到的内容,

经过一番调查,我发现这个问题需要两个条件才能触发从一分钟保存到两分钟保存的变化。环境光量必须低于某个点,并且红外照明必须处于活动状态。如果红外照明关闭,无论光线多么暗,保存时间仍然只有一分钟。如果光线充足,红外照明是否处于活动状态也没关系。保存时间仍为一分钟。这需要两个条件。

有人知道发生了什么事,以及如何通过一分钟的视频来避免出现两分钟的片段吗?

我目前使用的命令行如下。

ffmpeg -rtsp_transport tcp -reorder_queue_size 8000 -vsync drop -i rtsp://192.168.10.203:554/11 -map 0 -r 30 -vcodec copy -acodec copy -f segment -segment_time 60 -reset_timestamps 1 -strftime 1 "/path/%d-%m-%Y__%H_%M_test.avi"

答案1

还是老一套。如果你不能做得好,那就坚持下去。万一其他人遇到类似的问题,在尝试了很多方法之后,这个方法对我有用。我不确定是否需要所有参数,但一旦它起作用,我就不再修改命令了。俗话说,“如果没有坏,就不要修理”。YMMV。

ffmpeg -rtsp_transport tcp -reorder_queue_size 8000 -vsync 1 -i rtsp://192.168.10.203:554/11 -map 0 -r 30 -vcodec copy -acodec copy -f segment -segment_time 60 -reset_timestamps 1 -strftime 1 "/path/%d-%m-%Y__%H_%M_test.avi"

相关内容