我每1秒从一个摄像头RTMP流抓取缩略图到JPG文件。这是我的命令行:
ffmpeg -i rtsp://192.168.1.89:554/11 -f image2 -r 1 thumb%03d.jpg如果输入RTMP流在给定的超时期间丢失,如何使FFMPEG死掉?目前,如果我失去与网络摄像头的连接,FFMPEG将开始抛出“未知错误”消息,但当网络重新连接时,ffmpeg似乎会重新连接到流,但不会输出任何捕获的帧。我必须手动关闭进程并重新启动它,以便再次开始捕获帧。
如果在特定的超时期间失去连接,那么简单地让ffmpeg死掉就更好了。然后,我可以监视进程,并在它结束时重新启动。
有什么想法吗?
发布于 2018-09-12 15:50:43
您可以设置RTSP的ffmpeg超时:
超时值设置最大超时(以秒为单位)以等待传入连接。 值-1表示无限(默认)。此选项意味着将rtsp_flags设置为“侦听”。 stimeout设置套接字TCP I/O超时(以微秒计)。
发布于 2021-12-31 23:35:43
解决方案实际上是在套接字连接上放置一个超时:
[...] -rtsp_transport tcp -stimeout 30000000 -i rtsp://192.168.1.89:554/11 [...](本例为30秒)
https://stackoverflow.com/questions/52021958
复制相似问题