首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果失去与输入流的连接,如何停止FFMPEG的运行?

如果失去与输入流的连接,如何停止FFMPEG的运行?
EN

Stack Overflow用户
提问于 2018-08-25 23:11:31
回答 2查看 9.6K关注 0票数 4

我每1秒从一个摄像头RTMP流抓取缩略图到JPG文件。这是我的命令行:

代码语言:javascript
复制
ffmpeg -i rtsp://192.168.1.89:554/11 -f image2 -r 1 thumb%03d.jpg

如果输入RTMP流在给定的超时期间丢失,如何使FFMPEG死掉?目前,如果我失去与网络摄像头的连接,FFMPEG将开始抛出“未知错误”消息,但当网络重新连接时,ffmpeg似乎会重新连接到流,但不会输出任何捕获的帧。我必须手动关闭进程并重新启动它,以便再次开始捕获帧。

如果在特定的超时期间失去连接,那么简单地让ffmpeg死掉就更好了。然后,我可以监视进程,并在它结束时重新启动。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-12 15:50:43

您可以设置RTSP的ffmpeg超时

超时值设置最大超时(以秒为单位)以等待传入连接。 值-1表示无限(默认)。此选项意味着将rtsp_flags设置为“侦听”。 stimeout设置套接字TCP I/O超时(以微秒计)。

票数 2
EN

Stack Overflow用户

发布于 2021-12-31 23:35:43

解决方案实际上是在套接字连接上放置一个超时:

代码语言:javascript
复制
[...] -rtsp_transport tcp -stimeout 30000000 -i rtsp://192.168.1.89:554/11 [...]

(本例为30秒)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52021958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档