3

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

4

3 回答 3

6

我只是使用 *nix 超时:

/usr/bin/timeout 5s /usr/bin/ffprobe $SOURCE

就我而言,这就足够了。

于 2015-07-16T14:32:52.343 回答
2

尝试-timeout n在 url 之前添加,其中 n 是秒数。如果它没有帮助,那么您应该在没有 的情况下提出问题-loglevel quiet,包括所有版本信息和错误消息。

于 2015-05-28T13:47:21.290 回答
0

我将对上述答案 +1:在 ffprobe 工作之前添加超时。

ffprobe -show_format -timeout 1000000 -loglevel quiet  "${ChannelList[$i+1]}"

会时不时地陷入错误的 http 请求,导致 503 错误(在删除 loglevel quiet 后查看日志时)。频道列表是加载所有流链接的地方。

timeout 5s ffprobe -show_format -timeout 1000000 -loglevel quiet  "${ChannelList[$i+1]}"

这就像一个魅力 - 防止 ffprobe 无限期地卡在错误的 url 上并冻结整个过程。

于 2020-11-13T20:44:25.367 回答