本发明专利技术涉及一种RTMP流媒体直播系统热备份的设计方法及其系统,属于流媒体系统设计领域,其中方法的实现包括:主RTMP流媒体服务器与备用RTMP流媒体服务器先后启动,RTMP主播设备采集音视频数据并编码;RTMP主播设备检测主RTMP流媒体服务器是否接通;当RTMP主播设备检测跟主RTMP流媒体服务器不通,且备用RTMP流媒体服务器接通时,RTMP主播设备将音视频流切换到备用RTMP流媒体服务器;当RTMP主播设备检测跟主RTMP流媒体服务器接通后,无论备用RTMP流媒体服务器是否接通,RTMP主播设备将音视频流切换到主RTMP流媒体服务器。本发明专利技术的优点是可使对外提供流媒体直播服务的主RTMP流媒体服务器出现故障时,能及时切换到备用RTMP流媒体服务器,提升用户体验,增强系统的稳定性、可靠性。
【技术实现步骤摘要】
本专利技术涉及流媒体系统设计领域,具体地,尤其涉及一种RTMP流媒体直播系统热备份的设计方法及其系统。
技术介绍
在流媒体直播系统中,正在直播的RTMP流媒体通过网络传输给用户,观看该直播流的用户可能随时接入该网络。直播系统内RTMP主播设备可能通过专网或ADSL网分布的不同的地方,因为RTMP协议对音视频进行主动推送,每台开启的RTMP主播设备都会向指定IP的RTMP流媒体服务器进行推流,当RTMP流媒体服务器出现硬件、软件或网络故障时,必定无法进行流媒体的存储和直播。目前,直播系统的架设通常采用如下方式去解决上述问题: 1、同时架设两台完全相同的RTMP流媒体服务器,RTMP主播设备同时向两台流媒体服务器进行推送音视频流,当RTMP流媒体服务器I发生故障时,直播起用RTMP流媒体服务器2。 2、同时架设两台完全相同的RTMP流媒体服务器,RTMP主播设备向主RTMP流媒体服务器进行推送音视频流,当主RTMP流媒体服务器发生故障时,由备用RTMP流媒体服务器接管RTMP主播设备。 但是,以上处理方法存在不足的地方: 对于方式I的处理方法,可解决RTMP流媒体服务器发生故障时的直播问题,但是每台RTMP主播设备都必需发送两份音视频流到流媒体服务器,这样将增加RTMP主播设备的负荷且上行网络带宽也将随之增加一倍,当系统内主播设备数量增加时,很容易造成系统网络拥塞。对于方式2的处理方法,主RTMP流媒体服务器和备用RTMP流媒体服务器运行时必需解决数据同步这一复杂问题及主、备服务器切换时业务的接管问题。另外,前端大量RTMP主播设备有些是通过ADSL网络分布在不同地方,RTMP主播设备并不清楚主RTMP流媒体服务器发生故障,此时,备用RTMP流媒体服务器必需通知RTMP主播设备,但是RTMP主播设备并没有固定IP地址,这将涉及到极复杂的公网穿透技术处理问题与系统的网络设计问题等。
技术实现思路
本专利技术目的在于解决上述问题,从而提出了一种RTMP流媒体直播系统热备份的设计方法,同时本专利技术也公开了一种RTMP流媒体直播系统热备份系统。本专利技术的RTMP流媒体直播系统热备份系统包括RTMP主播设备、网络交换设备、主RTMP流媒体服务器、备用RTMP流媒体服务器和客户端,RTMP主播设备分别通过网络交换设备与主RTMP流媒体服务器及备用RTMP流媒体服务器相连,客户端对RTMP主播设备的访问,由主、备用RTMP流媒体服务器进行分发处理。本专利技术的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帧数据进行发送。上述步骤3、4中,如果存在主、备用RTMP流媒体服务器切换,则强制生成I帧关键帧;如果不存在主、备用RTMP流媒体服务器切换,则每隔预设定值来生成一个固定I帧。进一步的,判断是否存在主、备RTMP流媒体服务器切换后,还应该包括: 判断预设定值的该段时间内网络视频在线播放是否存在视频丢帧现象; 如果不存在主、备用RTMP流媒体服务器切换,则将当前要生成的帧设置成为P帧,包括: 如果在该时间内存在网络丢失视频帧,且不存在主、备RTMP流媒体服务器切换,则将当前要生成的帧强制设置成I帧,并将预设定值缩短为原来的一半且取整。上述主RTMP流媒体服务器和备用RTMP流媒体服务器运行软件系统完全相同,但必须具有不同的IP地址。上述步骤3中,当系统的实时性要求严格时,发送主、备用RTMP流媒体服务器的切换,则强制编码成I帧数据进行发送,如果要求不严格时,则不强制编码成I帧数据进行发送,具体如下: 步骤3,当主播设备检测跟主RTMP流媒体服务器不通,且备用RTMP流媒体服务器接通时,RTMP主播设备自动将音视频流切换到备用RTMP流媒体服务器,并强制编码成I帧数据进行发送,当实时性要求不严格时,RTMP主播设备向备用RTMP流媒体服务器发送音视频数据时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由备用RTMP流媒体服务器进行处理,或I帧数据的检测直接由客户端解码器进行处理。上述步骤4中,当系统的实时性要求严格时,发送主、备用RTMP流媒体服务器的切换,则强制编码成I帧数据进行发送,如果要求不严格时,则不强制编码成I帧数据进行发送,具体如下: 步骤4,当主播设备检测跟主RTMP流媒体服务器接通后,无论备用RTMP流媒体服务器是否接通,主播设备自动将音视频流切换到主RTMP流媒体服务器,并强制编码成I帧数据进行发送,当实时性要求不严格时,RTMP主播设备向主RTMP流媒体服务器发送音视频数据时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由主RTMP流媒体服务器进行处理,或I帧数据的检测直接由客户端解码器进行处理。本专利技术提供的RTMP流媒体直播系统的设计方法可以解决系统上行带宽不足的问题。本专利技术具有以下优点: 1、主播设备采用RTMP协议,在公网上进行流媒体直播时,具有良好的网络穿透性。2、主播设备具有动态编码功能,在出现主、备服务器切换时,可实时强制编码出I帧数据,具有良好的编码自适应性。3、主播设备主动向RTMP流媒体服务器进行注册,并不需要RTMP主播设备具有固定IP地址,也能实时检测到RTMP流媒体服务器是否发生故障。4、主RTMP流媒体服务器与备用RTMP流媒体服务器可部署在不同地方,在整个过程中流媒体服务器相互间并不需要通信,更无需像现有技术中的那样需要涉及到复杂的数据同步与业务接管问题。5、主备份流媒体服务器的自动切换过程全部由前端RTMP主播设备完成,在整个直播系统部署时,并不会因为前端设备数量的增加而造成后端流媒体服务器的部署变复杂,也不会因此而增加后端流媒体服务器的切换开销。【附图说明】图1是本专利技术实施例的系统结构示意图。图2是本专利技术实施例的方法流程图。图3是本专利技术实施例的强制I帧编码模型原理结构示意图。【具体实施方式】以下结合附图对本专利技术的优选实施例进行说明,应当理解此处所描述的优选实施例仅用于说明和解释本专利技术并不用于限定本专利技术。参见附图1,它示出了本实施例的RTMP流媒体直播系统热备份系统,所有RTMP主播设备101分别通过网线与主RTMP流媒体服务器1031及备用RTMP流媒体服务器1032相连,客户端104对RTMP主播设备101的访问,由主、备RTMP流媒体服务器1031、1032进行分发处理。系统部署时,RTMP主播设备101与网络交换设备102位于家庭、学校、公司等流媒体发布系统内部,再通过ADS本文档来自技高网...
【技术保护点】
一种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帧数据进行发送。
【技术特征摘要】
【专利技术属性】
技术研发人员:秦永红,
申请(专利权)人:秦永红,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。