一种rtmp流媒体直播系统热备份的设计方法及其系统的制作方法

文档序号:8925538
一种rtmp流媒体直播系统热备份的设计方法及其系统的制作方法
【技术领域】
[0001]本发明涉及流媒体系统设计领域,具体地,尤其涉及一种RTMP流媒体直播系统热备份的设计方法及其系统。
【背景技术】
[0002]在流媒体直播系统中,正在直播的RTMP流媒体通过网络传输给用户,观看该直播流的用户可能随时接入该网络。直播系统内RTMP主播设备可能通过专网或ADSL网分布的不同的地方,因为RTMP协议对音视频进行主动推送,每台开启的RTMP主播设备都会向指定IP的RTMP流媒体服务器进行推流,当RTMP流媒体服务器出现硬件、软件或网络故障时,必定无法进行流媒体的存储和直播。
[0003]目前,直播系统的架设通常采用如下方式去解决上述问题:
1、同时架设两台完全相同的RTMP流媒体服务器,RTMP主播设备同时向两台流媒体服务器进行推送音视频流,当RTMP流媒体服务器I发生故障时,直播起用RTMP流媒体服务器2。
2、同时架设两台完全相同的RTMP流媒体服务器,RTMP主播设备向主RTMP流媒体服务器进行推送音视频流,当主RTMP流媒体服务器发生故障时,由备用RTMP流媒体服务器接管RTMP主播设备。
但是,以上处理方法存在不足的地方:
对于方式I的处理方法,可解决RTMP流媒体服务器发生故障时的直播问题,但是每台RTMP主播设备都必需发送两份音视频流到流媒体服务器,这样将增加RTMP主播设备的负荷且上行网络带宽也将随之增加一倍,当系统内主播设备数量增加时,很容易造成系统网络拥塞。
[0004]对于方式2的处理方法,主RTMP流媒体服务器和备用RTMP流媒体服务器运行时必需解决数据同步这一复杂问题及主、备服务器切换时业务的接管问题。另外,前端大量RTMP主播设备有些是通过ADSL网络分布在不同地方,RTMP主播设备并不清楚主RTMP流媒体服务器发生故障,此时,备用RTMP流媒体服务器必需通知RTMP主播设备,但是RTMP主播设备并没有固定IP地址,这将涉及到极复杂的公网穿透技术处理问题与系统的网络设计问题等。

【发明内容】

