当前位置:文档之家› 配置网络直播服务 6_3

配置网络直播服务 6_3

92高效架设网络影视服务器第四、找不到播放列表,系统提示:“bad playlist file ”。

只要确认播放列表的路径和文件名正确即可。

限于篇幅,这里不可能讨论所有可能出现的问题。

但配置Helix Server 时,只要结合你的实际情况和这里的例子,就能很好地完成配置工作。

下面我们接着介绍怎么利用分流技术提供更加完善的直播服务和模拟直播服务。

第三节架设直播分流服务器前面我们完整地讨论了提供直播服务的各种情况。

但在实际应用中,我们还可能遇到更为复杂的情况。

之前我们一直使用一台服务器运行Helix Server ,这种情况只能适应用户较少的情况。

如果同时访问服务器的用户很多,服务器的CPU 、内存和网络带宽将不堪重负。

那该怎么办呢?此时就需要有更多的服务器来提供直播服务。

如果使用多个服务器运行Helix Server 时,是不是需要为每个服务器都提供一个直播源呢?不,Helix Server 提供了分流的功能,即它能把接收到的直播数据流分发给其它的He-lix Server ,而且Helix Producer 也可以同时向多个Helix Server 发送直播数据流。

用户点击不同的链接就可以访问不同的服务器,Helix Server 再把它们收到的直播数据流转发给用户。

虽然访问的服务器不同,但他们收看到的直播视频却是一样的。

1.分流的多种方式根据发送端和接收端运行软件的不同,分流可分为:“压缩编码端——服务器”式分流和“服务器——服务器”式分流两种。

由于压缩编码器(如Helix Producer )运行时占用很大的系统资源,此时若要Helix Pro-ducer 向多个Helix Server 分发数据流,系统的额外开销将会很大,会影响直播的进行,所以这种方式一般不采用。

这里我们只讨论“服务器——服务器”式分流。

根据发送端的“主动”与“被动”关系还可将分流分为“拉”式分流和“推”式分流。

“拉”式分流过程为发送端被动地分流。

只有接收端发送请求到发送端,发送端才开始向接收端分发数据流,相当于接收端从发送端将数据流“拉”过来,如下图所示。

图6-3-1拉式分流93第六章架设网络电视台“推”式分流过程为发送端主动地分流。

不管接收端是否需要,发送端都将数据流发送到接收端,相当于发送端将数据流“推”到接收端。

如下图所示:图6-3-2推式分流根据接收端的数量还可分为一对一分流和一对多分流。

顾名思义,若接收端只有一个,则为一对一分流;若接收端有多个,则为一对多分流。

当采用多级一对一分流时,接收端同时把收到的数据流发送到下一个接收端,此时它也是一个发送端,整个系统形成一个链状分流。

当采用多级一对多分流时,接收端同时把收到的数据流分流给下一级的几个接收端,整个系统形成一个网状分流。

但无论是多么复杂的分流方案,它都可以分解成多个一级的一对一分流。

即架设一个分流系统,我们需要做的只是分别对多个Helix Server 重复地配置发送端和接收端。

下面我们以实例的形式讨论如何将Helix Server 配置成发送端或接收端。

分发数据流的一端就叫做发送端(Transmitter ),接收数据流的一端则为接收端(Receiver )。

如果它既是发送端又是接受端,我们就称它为重放端。

2.配置发送端(Transmitter )在Transmitter 内可以设置“推”式分流和“拉”式分流。

这里两者的配置有较大的区别。

“推”式分流需要设置发送端的数据源和接收端的信息,而“拉”式分流则只需设置发送端的数据源。

由于它们的设置相对独立,下面将分别进行讨论。

(1)推式分流步骤一:进入配置界面。

单击【Broadcast Distribution 】下【Transmitter 】进入配置界面,如图6-3-3所示。

高效架设网络影视服务器图6-3-3Transmitter的配置界面如上图顶部所示,发送端内有一个“Source Name”的设置。

它将出现在指向接收端数据流的链接中,所以必须确保链接的发布者知道这个名称。

默认情况下Helix Server以主机名称作为源名称,且一个Helix Server只能有一个源名称。

步骤二:新建一个接收端。

单击“Broadcast Receivers”栏的9495第六章架设网络电视台“Source Path ”栏定义的是需要进行分流的数据流的源路径。

Helix Server 默认的源路径为“/broadcast/”。

前面我们提到用Helix Producer 进行直播和用SLTA 进行模拟直播时的载入点(Mount Point )都为“/broadcast/”。

即默认情况下Helix Server 将所有Helix Producer 的直播数据流和所有SLTA 的模拟直播数据流都分发给该接收端。

如果要对RealProducer 的直播流进行分流该怎么做呢?前面我们提到,RealProducer 使用的载入点为“/encoder/”,这里只要在“Source Path ”栏内输入“/encoder/”即可。

这里的RealProducer 是指RealProducer G2到RealProducer 8.5之间的所有版本。

