使用FFmpeg(版本是5.0.3)将rtmp流作为输入,设置超时时间(使用-timeout参数),结果报错:Cannot open Connection tcp://XXX:1935?listen&listen_timeout=
通过./ffmpeg -help full 命令查看FFmpeg帮助,可以看到-timeout参数确实是设置 rtmp流的超时时间的。
所以为什么出现上述现象,因为FFmpeg出bug了!!!以rtmp流为输入时,设置超时时间得要用-rw_timeout参数,注意单位是微秒。
将-timeout参数替换为-rw_timeout参数即可解决问题。
参考文章:
《FFMPEG RTMP STREAM RECORDING TIMEOUT》
《FFmpeg命令读取RTMP流如何设置超时时间》
《[FFmpeg-user] RTMP Timeout》