【问题标题】:How to stop streaming in the publish method of Wowza server如何在 Wowza 服务器的发布方法中停止流式传输
【发布时间】:2015-04-28 00:01:17
【问题描述】:

我需要在publish() 方法中停止发布流,并向客户端发送一条消息,例如“此名称不正确,请选择另一个”。

我查看了sendClientOnErrorStatus(),但没有找到任何示例说明如何在客户端处理它。

另外,谁能解释一下sendResult(..) 方法的作用?

【问题讨论】:

  • 主要是语法变化。

标签: java actionscript-3 flash video-streaming wowza


【解决方案1】:

sendClientOnErrorStatus()sendResult() 仅适用于 Flash 上下文。

sendClientOnErrorStatus()

在 Wowza 服务器上,您可以覆盖 publishreleaseStream(用于发布的流)方法并执行以下操作:

sendClientOnStatusError(client, "NetStream.Publish.Denied", "Stream name is invalid: " + streamName);

在使用 ActionScript 的 Flash 客户端上,您将添加一个 NetStatusEvent 侦听器:

nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

private function netStatusHandler(event:NetStatusEvent):void {
       switch (event.info.code) {
            // do something with the event.info
       }
}

sendResult()

这用于发送NetConnection.call 的结果,该NetConnection.call 调用Wowza 服务器上的自定义方法。

例子:

Wowza 服务器:

public void someMethod(IClient client, RequestFunction function,
            AMFDataList params) {
{
        sendResult(client, params, "response");
}

客户:

nc = new NetConnection();
nc.call("someMethod",new Responder(function(data:String):void {
          trace(data);
       })
);

来源:AS3 Reference

【讨论】:

  • 是的,这正是我所需要的。你知道一些向 iOS 或 android 客户端发送消息的方法吗?
  • publish()NetStream.publish 的服务器实现,它仅适用于 RTMP 发布(与 Wowza 的传入连接)。你到底想做什么?如果您希望在 HTTP 连接上使用类似于 sendClientOnStatusError() 的内容,您可以重定向到错误页面或添加一些自定义 HTTP 标头(如果您有自己的播放器)。
  • 例如:我在 wowza 服务器上有很多文件 - 用于 VOD。我想添加一个文件。但首先我想检查是否存在同名文件,如果存在 - 停止发布并向 iOS 或 android 客户端发送一些消息。
  • 我不确定我是否关注你,因为 VOD 文件没有发布。它们只是服务器(或边缘 VOD 的网络共享/Web 服务器)上的文件。
  • 是的,只是一个文件。这并不重要
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 2015-09-10
  • 2012-06-14
  • 1970-01-01
相关资源
最近更新 更多