ffmpeg 无法正确分割文件

ffmpeg 无法正确分割文件

我不确定这里是否是发布此文的正确地方,但我还是想发布一下。

我使用 ffmpeg(ubuntu v3.2.7)使用此命令从 rstp 摄像头录制实时流。

ffmpeg -stimeout 600 -rtsp_transport udp -i rtsp://192.168.2.183/unicast -c copy -map 0 -f segment -segment_time 3600 -segment_wrap 100 -segment_format mov -reset_timestamps 1 -strftime 1 "/mnt/CCTV/XiaoFang/Bedroom/Capture-%Y-m-%d_%H-%M.mp4"

一切都很顺利,直到有一天它会像这样连续录制同一个文件错误

知道为什么会发生这种情况吗?或者有什么解决方法?

如果我尝试播放该视频,它只会播放前几个小时和后几个小时。


编辑:

#!/bin/sh
while [ 1 ] ; do

ffmpeg -stimeout 600 -rtsp_transport udp -i rtsp://192.168.2.183/unicast -c copy -map 0 -f segment -segment_time 5 -segment_wrap 100 -segment_format mov -reset_timestamps 1 -strftime 1 "/mnt/CCTV/XiaoFang/Bedroom/Capture-%Y-m-%d_%H-%M-%S.mp4"

if [ -e "abort" ] ; then

    rm "abort"

    break

fi

done

EDIT2:不幸的是,这有时仍会使文件变大。仍在尝试寻找解决方法。

答案1

您可以尝试以下解决方法:

#!/bin/sh

while [ 1 ] ; do
    ffmpeg ... (only record for one hour)
done

每个文件的长度仅为一小时。在命令之后,您可以选择输入此代码以在当前迭代完成ffmpeg后停止录制:ffmpeg

if [ -e "abort" ] ; then
    rm "abort"
    break
fi

相关内容