如何检查 RTMP 直播流是打开还是关闭
How to Check RTMP Live stream is on or off
我想检查 RTMP 实时流是打开还是关闭麦克风。
我用过RTMP DUMP
exec("/usr/bin/rtmpdump -V -v -r rtmp://www.exapmle.com/etc./13/mic1 -o /tmp/rtmp-checker.log 2>&1", $pp);
我从
http://blog.svnlabs.com/how-to-check-rtmp-source-stream-is-live-or-not/
但我对结果并不满意,因为它并不总是有效,结果生成了一个随机字符串。
![所以有一段时间我遇到了这种类型的错误。有什么完美的解决方案吗?][1]
[1]: http://i.stack.imgur.com/ZrTco.png
我正在寻找 ffmpeg 或其他解决方案。
您可以使用 ffprobe
:
ffprobe -v quiet -print_format json -show_streams rtmp://example.com/stream
如果命令失败,您将获得一个 return 代码 1
,或者 0
和一个 JSON 包含成功时检测到的流的字符串:
{
"index": 1,
"codec_name": "aac",
"codec_long_name": "AAC (Advanced Audio Coding)",
"profile": "LC",
"codec_type": "audio",
...
}
这是一个基本测试,如果你想更进一步,你可以下载几秒钟的流,用 ffprobe
、运行 silencedetect
验证它等等
我想检查 RTMP 实时流是打开还是关闭麦克风。
我用过RTMP DUMP
exec("/usr/bin/rtmpdump -V -v -r rtmp://www.exapmle.com/etc./13/mic1 -o /tmp/rtmp-checker.log 2>&1", $pp);
我从 http://blog.svnlabs.com/how-to-check-rtmp-source-stream-is-live-or-not/
但我对结果并不满意,因为它并不总是有效,结果生成了一个随机字符串。
![所以有一段时间我遇到了这种类型的错误。有什么完美的解决方案吗?][1] [1]: http://i.stack.imgur.com/ZrTco.png
我正在寻找 ffmpeg 或其他解决方案。
您可以使用 ffprobe
:
ffprobe -v quiet -print_format json -show_streams rtmp://example.com/stream
如果命令失败,您将获得一个 return 代码 1
,或者 0
和一个 JSON 包含成功时检测到的流的字符串:
{
"index": 1,
"codec_name": "aac",
"codec_long_name": "AAC (Advanced Audio Coding)",
"profile": "LC",
"codec_type": "audio",
...
}
这是一个基本测试,如果你想更进一步,你可以下载几秒钟的流,用 ffprobe
、运行 silencedetect
验证它等等