标签:wowza rtmp rest http wowza支持rest
有时我们 nginx 需要和 wowza 服务器交互以进行一些 LB 事宜;有时我们的管理员需要实时了解 wowza 服务器的一些其他状态信息(比如一些自定义对象的状态等等),而用 rtmp 不是太方便。这些情况下,如果我们的 wowza 服务器能提供一个 http api 就好了,就像 web 容器 tomcat 那样。本文以一个简单的 http 发送参数到 wowza,然后 wowza 返回一个 json 为例(经典的 REST 案例),介绍如何让你的 wowza 服务器提供 RESTful web 调用接口。package com.defonds.wms.module.server;
import java.io.IOException;
import java.io.OutputStream;
import com.wowza.wms.http.HTTProvider2Base;
import com.wowza.wms.http.IHTTPRequest;
import com.wowza.wms.http.IHTTPResponse;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.vhost.IVHost;
public class ServerMonitorHttpInterface extends HTTProvider2Base {
private static final WMSLogger logger = WMSLoggerFactory.getInstance().getLoggerObj(ServerMonitorHttpInterface.class.getName());
@Override
public void onHTTPRequest(IVHost ivHost, IHTTPRequest request, IHTTPResponse response) {
String id = request.getParameter("id");
String name = request.getParameter("name");
logger.debug("ServerMonitorHttpInterface--http--request--id=" + id + ";name=" + name);
// TODO do your own business logic here
String jsonObject = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
response.setHeader("Content-Type", "application/json");
// Get the printwriter object from response to write the required json object to the output stream
OutputStream out = response.getOutputStream();
try {
out.write(jsonObject.getBytes());
out.flush();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
} 3. 编辑 VHost.xml<HTTPProvider>
<BaseClass>com.defonds.wms.module.server.ServerMonitorHttpInterface</BaseClass>
<RequestFilters>monitor*</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider><HTTPProvider> <BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass> <RequestFilters>*</RequestFilters> <AuthenticationMethod>none</AuthenticationMethod> </HTTPProvider>
让你的 wowza 服务器提供 RESTful web 服务,布布扣,bubuko.com
让你的 wowza 服务器提供 RESTful web 服务
标签:wowza rtmp rest http wowza支持rest
原文地址:http://blog.csdn.net/defonds/article/details/30490271