内容
总览
其它相关资料
总览
直播流中继(Live stream repeater)是一个直播流通过多台服务器来提供大规模用户的一种方法。它采用了源/边缘(origin/edge)架构,其中原始输入流由源(origin)服务器发布,然后由多台边缘(edge)服务器来向大规模用户提供直播服务。 出于测试的目的,你可以在一台Wowza服务器上测试这个功能,这时[wowza-origin-address] 和 [wowza-edge-address] 是一样的。
用Wowza Streaming Engine Manager管理界面来配置
下面介绍利用Wowza Streaming Engine Manager管理界面来配置live stream repeater (origin/edge) 应用。
配置Wowza 源(origin)服务器
- 在Wowza origin 服务器上,首先确认Wowza Streaming Engine Manager 处于正常运行状态。请参考如何启动和停止Wowza Streaming Engine软件.
-
在Applications菜单,点击Add Application,然后点击Live application type.
-
在New Application 对话框,为应用设置一个名字liveorigin,然后点击Add.
-
在liveorigin页面,选择所有的Playback Types, 然后点击 Save.
-
配置推流验证:
-
点击Source Security, 在点击Edit.
-
在Source Security页面配置下面的选项,然后点击Save:
- 在RTMP Sources下, 选择 Require password authentication.
- 在RTSP Sources, 选择 Require password authentication.
- 在Client Restrictions, 选择 No client restrictions.
要了解更多,请参考直播流发布. - 在RTMP Sources下, 选择 Require password authentication.
-
点击Source Security, 在点击Edit.
-
重启这个Wowza应用。
-
为了将直播流推送到liveorigin应用,现在需要配置推流验证的用户名和密码:
-
在Server 菜单,点击Source Authentication,然后点击Add Source.
-
在Source Authentication 页面,输入Source User Name 和 Password, 然后点击 Add.
-
在Server 菜单,点击Source Authentication,然后点击Add Source.
配置Wowza 边缘(edge)服务器
- 在Wowza边缘(edge)服务器上,首先确认Wowza Streaming Engine Manager处于正常运行状态。请参考如何启动和停止Wowza Streaming Engine软件.
-
在Applications 菜单,点击Add Application, 然后在点击Live Edge application type.
-
在New Application对话框,为这个新应用设置一个名字liveedge, 然后点击Add.
-
在liveedge 页面配置一下选项,然后点击Save:
- 选择所有Playback Types.
- 在Primary Origin URL中输入Wowza 源(origin)服务器的URL
- (可选)在Secondary Origin URL中输入一个Wowza 源(origin)服务器的备份URL,它是冗余而设计的。 如果primary origin 服务器宕机。Edge服务器经过12秒的Timeout时间后,会将请求切换到这个备份URL上。
注意:
- Primary Origin URL 和可选的 Secondary Origin URL 必须使用这些URL前缀: wowz://, wowzs://, rtmp://, or rtmps://.
-
重要: 如果你使用了wowzs:// 前缀,那么EDGE和Origin服务器将使用SSL连接,请注意到以下关于SSL加密的要求:
-
SSL 验证必须来自一个证书颁发机构(请参考如何从一个证书颁发机构申请一个SSL 证书)。自签名的证书是不支持。
但Wowza完全支持Wowza StreamLock™ 认证(请参考How to get SSL certificates from the StreamLock service).
- 你必须使用域名,而不能使用IP地址。
- 如果没有设置端口,则默认使用443端口。
-
如果边缘(Edge)服务器和源(Origin)服务器之间没有成功建立SSL连接,它会反复尝试连接,这时在Wowza的日志中会显示下面的警告信息:
WARN server comment - LiveMediaStreamReceiver.secureConnectionValidation: SSL Connection was not established: wowzs://[wowza-ip-address]:1935/live/_definst_/myStream
-
SSL 验证必须来自一个证书颁发机构(请参考如何从一个证书颁发机构申请一个SSL 证书)。自签名的证书是不支持。
但Wowza完全支持Wowza StreamLock™ 认证(请参考How to get SSL certificates from the StreamLock service).
- 选择所有Playback Types.
-
重启应用
XML configuration
Wowza origin
- 在Wowza origin 服务器上创建一个应用文件夹[install-dir]/applications/liveorigin.
- 在Wowza origin 服务器上创建一个配置文件夹[install-dir]/conf/liveorigin 并将 [install-dir]/conf/Application.xml 拷贝到这个新的文件夹下.
-
用文本编辑器打开这个新拷贝的Application.xml,将StreamType 设置为 liverepeater-origin:
<StreamType>live</StreamType>
-
用文本编辑器打开[install-dir]/conf/publish.password文件,添加一个推流验证的用户名和密码。
下面是一个例子:
# Publish password file (format [username][space][password]) # username password publisherName [password]
- 启动 Wowza Stream Engine
Wowza edge
- 在每一个Wowza edge 服务器上创建一个应用文件夹[install-dir]/applications/liveedge。
- 在每一个Wowza edge 服务器上创建一个配置文件夹[install-dir]/conf/liveedge 并将 [install-dir]/conf/Application.xml 拷贝到这个新的文件夹下。
-
用一个文本编辑器打开这个新拷贝的Application.xml,并将 StreamType 设置为 liverepeater-edge:
<StreamType>liverepeater-edge</StreamType>
- 启动 Wowza Stream Engine
配置HTTP packetizers
直播流进入Wowza Stream Engine 4 后,如要通过HTTP协议对外提供流媒体服务,则必须先经过打包(packetized)处理。这些基于HTTP协议的流媒体播放技术包括Apple HTTP Live Streaming (Apple® HLS), Adobe HTTP Dynamic Streaming (Adobe® HDS) 及 Microsoft® Smooth Streaming。 在Application.xml的<Streams>/<LiveStreamPacketizers> 中列出了系统在对直播流进行打包时需要支持的Http流媒体协议对应的打包器。它有2种类型的打包器:streaming packetizers 和 repeater packetizers.
Wowza origin
在直播流中继架构(origin/edge)下,streaming packetizers 被用于从Wowza origin服务器向Wowza edge 服务器传输直播流。 在源(Origin)服务器的Application.xml的<Streams>/<LiveStreamPacketizers> 列表中可以包含从零到一个或多个下面的streaming packetizers.
cupertinostreamingpacketizer | 对应 Apple HLS live streaming |
sanjosestreamingpacketizer | 对应面向Flash 播放器的Adobe HDS live streaming |
smoothstreamingpacketizer | 对应面向Microsoft Silverlight®的 Smooth Streaming |
mpegdashstreamingpacketizer | 对应Mpeg Dash流 |
你可以在源(origin)服务器的/conf/liveorigin/Application.xml中添加你需要的streaming packetizers :
<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater --> <LiveStreamPacketizers>cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer</LiveStreamPacketizers>Wowza edge
在直播流中继架构(origin/edge)下,Wowza edge 服务器上的Http流媒体打包器需要被设置为对应的repeater打包器。 在边缘(edge)服务器的Application.xml的<Streams>/<LiveStreamPacketizers> 列表中可以包含从零到一个或多个下面的repeater packetizers.
cupertinostreamingrepeater | 对应 Apple HLS live stream repeater |
sanjosestreamingrepeater | 对应面向Flash播放器的Adobe HDS live stream repeater |
smoothstreamingrepeater | 对应面向Microsoft Silverlight的Smooth Streaming live stream repeater |
mpegdashstreamingrepeater | 对应Mpeg Dash流的Dash Streaming live stream repeater |
在每一个边缘(edge)服务器的/conf/liveedge/Application.xml中添加你需要的repeater packetizers :
<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater --> <LiveStreamPacketizers>cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, mpegdashstreamingrepeater</LiveStreamPacketizers>