如果只是要对Helix Producer 的部分直播流进行分流,可在“/broadcast/”后添加路径,例如“/broadcast/live/”,则Helix Server 仅对路径为“/live/”的Helix Producer 的数据流进行分流。

此外,还可以利用流的名称来进行限制,如“/broadcast/live/live.rm ”,则Helix Server 只对这个直播视频进行分流。

下面举个例子来说明这三种不同限制方法的不同效果。

现在Helix Server 分别对接收端A 、B 、C 进行分流,对三个接收端设置的源路径分别为“/broadcast/”、“/broadcast/live/”、“/broadcast/live/live.rm ”。

三种不同的源路径格式,可以有不同的效果,如下图所示:图6-3-4不同源路径的不同效果图中每一种箭头格式代表了一个直播数据流。

接收端A 收到了所有直播数据流,接收端B 收到了路径live 下的两个数据流,而接收端C 则只收到了一个,即“live/live.rm ”。

本例中我们设置源路径为“/broadcast/live/”,则Receiver A 只能接收到路径“/live/”下的直播数据流。

步骤四:设置接收端的地址。

在“Receiver IP Address or Hostname ”栏内输入接收端服务器的域名或IP 地址。

96高效架设网络影视服务器本例接收端的地址为“10.10.10.20”。

另外,在步骤七中将要设置数据流的传输方式,若选择了“udp/multicast ”时,发送端的直播数据流并不单独发给某个用户,而是发给多个用户。

此时需在“Receiver IP Address or Hostname ”栏内输入一个作为多播的D 类地址。

只要不与本网内其它设备使用的地址冲突,该地址可以是D 类段内任意的一个,如230.3.2.1,但后面设置接收端内的多播地址(Multicast Address )时必须与此保持一致。

类IP 地址的第一段数字范围为224~239(从224.0.0.0到239.255.255.255),它是专用于组播的地址。

有关各类IP 地址的详细知识请参阅其它相关书籍。

步骤五:设置本机的地址。

在“Local IP Address ”栏内输入本机的地址,这个地址将被用来分流,且接收端重发分流请求时需要用到这个地址。

本例中本机IP 地址为“10.10.10.10”。

步骤六:设置多速率文件的分流方式。

前面讨论中我们提到过,一个流媒体文件内可以包含多种不同传输速率的视频数据。

在发送端和接收端之间,发送端可以将该文件的所有视频数据都发送给接收端,也可以只选择某个传输速率发送一部分视频数据给接收端。

在“SureStream Aware Splitting ”下拉菜单内有两个选项:“Enable ”、“Disable ”。

两种情况下有不同的效果,可如下图所示:图6-3-5选择Disable 时的分流过程图6-3-6选择Enable 时的分流过程从两图中可以看出,选择“Enable ”时发送端仅将用户需要的传输速率为256K 的视频数据发送给接收端,这样有利于节省带宽。

“SureStream Aware Splitting ”仅在分流的视频文件为多速率文件时才生效。

由于本例中的视频文件为单速率文件,所以这里跳过这一步设置。

若使用的是多速率文件,则在下第六章架设网络电视台拉菜单中选择“E na b le”即可。

步骤七:选择数据流传输方式。

在“Transport”下拉菜单中,有三个选项分别为“udp/unicast”、“udp/multicast”、“t c p”。

udp/unicast:UDP协议/单播,这是Helix Server最常用的传输方式。

接收端与发送端建立一个单独数据传输连接。

udp/multicast:UDP协议/多播,所有的接收端共享发送端发出的一个数据流,从而可以很好地节省网络带宽。

tcp:TCP协议,由于TCP会给网络带来很大的负载,所以它只有在UDP协议不能用的时候才被采用。

从传输效率来说,“tcp”比“udp/unicast”要好。

但使用多播方式时,网络上所有的设施包括用户的主机都必须设成允许多播的状态。

由于这个局限性,它的使用受到了一定的限制。

Helix默认的传输方式是“udp/unicast”,本例采用默认设置。

如果选择了其它传输方式,必须保证接收端上设置的传输方式与发送端上的设置相同。

步骤八:设置多播数据包的生存周期(T T L)。

这个设置只有在传输方式中选择了“udp/multicast”才生效。

所有多播数据包在网络上传输时都有一个生存周期(Time to Live),这样才不会在网络上无限制地传播下去。

当数据包通过一次路由器时,它的生存周期将减去1,生存周期变为0时,它就会被路由器扔掉。

当Helix Server的用户所处网络范围不同时,TTL可以有不同的值。

如下表:表6-3-1数据包的生存周期设置9798高效架设网络影视服务器默认值为20,这时所耗带宽将增加直播数据流所耗带宽的20%。

这20%的带宽就用来发送校验数据包。

如果需要使直播更可靠,可以增加校验比率的值,但这样将会带来更大的网络负载。

如果网络传输性能较好,误码率低,则可以减小校验比率的值以节省带宽。

本例由于用户都在同一子网内,所以将校验比率设成0。

步骤十:设置数据变化描述包的发送频率。

发送端发送数据流到接收端时,每隔一段时间将发送一个特殊的数据包给接收端。

相关主题