我正在尝试使用FFprobe来测试流媒体链接是否处于活动状态。
例如,这是一个有效的流媒体链接:
ffprobe -loglevel quiet -show_streams rtmp://Lrmh0w.cloud.influxis.com/yoy/_definst_/185
我的输出意味着链接处于活动状态。
但是,一旦我将链接更改为无效的链接:
ffprobe -loglevel quiet -show_streams rtmp://Lrmh0w.cloud.influxis.com/yoy/_definst_/18555555555
该命令在后台运行,没有结果。
有没有办法绕过这个,还是有任何ffprobe超时参数? 我从官方网站文档中找不到它。
答案 0 :(得分:5)
我只是使用* nix timeout:
/usr/bin/timeout 5s /usr/bin/ffprobe $SOURCE
就我而言,这已经足够了。
答案 1 :(得分:2)
尝试在网址前添加-timeout n
,其中n是秒数。如果它没有帮助,那么您应该在没有-loglevel quiet
的情况下提出问题,包括所有版本信息和错误消息。
答案 2 :(得分:0)
我将对以上答案+1: 在ffprobe起作用之前添加一个超时。
ffprobe -show_format -timeout 1000000 -loglevel quiet "${ChannelList[$i+1]}"
会时不时地卡在一个错误的http请求上,从而导致503错误(在删除日志级别静默后查看日志时)。频道列表是所有流链接的加载位置。
timeout 5s ffprobe -show_format -timeout 1000000 -loglevel quiet "${ChannelList[$i+1]}"
这就像一种魅力-防止ffprobe无限期地卡在错误的网址上并冻结整个过程。