一种rtmp流媒体公网直播系统及其设计方法_3

文档序号:8286231阅读:来源:国知局
,服务器103收到一个停止直播请求后,将该停止直播请求信令转发给相应的RTMP主播设备101。
[0037]如果分析TLoginPkt为在线用户请求视频停止,当分析出RTMP主播设备101的TMsgID号为1001、在线用户数UserCnt为I时,所请求用户的bLive = true时,则表示正在向流媒体服务器103推送RTMP流,当RTMP主播设备101分析收到的TMsgID号为1006时,则停止向流媒体服务器103推送RTMP流,但RTMP连接并不断开,编码线程正常编码工作;当实时性要求不严格时,RTMP连接断开,编码线程正常编码工作,或者,RTMP连接断开,并将编码线程的编码工作关闭;当所请求用户的bLive = flase时,则RTMP主播设备101忽略请求。当在线用户数UserCnt为大于I时,当RTMP主播设备101分析收到的TMsgID号为1006时,则继续向流媒体服务器103推送RTMP流。如果分析出RTMP主播设备101的TMsgID号为1002时,当RTMP主播设备101分析收到的TMsgID号为1006时,则RTMP主播设备101忽略请求。
[0038]在本实施例中,在流媒体直播过程中,根据是否存在用户视频请求接入、进行RTMP流的推送开关处理;根据是否存在网络丢失视频帧,来进行强制生成I帧输出。所以,本发明实施例提供的方法在不影响用户观看视频效果、不增加网络带宽的前提下,可以提高视频直播的效率,进而节省视频网络传输带宽。
[0039]图4是本发明实施例的强制I帧编码模型原理结构示意图,该方法包括:
401、采集视频数据,并将数据编码成H.264格式;
在进行媒体数据传输时,为了节省带宽,将视频数据编码成H.264 (high profile)格式。视频编码过程中,分别编码关键帧I帧及预测帧P帧,每隔一个预设定的G0P(Group ofPictures)值个数的视频帧生成一个I帧关键帧,即每隔GOP个P帧生成一个固定I帧。
[0040]402、如果存在用户视频请求接入,则要强制生成I帧关键帧;
因为新用户视频请求接入时,解码端必须接收到I帧作为参考帧才能对后续的视频帧进行解码播放。
[0041]403、如果不存在新用户接入网络,则每隔预设定值来生成一个固定I帧;
如果不存在新用户接入网络,则每隔预设定值来生成一个固定I帧。由于在同等视频效果的前提下,P帧的压缩比例要比I帧大很多,所以在没有新用户请求接入的时候,可以提高网络视频的压缩率,减少视频数据包的大小,从而降低网络视频传输的带宽压力。进一步地,判断是否存在新用户视频请求接入后,还应该包括: 判断预设定GOP值的该段时间内网络视频在线播放是否存在视频丢帧现象;
相应地,如果不存在新用户请求接入该网络视频,则将当前要生成的帧设置成为P帧,包括:
如果在该时间内存在网络丢失视频帧,且不存在新用户请求接入该网络视频,则将当前要生成的帧强制设置成I帧,并将GOP缩短为原来的一半且取整。在丢包的情况下,为了快速恢复视频,将GOP值减小,以便保证视频解码播放时在线用户的观看效果。
[0042]如果在该时间内不存在网络丢失视频帧,且不存在新用户请求接入该网络视频,则将当前要生成的帧设置成P帧,且GOP为预设定值。
[0043]在本实施例中,在流媒体直播过程中,每隔预设定GOP值个数的视频帧生成一个关键帧I帧,并根据是否存在新用户视频请求接入、是否存在网络丢失视频帧,来进行强制生成I帧并动态调整GOP的值。所以,本发明实施例提供的方法在不影响用户观看视频效果的前提下,可以提高直播视频的压缩率,进而节省视频网络传输带宽。
[0044]
以上结合具体实例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明的构思和范围进行限定。在不脱离本发明设计构思的前提下,任何对本发明的技术方案做出的各种变型和改进,都将落入本发明的保护范围之内。
【主权项】
1.一种RTMP流媒体公网直播系统设计方法,其特征在于:包括以下步骤: 步骤1,主播设备采集线程采集音视频数据,并编码成高分辨率和低分辨率的H.264视频数据与AAC音频数据; 步骤2,主播设备连接到流媒体服务器,并将流媒体数据推送到流媒体服务器; 步骤3,流媒体服务器请求信令分析并进行流媒体分发: 流媒体服务器收到用户接入请求后,先分析该请求的流是否已经向其正在发送流,如果没有向流媒体服务器发送流,则先将该流请求转发给主播设备,当主播设备启动向流媒体服务器推送RTMP流后,流媒体服务器将此流分发给所请求的用户; 如果已经在向流媒体服务器发送流,则不必再将该流请求转发给主播设备,流媒体服务器直接将对应的RTMP流分发给所请求的用户; 步骤4,客户端显示。
2.根据权利要求1所述的RTMP流媒体公网直播系统设计方法,其特征在于:所述步骤3包括: 当主播设备收到RTMP流媒体服务器发送的开始音视频发送信令时,音视频发送线程开始发送,并强制编码成I帧数据进行发送;当实时性要求不严格时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由流媒体服务器进行处理,或者I帧数据的检测流媒体服务器也不用进行处理,直接由客户端解码器进行处理; 当主播设备收到RTMP流媒体服务器发送的停止音视频发送信令时,音视频发送线程停止发送,但RTMP连接并不断开,编码线程正常编码工作;当实时性要求不严格时,RTMP连接断开,编码线程正常编码工作,或者,RTMP连接断开,并将编码线程的编码工作关闭。
3.根据权利要求1所述的RTMP流媒体公网直播系统设计方法,其特征在于:所述步骤3还包括:RTMP流媒体服务器检测到网络带宽出现预设定阀值时,向主播设备发送编码副码流视频信令,主播设备收到信令后,编码器切换到编码副码流,并强制编码成I帧数据进行发送; 当实时性要求不严格时,当主播设备收到服务器发送的编码副码流视频信令时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由流媒体服务器进行处理,或直接由客户端解码器进行处理。
4.根据权利要求2或3所述的RTMP流媒体公网直播系统设计方法,其特征在于:所述的强制I帧数据编码方法如下: 采集视频数据,将数据编码成H.264格式;如果存在用户视频请求接入,强制生成I帧关键帧;如果不存在新用户接入网络,则每隔预设定值来生成一个固定I帧。
5.根据权利要求4所述的RTMP流媒体公网直播系统设计方法,其特征在于:所述的强制I帧数据编码方法,进一步地,判断是否存在新用户视频请求接入后,还应该包括: 判断预设定GOP值的该段时间内网络视频在线播放是否存在视频丢帧现象; 相应地,如果不存在新用户请求接入该网络视频,则将当前要生成的帧设置成为P帧,包括: 如果在该时间内存在网络丢失视频帧,且不存在新用户请求接入该网络视频,则将当前要生成的帧强制设置成I帧,并将GOP缩短为原来的一半且取整; 如果在该时间内不存在网络丢失视频帧,且不存在新用户请求接入该网络视频,则将当前要生成的帧设置成P帧,且GOP为预设定值。
6.按权利要求1至5所述设计方法的RTMP流媒体公网直播系统,包括能实现前述设计方法的RTMP主播设备、网络交换设备、RTMP流媒体服务器和客户端。
【专利摘要】本发明公开了一种RTMP流媒体公网直播系统及其设计方法,属于视频管理系统。本发明的系统包括RTMP主播设备、网络交换设备、RTMP流媒体服务器和客户端,其中,主播设备采集线程采集音视频数据,并编码成高分辨率和低分辨率的H.264视频数据与AAC音频数据;主播设备连接到流媒体服务器,并将流媒体数据推送到流媒体服务器;流媒体服务器请求信令分析并进行流媒体分发:客户端显示。本发明的优点是主播设备具有动态开、关推流功能,在出现系统内架设多台RTMP主播设备,且上行带宽不足时,具有良好的带宽适应性。
【IPC分类】H04N21-643, H04N21-8547, H04N21-2343, H04N21-258
【公开号】CN104602044
【申请号】CN201510060136
【发明人】秦永红
【申请人】秦永红
【公开日】2015年5月6日
【申请日】2015年2月5日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1