内容大纲
前置条件
安装
在Wowza Streaming Engine edge server上的配置
在Wowza Streaming Engine edge server 上的参数
在Wowza Streaming Engine origin server 上地配置
在Wowza Streaming Engine origin server 上的参数
关于这个模块的使用
开发者
前置条件
这个模块适用于Wowza Streaming Engine 4.0.0 及以上版本。
安装
- 下载wse-plugin-streamresolver.zip。在Live Repeater 架构下,将这个模块同时部署在边缘服务和源服务器上。
- 将下载的zip包进行解压缩,然后将lib/wse-plugin-streamresolver.jar文件拷贝到Wowza Streaming Engine 安装目录的lib目录下([install-dir]/lib).
- 重启 Wowza Streaming Engine.
在Wowza Streaming Engine Live Edge Server 上配置Module
在Live repeater架构下的每一个边缘(edge)服务器上,你都需要安装一下这个Module。
Name |
Description |
Fully Qualified Class Name |
ModuleStreamResolver | Resolves streams from origin dynamically. | com.wowza.wms.plugin.streamresolver.ModuleStreamResolver |
在Wowza Streaming Engine Live Edge Server上的参数配置
在边缘服务器上配置好module后,你还可以继续添加以下参数,来调整它的一些默认设置。
Path |
Name |
Type |
Value |
Notes |
/Root/Application | wowzaResolverConfTargetPath | String | [install-dir]\content\origins.txt | 指向定义源服务器地址的文本文件路径(一行一个). (默认:没有设置) |
/Root/Application | wowzaResolverOriginServers | String | server1.com,server2.com | 如果wowzaResolverConfTargetPath参数没有设置,你可以用这个参数来定义源服务器列表(用逗号隔开)。(默认:没有设置) |
/Root/Application | wowzaResolverProtocol | String | rtmp | 当边缘服务器到源服务器拉流时,使用的协议(rtmp 或 wowz). (默认: rtmp) |
/Root/Application | wowzaResolverUDPClientPort | Integer | 9777 | 边缘服务器和源服务器之间进行源服务器选择协商的UDP端口,由边缘服务器向源服务器发送UPD包,根据响应,选择一个源服务器,这就是本文的"动态选择"的概念(默认: 9777) |
/Root/Application | wowzaResolverUDPClientTimeout | Integer | 2000 | 一个时长(单位是毫秒),指边缘服务器向源服务器发送Udp包后,等待响应的时长,意思是过了这个时长就不等了 (默认: 2000) |
/Root/Application | wowzaResolverOriginApplicationName | String | live | (可选项)默认情况下,边缘服务器会请求源服务器上同样的Wowza应用名的应用。但你可以用这个参数定义一个不同的应用。(默认:使用和边缘服务器上同名的应用) |
/Root/Application | wowzaResolverOriginApplicationInstanceName | String | _definst_ | (可选项) 默认情况下,边缘服务器会请求源服务器上同样的应用实例名的实例。但你可以用这个参数定义一个不同的实例名。(默认:使用和边缘服务器上同样的应用实例名) |
/Root/Application | wowzaResolverOriginStreamName | String | myStream | (可选项) 默认情况下,边缘服务器会请求源服务器上同样名字的流。但你可以用这个参数定义一个不同的流名字。(默认: 使用和边缘服务器上同样名字的流). |
/Root/Application | wowzaResolverDebugLog | Boolean | true | (可选项)如果是true,则输出Debug日志,(默认:false). |
注意:如果wowzaResolverConfTargetPath 和 wowzaResolverOriginServers 参数都没有被设置,那么将使用定义在Application.xml中<Repeater>/<OriginURL>参数中的源服务器列表.
在Wowza Streaming Engine Live Origin Server配置Server Listener
在每一个源(Live Origin)服务器上,首先添加以下的Server Listener。
Fully Qualified Class Name |
com.wowza.wms.plugin.streamresolver.ServerListenerLocateSourceStream |
在Wowza Streaming Engine Live Origin Server上的参数配置
在Origin服务器上配置完Server Lisener后,你还可以继续在源服务器上的Wowza应用上配置以下参数,来调整它的默认行为。
Path |
Name |
Type |
Value |
Notes |
/Root/Server | wowzaSourceStreamUDPListenerDebug | Boolean | false | 对于来自边缘服务器的请求和响应进行日志输出。(默认: false) |
/Root/Server | wowzaSourceStreamUDPListenerPort | Integer | 9777 | 监听的UDP端口,边缘服务器会向这个端口发送消息。(默认: 9777) |
/Root/Server | wowzaSourceStreamHostName | String | mycompany.com:1935 | 这个源服务器的公开域名或IP地址,可以包含端口号。(默认: null) |
关于这个模块的使用
当一个客户端/播放器向边缘服务器请求一个流时,边缘服务器首先会检查自身是否有这个流(已经从一个源服务器拉流了)。 如果没有这个流,则会通过UDP端口向每一个源服务器发送请求,然后选择第一个响应的源服务器,之后就从这个源服务器拉流,然后对客户端/播放器提供这个流服务。
开发者
在GitHub上的源代码上可以下载源代码。