FFprobe检查流链接

时间:2015-05-27 22:43:08

标签: linux ffmpeg streaming ffprobe

我正在尝试使用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超时参数? 我从官方网站文档中找不到它。

3 个答案:

答案 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无限期地卡在错误的网址上并冻结整个过程。