当前位置: 首页 > 专利查询>秦永红专利>正文

一种RTMP流媒体公网直播系统及其设计方法技术方案

技术编号:11416553 阅读:103 留言:0更新日期:2015-05-06 17:03
本发明专利技术公开了一种RTMP流媒体公网直播系统及其设计方法,属于视频管理系统。本发明专利技术的系统包括RTMP主播设备、网络交换设备、RTMP流媒体服务器和客户端,其中,主播设备采集线程采集音视频数据,并编码成高分辨率和低分辨率的H.264视频数据与AAC音频数据;主播设备连接到流媒体服务器,并将流媒体数据推送到流媒体服务器;流媒体服务器请求信令分析并进行流媒体分发:客户端显示。本发明专利技术的优点是主播设备具有动态开、关推流功能,在出现系统内架设多台RTMP主播设备,且上行带宽不足时,具有良好的带宽适应性。

【技术实现步骤摘要】

本专利技术涉及一种流媒体技术设计方法,具体地,尤其涉及一种RTMP流媒体公网直播系统及其设计方法
技术介绍
在流媒体直播系统中,正在直播的RTMP流媒体通过网络传输给用户,观看该直播流的用户可能随时接入该网络,因为RTMP协议对视频进行主动推送,当系统内主播设备数量增加时,每台开启的RTMP主播设备都会向指定IP的流媒体服务器进行推流,在一定条件下必然会出现系统公网上行带宽瓶颈问题,造成网络拥塞,无法进行直播,如果是ADSL网络情况下进行RTMP主播,网络拥塞问题更为严重。目前,直播系统的架设通常采用如下几种方式去解决上述问题:1.              RTMP主播设备发送一份流到流媒体服务器,再由流媒体服务器进行分发处理。2.              降低主播设备视频编码码率、帧率、分辨率,以减少数据的传输。3.              通过专网或租用更高带宽,直接解决数据的传输问题。   但是,以上处理方法明显存在不足的地方:A.   对于1的处理方法,可解决单个RTMP主播设备视频流的分发问题,但是当系统内主播设备数量增加到一定条件下,即使每台RTMP主播设备都仅发送一份流到流媒体服务器,也必将会造成网络拥塞。B.   对于2的处理方法,当降低码率、帧率、分辨率时,一定会降低视频质量,并且当主播设备数量增加时,也必将造成网络拥塞。对于3的处理方法,则会造成用户成本增加,而且也不能完全解决上述问题。
技术实现思路
本专利技术目的在于针对上述技术问题,在现有系统的基础上,提出一种RTMP流媒体公网直播系统的设计方法,同时本专利技术还公开了利用上述设计方法而得的流媒体公网直播系统。本专利技术的流媒体公网直播系统包括RTMP主播设备、网络交换设备、RTMP流媒体服务器和客户端,其中,其中,网络交换设备一般不作特别要求。本专利技术的RTMP流媒体公网直播系统的设计方法,包括以下步骤:步骤1,主播设备采集线程采集音视频数据,并编码成高分辨率(主码流)和低分辨率(副码流)的H.264视频数据与AAC音频数据;步骤2,主播设备连接到流媒体服务器,并将流媒体数据推送到流媒体服务器:主播设备将编码后的音视频数据封装成符合RTMP协议的数据包,通过线程函数向服务器进行数据发送;步骤3,流媒体服务器请求信令分析并进行流媒体分发:当主播设备收到RTMP流媒体服务器发送的开始音视频发送信令时,音视频发送线程开始发送,并强制编码成I帧数据进行发送;当实时性要求不严格时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由流媒体服务器进行处理,或者I帧数据的检测流媒体服务器也不用进行处理,直接由客户端解码器进行处理;当主播设备收到RTMP流媒体服务器发送的停止音视频发送信令时,音视频发送线程停止发送,但RTMP连接并不断开,编码线程正常编码工作;当实时性要求不严格时,RTMP连接断开,编码线程正常编码工作,或者,RTMP连接断开,并将编码线程的编码工作关闭;当RTMP流媒体服务器检测到网络带宽出现预设定阀值时,向主播设备发送编码副码流视频信令,主播设备收到信令后,编码器切换到编码副码流,并强制编码成I帧数据进行发送。当实时性要求不严格时,当主播设备收到服务器发送的编码副码流视频信令时,并不用去强制编码成I帧数据进行发送,I帧数据的检测由流媒体服务器进行处理,或直接由客户端解码器进行处理;步骤4,客户端显示。本专利技术提供的RTMP流媒体直播系统的设计方法可以解决系统上行带宽不足的问题。本专利技术具有以下优点:1:主播设备采用RTMP协议,在公网上进行流媒体直播时,具有良好的网络穿透性。2:主播设备具有动态编码功能,在出现网络丢包问题时,具有良好的编码自适应性。3:特别是本专利技术的主播设备具有动态开、关推流功能,在出现系统内架设多台RTMP主播设备,且上行带宽不足时,具有良好的带宽适应性。4:主播设备、流媒体服务器均采用RTMP协议,前端用户并不需要固定IP,使用ADSL便可无鏠接入主播设备,方便用户组网。5:媒体流采用RTMP协议封装,能很好的适应IOS、Android等移动设备,并不需要另外安装APP客户端软件,在PC上也可通过网页进行音、视频浏览,也无需要另外安装PC客户端软件。附图说明图1是本专利技术实施例的系统原理结构示意图;图2是本专利技术实施例的方法流程图;图3是本专利技术实施例的网络通信模型原理结构示意图;图4是本专利技术实施例的强制I帧编码模型原理结构示意图。具体实施方案以下结合附图对本专利技术的优选实施例进行说明,应当理解此处所描述的优选实施例仅用于说明和解释本专利技术并不用于限定本专利技术。参见图1,本图意在从系统结构上对本实施例进行总体说明,所有RTMP主播设备101分别通过网络交换设备102—网线与RTMP流媒体服务器103相连,客户端104对RTMP主播设备流的访问,由RTMP流媒体服务器103进行分发处理。系统部署时,RTMP主播设备101与网络交换设备102位于家庭、学校、公司等流媒体发布系统内部,再通过ADSL或专网进行流媒体数据上传。流媒体服务器103位于运营商机房,客户端104位于能进行公网访问的各地。由图可知ADSL或专网的上行数据带宽将是系统瓶颈所在,当RTMP主播设备101的数量增加时,上行数据带宽压力也随着增大,如果此时简单采用扩充带宽的方式,运营成本将急剧增加。本专利技术处理方式说明如下:1、所有RTMP主播设备101开始运行时都向RTMP流媒体服务器103进行注册、RTMP连接;2、客户端104向RTMP流媒体服务器103发起直播请求时,RTMP流媒体服务器103分析请求信令,如确认所请求的RTMP主播设备101-1,检测网络带宽及预设定阀值,并向RTMP主播设备101-1发出直播请求。3、RTMP主播设备101-1接收到流媒体服务器103的直播请求信令并进行分析,根据分析结果进行相应的流媒体直播。4、如果RTMP主播设备101-1正在进行直播,RTMP主播设备101-2接收到客户端104的直播请求后,RTMP主播设备101-1停止向外推流,但保持RTMP连接,RTMP主播设备101-2启动向外推流。在本实施例中,在流媒体直播过程中,根据是否存在用户视频请求接入、退出,对RTMP主播设备101进行向外推流的开启与关闭处理。 所以,本专利技术实施例提供的方法在不增加网络带宽的前提下,可以解决当系统内主播设备101数量增加时,出现公网上行带宽不足的瓶颈问题。图2是本实施例的设计方法流程图,该方法包括以下步骤:201、主播设备101采集音视频数据,并将数据编码成H.264与AAC格式;     在进行媒体数据传输时,为了节省带宽,根据RTMP协议要求,将视频数据编码成H.264 (high profile)格式,音频数据编码成AAC格式,并为音视频数据分别打上时间戳,以便于本文档来自技高网...

【技术保护点】
一种RTMP流媒体公网直播系统设计方法,其特征在于:包括以下步骤:步骤1,主播设备采集线程采集音视频数据,并编码成高分辨率和低分辨率的H.264视频数据与AAC音频数据;步骤2,主播设备连接到流媒体服务器,并将流媒体数据推送到流媒体服务器;步骤3,流媒体服务器请求信令分析并进行流媒体分发:流媒体服务器收到用户接入请求后,先分析该请求的流是否已经向其正在发送流,如果没有向流媒体服务器发送流,则先将该流请求转发给主播设备,当主播设备启动向流媒体服务器推送RTMP流后,流媒体服务器将此流分发给所请求的用户;如果已经在向流媒体服务器发送流,则不必再将该流请求转发给主播设备,流媒体服务器直接将对应的RTMP流分发给所请求的用户;步骤4,客户端显示。

【技术特征摘要】
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流媒体公网直播系统设计方法,...

【专利技术属性】
技术研发人员:秦永红
申请(专利权)人:秦永红
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1