[0005]本发明目的在于解决上述问题,从而提出了一种RTMP流媒体直播系统热备份的设计方法,同时本发明也公开了一种RTMP流媒体直播系统热备份系统。
[0006]本发明的RTMP流媒体直播系统热备份系统包括RTMP主播设备、网络交换设备、主RTMP流媒体服务器、备用RTMP流媒体服务器和客户端,RTMP主播设备分别通过网络交换设备与主RTMP流媒体服务器及备用RTMP流媒体服务器相连,客户端对RTMP主播设备的访问,由主、备用RTMP流媒体服务器进行分发处理。
[0007]本发明的RTMP流媒体直播系统热备份的设计方法如下:包括以下步骤:
步骤1,主RTMP流媒体服务器与备用RTMP流媒体服务器先后启动,RTMP主播设备采集音视频数据,并将数据编码成H.264与AAC格式进行推送;
步骤2,RTMP主播设备自动检测主RTMP流媒体服务器是否发生故障;
步骤3,当RTMP主播设备检测跟主RTMP流媒体服务器不通,且备用RTMP流媒体服务器接通时,RTMP主播设备自动将音视频流切换到备用RTMP流媒体服务器,并强制编码成I帧数据进行发送,或不强制编码成I帧数据进行发送;
步骤4,当RTMP主播设备检测跟主RTMP流媒体服务器接通后,无论备用RTMP流媒体服务器是否接通,RTMP主播设备自动将音视频流切换到主RTMP流媒体服务器,并强制编码成I帧数据进行发送,或不强制编码成I帧数据进行发送。
[0008]上述步骤3、4中,如果存在主、备用RTMP流媒体服务器切换,则强制生成I帧关键帧;如果不存在主、备用RTMP流媒体服务器切换,则每隔预设定值来生成一个固定I帧。
[0009]进一步的,判断是否存在主、备RTMP流媒体服务器切换后,还应该包括:
判断预设定值的该段时间内网络视频在线播放是否存在视频丢帧现象;
如果不存在主、备用RTMP流媒体服务器切换,则将当前要生成的帧设置成为P帧,包括:
如果在该时间内存在网络丢失视频帧,且不存在主、备RTMP流媒体服务器切换,则将当前要生成的帧强制设置成I帧,并将预设定值缩短为原来的一半且取整。
[0010]上述主RTMP流媒体服务器和备用RTMP流媒体服务器运行软件系统完全相同,但必须具有不同的IP地址。
[0011]上述步骤3中,当系统的实时性要求严格时,发送主、备用RTMP流媒体服务器的切换,则强制编码成I帧数据进行发送,如果要求不严格时,则不强制编码成I帧数据进行发送,具体如下:
步骤3,当主播设备检测跟主RTMP流媒体服务器不通,且备用RTMP流媒体服务器接通时,RTMP主播设备自动将音视频流切换到备用RTMP流媒体服务器,并强制编码成I帧数据进行发送,当实时性要求不严格时,RTMP主播设备向备用RTMP流媒体服务器发送音视频数据时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由备用RTMP流媒体服务器进行处理,或I帧数据的检测直接由客户端解码器进行处理。
[0012]上述步骤4中,当系统的实时性要求严格时,发送主、备用RTMP流媒体服务器的切换,则强制编码成I帧数据进行发送,如果要求不严格时,则不强制编码成I帧数据进行发送,具体如下:
步骤4,当主播设备检测跟主RTMP流媒体服务器接通后,无论备用RTMP流媒体服务器是否接通,主播设备自动将音视频流切换到主RTMP流媒体服务器,并强制编码成I帧数据进行发送,当实时性要求不严格时,RTMP主播设备向主RTMP流媒体服务器发送音视频数据时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由主RTMP流媒体服务器进行处理,或I帧数据的检测直接由客户端解码器进行处理。
[0013]本发明提供的RTMP流媒体直播系统的设计方法可以解决系统上行带宽不足的问题。本发明具有以下优点:
1、主播设备采用RTMP协议,在公网上进行流媒体直播时,具有良好的网络穿透性。
[0014]2、主播设备具有动态编码功能,在出现主、备服务器切换时,可实时强制编码出I帧数据,具有良好的编码自适应性。
[0015]3、主播设备主动向RTMP流媒体服务器进行注册,并不需要RTMP主播设备具有固定IP地址,也能实时检测到RTMP流媒体服务器是否发生故障。
[0016]4、主RTMP流媒体服务器与备用RTMP流媒体服务器可部署在不同地方,在整个过程中流媒体服务器相互间并不需要通信,更无需像现有技术中的那样需要涉及到复杂的数据同步与业务接管问题。
[0017]5、主备份流媒体服务器的自动切换过程全部由前端RTMP主播设备完成,在整个直播系统部署时,并不会因为前端设备数量的增加而造成后端流媒体服务器的部署变复杂,也不会因此而增加后端流媒体服务器的切换开销。
【附图说明】
[0018]图1是本发明实施例的系统结构示意图。
[0019]图2是本发明实施例的方法流程图。
[0020]图3是本发明实施例的强制I帧编码模型原理结构示意图。
【具体实施方式】
[0021]以下结合附图对本发明的优选实施例进行说明,应当理解此处所描述的优选实施例仅用于说明和解释本发明并不用于限定本发明。
[0022]参见附图1,它示出了本实施例的RTMP流媒体直播系统热备份系统,所有RTMP主播设备101分别通过网线与主RTMP流媒体服务器1031及备用RTMP流媒体服务器1032相连,客户端104对RTMP主播设备101的访问,由主、备RTMP流媒体服务器1031、1032进行分发处理。系统部署时,RTMP主播设备101与网络交换设备102位于家庭、学校、公司等流媒体发布系统内部,再通过ADSL或专网进行流媒体数据上传。主、备RTMP流媒体服务器1031,1031位于运营商机房,客户端104位于能进行公网访问的各地。由图1中可知当主RTMP流媒体服务器1031发生硬件、软件或网络故障时,RTMP主播设备101自动将流媒体数据切换到备用RTMP流媒体服务器1032。本系统的处理方式说明如下:
1、所有RTMP主播设备101开始运行时都向主RTMP流媒体服务器1031进行注册,然后RTMP连接;
2、客户端104向流媒体服务器发起直播请求时,主RTMP流媒体服务器1031分析请求信令,确认所请求的RTMP主播设备101,检测网络带宽及预设定阀值,并向RTMP主播设备101发出直播请求。
[0023]3、当RTMP主播设备101接收到主RTMP流媒体服务器1031的直播请求信令并进行分析,跟据分析实时进行相应的流媒体直播。
[0024]4、如果当主RTMP流媒体服务器1031出现故障时,RTMP主播设备101接收到客户端104的直播请求后,RTMP主播设备101自动将音视频流切换到备用RTMP流媒体服务器1032,并进行流媒体的分发处理。
[0025]5、如果当主RTMP流媒体服务器1031故障恢复正常时,RTMP主播设备101自动将音视频流切换到主RTMP流媒体服务器1031,并进行流媒体的分发处理,且备用RTMP流媒体服务器1032停止工作。
[0026]在本实施例中,在流媒体直播过程中,根据是否出现主RTMP流媒体服务器1031故障,RTMP主播设备101进行向主、备RTMP流媒体服务器1031、1032推流自适应切换处理。所以,本发明实施例提供的方法在不增加系统复杂度的前提下,可以解决当出现RTMP流媒体服务器故障问题时,流媒体直播系统的可靠性、稳定性。
[0027]图2是本实施例的设计方法流程图,具体如下:
201、采集音视频数据,并将数据编码成H.264与AAC格式;
在进行媒体数据传输时,为了节省带宽,跟据RTMP协议要求,将视频数据编码成H.264(high profile)格式,音频数据编码成AAC格式,并为音视频数据分别打上时间戳,以便于进行媒体流直播时的音视频同步处理。视频编码过程中,可分别编码关键帧I帧及预测帧P帧,也可分别编码预定分辨率、帧率、码率的视频帧。RTMP主播设备101将音视频数据
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1