ffmpeg:实时将 rtsp 流记录到磁盘,并在 rtsp 超时时放置黑帧

ffmpeg:实时将 rtsp 流记录到磁盘,并在 rtsp 超时时放置黑帧

我需要实时将 rtsp 视频流录制到磁盘。这可以很好地与类似这样的方法配合使用(tcp 而不是 udp):

ffmpeg -i rtsp://@stream -acodec copy -vcodec copy -movflags frag_keyframe+empty_moov -f mp4 test.mp4

源流由 matrox HDX 卡完成,该卡从 SDi 电缆获取视频和音频。

遗憾的是,流媒体并不是 100% 可靠(我怀疑是网络连接问题,而不是 matrox HDX 的问题),有时会超时。但对我来说,所有“时间戳”都完好无损是至关重要的。这意味着当我 20 秒内没有收到数据时,我希望 ffmpeg 写入 20 秒的黑色视频,音频为 0。现在它只是停止录制并显示“连接超时”。

rtsp://@stream: Connection timed out

使用 ffmpeg 可以实现吗?有人实现过吗?如果没有,还有其他可行的解决方案吗?

相关内容