一种直播缓存系统及方法技术方案

技术编号:19938574 阅读:46 留言:0更新日期:2018-12-29 06:43
本发明专利技术公开了一种直播缓存系统及方法,所述系统运行在直播缓存服务器上,当多个客户端向直播缓存系统请求FLV直播视频流时,所述系统从视频节目源站获取直播视频流并为多个客户端提供直播缓存服务。通过本发明专利技术的系统,直播流量优化上线后,为运营商出口带宽减少了5G流量,避免了运营商的出口瓶颈,也减少了购买出口带宽的花费;并提高了用户观看直播的体验。

【技术实现步骤摘要】
一种直播缓存系统及方法
本专利技术涉及互联网领域,具体涉及一种直播缓存系统及方法。
技术介绍
伴随着互联网带宽和速度的提升,目前互联网从原本集中在网页流量和即时通讯的文本传输,迅速变成了集中在高速下载,高码率视频边下边播的视频业务上,尤其近年开始转向直播业务。而对于中小运营商来说,大部分网络视频资源并不存放在本地网络中,而是需要购买联通电信的出口才能够获取,而在上网高峰期之间,有可能会导致出口拥堵,进而影响用户的上网体验,对此,各个中小运营商对点播视频,采用了缓存技术来解决出口拥堵,提前将热度较高的点播数据下载到运营商本地网络,然后通过引导或劫持的方式将本地的视频请求重定向到缓存服务器上,避免的出口的拥塞。但是目前还没有针对直播业务的缓存,因为直播数据及时有效,很快就会过期,无法保存为文件。目前多个视频网站,使用FLV视频流为用户提供服务,FLV文件分为FLV视频头信息和视频数据,其中视频数据为视频帧和音频帧,而视频帧中包括多个关键帧,关键帧是帧间压缩编码的最重要帧,播放视频流的第一帧,如果视频流第一帧不是关键帧,可能会出现花屏等现象。FLV是FLASHVIDEO的简称,FLV流媒体格式是随着FlashMX的推出发展而来的视频格式。
技术实现思路
本专利技术对于目前缓存市场上缺少的直播缓存业务,提出了一种直播缓存系统及方法。为了实现上述目的,本专利技术提出了一种直播缓存系统,运行在直播缓存服务器上,当多个客户端向直播缓存系统请求FLV直播视频流时,所述系统从视频节目源站获取直播视频流并为多个客户端提供直播缓存服务。作为上述系统的一种改进,所述直播缓存系统包括:,视频节目记录模块、请求处理模块,视频代理请求模块、视频接收和解析模块及视频直播发送模块;所述视频节目记录模块,用于创建一个视频节目列表,该列表记录所有客户端请求的视频节目,在每个视频节目上创建和维护一个用户列表,用户列表记录请求该视频节目的客户端;每个视频节目上还包括一个缓存区;所述请求处理模块,用于接收客户端的FLV直播视频节目请求,并在视频节目列表中查询该视频节目是否存在,如果存在,将该客户端加入该视频节目的用户列表,向直播流发送模块发送直播流发送指令;否则,将该视频节目加入视频节目列表,并将该客户端加入该视频节目的用户列表,向视频请求模块发送视频代理请求指令,之后向直播流发送模块发送直播流发送指令;所述视频代理请求模块,用于在接收到视频代理请求指令后,向视频节目源站发送代理请求;所述视频接收和解析模块,用于接收和解析视频节目源站发送的视频流,获取该视频数据的FLV视频头,获得视频数据每个关键帧的位置并定位最近的关键帧,将FLV视频头和关键帧开始的视频数据组合形成直播流,放入该视频节目的缓存区;所述直播流发送模块,用于在接收到直播流发送指令后,将请求的视频节目的缓存区的直播流发送至请求该视频节目的客户端的用户,直到该直播视频被关闭或者用户主动关闭直播视频节目.作为上述系统的一种改进,所述视频节目记录模块,还用于维护视频节目列表,当一个视频节目列表的节目的用户列表为空时,将该节目的缓存区清空,并删除该节目。基于上述直播缓存系统,本专利技术还提出了一种直播缓存方法,所述方法包括:步骤1)所述视频节目记录模块创建一个视频节目列表,记录所有客户端请求的视频节目,在每个视频节目上创建一个用户列表,记录请求该视频节目的客户端;为每个视频节目上创建一个缓存区;步骤2)客户端向所述系统发送FLV视频节目请求,所述请求处理模块解析客户端用户的url,获得节目信息,并在视频节目列表中查询该节目是否存在,如果存在,转入步骤6);否则,进入步骤3);步骤3)将该视频节目加入视频节目列表,并将该客户端的用户加入该视频节目的用户列表,向视频请求模块发送视频代理请求指令;步骤4)所述视频代理请求模块接收到视频代理请求指令后,向视频节目源站发送代理请求;视频节目源站接收到该请求后,向所述系统发送视频流;步骤5)所述视频接收和解析模块接收视频节目源站发送的视频流,获取该视频数据的FLV视频头,获得视频数据每个关键帧的位置并定位最近的关键帧,将FLV视频头和关键帧开始的视频数据组合形成直播流,放入该视频节目的缓存区;步骤6)所述直播流发送模块在接收到直播流发送指令后,将请求的视频节目的缓存区的直播流发送至请求该视频节目的客户端的用户,直到该直播视频被关闭或者用户主动关闭直播视频节目。作为上述方法的一种改进,所述方法还包括:步骤7)所述视频节目记录模块对视频节目列表进行维护:当一个视频节目列表的节目的用户列表为空时,将该节目的缓存区清空,并删除该节目。本专利技术的优势在于:1、本专利技术的系统能够解析直播FLV数据内容,找出视频关键帧,当有用户请求时,将最近的关键帧和其他视频帧音频帧组成视频流,发送给用户;2、通过本专利技术的系统,如果多个用户观看同一个节目,只会下载一份直播流,而对每个用户,吐出最近的直播流数据;3、通过本专利技术的系统,对于多份用户直播请求,如果是同一个频道,只会出网一份流量,而吐出多份流量,减少了运营商的出口带宽压力;在避免出口拥塞的基础上,减少用户观看视频的卡顿,增加了用户体验;4、通过本专利技术的系统,直播流量优化上线后,为运营商出口带宽减少了5g流量,避免了运营商的出口瓶颈,也减少了购买出口带宽的花费;并提高了用户观看直播的体验。附图说明图1为本专利技术的的直播缓存系统的示意图;图2为本专利技术的实施例2的直播缓存方法的示意图;图3为本专利技术的用户访问直播缓存服务器的流程图;图4为本专利技术的用户访问直播缓存服务器接收视频源站发送的视频流的流程图;图5为本专利技术的直播缓存服务器从缓存区读取视频发送给用户的流程图;图6为本专利技术的直播缓存服务器对视频列表进行管理的流程图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细的说明。实施例1本专利技术的实施例1提出了一种直播缓存系统,运行在直播缓存服务器上,当多个客户端向直播缓存系统请求FLV直播视频流时,直播缓存系统为多个客户端提供缓存服务。所述直播缓存系统包括:视频节目记录模块,请求处理模块,视频代理请求模块,视频接收和解析模块及视频直播发送模块;所述视频节目记录模块,用于创建一个视频节目列表,该列表记录所有客户端请求的视频节目,在每个视频节目上创建一个用户列表,用户列表记录请求该视频节目的客户端;每个视频节目上还包括一个缓存区,用于记录从视频节目源站获取的该视频数据的FLV视频头和最近的关键帧;当一个视频节目列表的节目的用户列表为空时,将该节目的缓存区清空,删除该频道。所述请求处理模块,用于接收客户端的FLV直播视频节目请求,并在视频节目记录模块中查询该视频节目是否存在,如果存在,将该客户端加入该视频节目的用户列表,向直播流发送模块发送直播流发送指令;否则,将该视频节目加入视频节目列表,并将该客户端加入该视频节目的用户列表,向视频请求模块发送视频代理请求指令,之后向直播流发送模块发送直播流发送指令;所述视频代理请求模块,用于在接收到视频代理请求指令后,向视频节目源站发送代理请求;所述视频接收和解析模块,用于接收视频节目源站发送的视频流,获取该视频数据的FLV视频头,获得视频数据每个关键帧的位置并定位最近的关键帧,将FLV视频头和关键帧开始的视频数本文档来自技高网...

