我负责维护将实时网络摄像头源流式传输到远程中继服务器的设备,同时将该版本的流写入本地磁盘。它通过一个具有两个输出的ffmpeg实例来实现这一点 - 一个到本地磁盘,一个在rtsp到流服务器
我遇到了一个问题,如果流媒体服务器出于任何原因而断开连接,ffmpeg退出。如果现场直播丢失,我并不感到烦恼,但是本地录音丢失也是一个大问题 - 如果无法观看,这对特定的业务流程并不是一个巨大的损害直播,但丢失本地存储的副本是一场灾难
ffmpeg以类似于:
的命令行启动ffmpeg -thread_queue_size 4096 -async 1 -f v4l2
-input_format mjpeg -framerate 30 -video_size 1280x720
-i /dev/video0 -thread_queue_size 4096 -async 1 -f alsa
-i plughw:CARD=Set,DEV=0 -r 30 -c:a aac -b:a 96k -c:v h264 -b:v 983040
-profile:v baseline -preset veryfast -pix_fmt yuv420p
-f tee -map 0:v -map 1:a
[f=matroska]'/var/recordings/yyyy-mm-dd/backup.mkv'|
[f=rtsp:rtsp_transport=tcp]rtsp://streamingserver.com:1234/session.sdp`
有没有办法(命令行开关等),如果输出流丢失而不是退出,可以使ffmpeg继续进行?