我在 Linux 上使用 ffmpeg 录制来自 cctv dvr 的 rtsp 流。有时录制会悄无声息地停止,而 ffmpeg 会继续运行,我能检测到这种情况的唯一方法是输出文件大小没有增加,并且如果指定了进度文件,则也会停止写入。
我可以通过从运行 ffmpeg 的 PC 删除到 dvr 的路由来重现这种情况。
我已经阅读了几种设置超时的方法,但似乎都没有达到预期的效果——例如,根据我的经验,最有希望的“stimeout”在 rtsp 中完全被忽略,而且我看到有人写到这不适用于 rtsp。
所以我想知道是否有其他人找到了一个选项,可以在录制 rtsp 时设置所需的行为 - 理想情况下,如果 n 秒内没有收到任何数据,我希望它退出。我一直在尝试各种方法来从外部检测它(比如监控文件大小的增加),但它并不是 100% 可靠和快速地在所有条件下检测问题 - 如果可能的话,让 ffmpeg 指示数据本身的丢失会更好。