【技术保护点】
1.一种直播缓存系统,运行在直播缓存服务器上,其特征在于,当多个客户端向直播缓存系统请求FLV直播视频流时,所述系统从视频节目源站获取直播视频流并为多个客户端提供直播缓存服务。

【技术特征摘要】
1.一种直播缓存系统,运行在直播缓存服务器上,其特征在于,当多个客户端向直播缓存系统请求FLV直播视频流时,所述系统从视频节目源站获取直播视频流并为多个客户端提供直播缓存服务。2.根据权利要求1所述的直播缓存系统,其特征在于,所述直播缓存系统包括:,视频节目记录模块、请求处理模块,视频代理请求模块、视频接收和解析模块及视频直播发送模块;所述视频节目记录模块,用于创建一个视频节目列表,该列表记录所有客户端请求的视频节目,在每个视频节目上创建和维护一个用户列表,用户列表记录请求该视频节目的客户端;每个视频节目上还包括一个缓存区;所述请求处理模块,用于接收客户端的FLV直播视频节目请求,并在视频节目列表中查询该视频节目是否存在,如果存在,将该客户端加入该视频节目的用户列表,向直播流发送模块发送直播流发送指令;否则,将该视频节目加入视频节目列表,并将该客户端加入该视频节目的用户列表,向视频请求模块发送视频代理请求指令,之后向直播流发送模块发送直播流发送指令;所述视频代理请求模块,用于在接收到视频代理请求指令后,向视频节目源站发送代理请求;所述视频接收和解析模块,用于接收和解析视频节目源站发送的视频流,获取该视频数据的FLV视频头,获得视频数据每个关键帧的位置并定位当前直播时间点往前的最后一个关键帧,将FLV视频头和关键帧开始的视频数据组合形成直播流,放入该视频节目的缓存区;所述直播流发送模块,用于在接收到直播流发送指令后,将请求的视频节目的缓存区的直播流发送至请求该视频节目的客户端的用户,直到该直播视频被关闭或者用户主动关闭直播视频节目。3.根据权利要求2所述的直播缓存系统,其特征在于,所...

【专利技术属性】
技术研发人员:谢正强董博
申请(专利权)人:北京东方网信科技股份有限公司
类型:发明
国别省市:北京,11

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

1