如何检查 LiveStream (Audio Only) 是否在 Wowza 上?

How to check whether LiveStream (Audio Only) is up on Wowza or not?

我正在从 Wowza 流式传输到移动设备 (Android)。我正在使用 Vitamio 流媒体库。实际流程就像,Wowza 没有直播,当我的应用程序访问 Wowza 时,但过了一会儿 Wowza 开始直播。现在又想上wowza看看直播有没有了

我想要的是,我的应用程序应该每 5 秒点击一次 Wowza 以检查流是否可用。

听起来您只需要查询您的 Wowza 服务器以查看您的流是否处于活动状态。如果是这样,那么您可以使用 Wowza REST API 命令来查询传入流(您至少需要 4.2+ 版本)。

例如,要查询应用程序 "live" 的所有传入流,您可以通过 HTTP 发送以下命令:

curl -X GET --header 'Accept:application/json; charset=utf-8' http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/live/instances/_definst_

您会收到类似于以下内容的回复:

{"serverName":"_defaultServer_","incomingStreams":[{"sourceIp":"<hidden>","isPTZEnabled":false,"applicationInstance":"_definst_","name":"wowzademo.stream","isRecordingSet":false,"isStreamManagerStream":true,"isPublishedToVOD":false,"isConnected":true,"ptzPollingInterval":2000}],"outgoingStreams":[],"recorders":[],"streamGroups":[],"name":"_definst_"}

这表明我有一个名为 "wowzademo.stream" 的传入流(除其他外)。如果您愿意,也可以将您的回复更改为 xml 而不是 json。

更新

针对您的评论,我要添加:

  1. 确保您的版本至少为 4.2+;我实际上建议使用 4.3 版,因为最新版本有一些 REST API 修复;

  2. 如果您使用的是 4.3 版,则通过在 Root/Server/RESTInterface 容器下将 <AuthenticationMethod><DocumentationServerAuthenticationMethod> 设置为 none 来禁用身份验证进行测试conf/Server.xml 文件;

  3. 确保添加 restUserHTTPHeaders 属性 以获得值 "Access-Control-Allow-Origin:*|Access-Control-Allow-Methods:‌​OPTIONS,GET,PUT,DELE‌​TE,POST|Access-Contr‌​ol-Allow-Headers:Con‌​tent-Type".

如果以上方法仍然对您不起作用,请尝试通过将 <DiagnosticURLEnable> 设置为 true 并添加 <debugEnable>(设置为 true/Boolean 类型)来启用调试属性 属性 在 RESTInterface 容器中。查看logs/目录下的访问日志可以查看生成的日志。