一种缓存帧数据的方法及系统的制作方法

文档序号:7858606阅读:114来源:国知局
专利名称:一种缓存帧数据的方法及系统的制作方法
技术领域
本发明属于即时通信领域,尤其涉及一种缓存帧数据的方法及系统。
背景技术
随着信息化社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。在实际使用中,音视频数据播放的流畅与否对网络会议质量起着关键作用。于现有技术中,为压缩视频文件容量,通常视频帧数据中两个相邻关键帧之间的间隔帧数量较大。当客户端播放此类视频帧数据时,常常出现播放不连续、甚至延迟十分严重的现象,降低了客户体验。

发明内容
本发明提供一种缓存帧数据的方法及系统以解决上述问题。本发明提供一种缓存帧数据的方法,包括以下步骤。发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据。所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。本发明提供一种缓存帧数据的系统,包括发送端、服务器及接收端,所述发送端连接所述服务器,所述服务器连接所述接收端。所述发送端,用于与服务器建立连接后向所述服务器发送帧数据。所述服务器,用于接收并解析所述帧数据后,缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。所述接收端,用于与所述服务器建立连接后,接收并播放所述服务器推送的关键帧及参照帧。相较于先前技术,根据本发明提供的缓存帧数据的方法及系统,发送端与服务器建立连接后向服务器发送帧数据。所述服务器解析并缓存帧数据的关键帧及相应参照帧,当服务器接收到下一个关键帧时,重新开始缓存下一个关键帧及其相应参照帧,可实现网页上视频数据的录播。接收端与服务器建立连接后,服务器根据接收端的请求推送或主动推送当前缓存的关键帧及参照帧至所述接收端,如此,有效解决了帧视频播放不连续及延迟时间长的问题,保证了视频会议的质量。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I所示为根据本发明的较佳实施例提供的缓存帧数据的方法流程图;图2所示为根据本发明的较佳实施例提供的缓存帧数据的系统示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图I所示为根据本发明的较佳实施例提供的缓存帧数据的方法。如图I所示,本发明的较佳实施例提供的缓存帧数据的方法包括步骤IOf 103。步骤101 :发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据。具体而言,所述发送端向服务器发送的帧数据,可以为所述发送端本地存储的视频帧数据,也可以为所述发送端实时录制的视频帧数据。所述服务器接收帧数据后,解析所
述帧数据的方式为,获取所述帧数据的第一个字节,并根据所述第一个字节判断所述帧数据为关键帧或参照帧。若帧数据中数据包的第一个字节是0x12或者0x17,该帧为关键帧,否则该帧为参照帧。步骤102 :所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。具体而言,所述服务器解析所述帧数据并查找到所述关键帧后,标记所述关键帧的位置,并缓存所述关键帧及所述关键帧之后的参照帧。当所述服务器接收到下一个关键帧时,重新标记所述下一个关键帧,并缓存所述下一个关键帧及其相应参照帧,即服务器只缓存最新接收的关键帧及其相应参照帧。其中,所述服务器接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧的方式为所述服务器缓存完所述下一个关键帧及其相应参照帧后,删除之前缓存的关键帧及相应参照帧;或者所述服务器缓存所述下一个关键帧及其相应参照帧的同时,删除之前缓存的关键帧及相应参照帧。步骤103 :接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。具体而言,接收端与服务器建立连接的时间,可以在发送端与服务器建立连接之前,也可以在发送端与服务器建立连接的同时或之后。所述服务器推送所述当前缓存的关键帧及参照帧至所述接收端时,调整所述关键帧的时间戳为零。其中,所述服务器从第二个关键帧开始调整时间戳,对于第一个关键帧,则不需调整时间戳。所述接收端接收所述关键帧及参照帧后,按照所述时间戳播放所述关键帧及参照帧。举例而言,发送端通过rtmp协议,使用flash函数NetConnect. connect ()建立与服务器之间的连接后,所述发送端通过Camera对象获取视频帧数据,并使用flash函数NetStream. publish O将所述视频帧数据发送到服务器。若某一时刻,服务器接收到一帧数据且判断该帧数据为关键帧(即,I帧),则服务器标记所述I帧的位置,并缓存所述I帧及其相应参照帧P帧(依次为Pl帧、P2帧……)到内存中inSertIFrame(thiS)。所述服务器缓存完所述I帧及相应P帧的帧数据后,删除缓存的上一组帧数据。若此时接收端与服务器建立连接并向服务器发送请求,服务器向所述接收端发送数据的同时,修改所述I帧的时间戳为零,并依次修改其相应参照帧的时间戳(即Pl帧时间戳为一,P2帧时间戳为二并依此类推)。接收端接收到所述I帧及相应P帧帧数据后,按照时间戳播放所述帧数据。图2所示为本发明的较佳实施例提供的缓存帧数据的系统示意图。如图2所示,本发明的较佳实施例提供的缓存帧数据的系统包括发送端201、服务器202及接收端203,所述发送端201连接所述服务器202,所述服务器202连接所述接收端203。所述发送端201,用于与服务器202建立连接后向所述服务器203发送帧数据。所述服务器203,用于接收并解析所述帧数据后,缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。所述接收端203,用于与所述服务器202建立连接后,接收并播放所述服务器202推送的关键帧及参照帧。关于上述系统的操作流程同上述方法所述,故于此不再赘述。综上所述,根据本发明的较佳实施例提供缓存帧数据的方法及系统,发送端与服务器建立连接后向服务器发送帧数据。所述服务器解析并缓存帧数据的关键帧及相应参照帧,当服务器接收到下一个关键帧时,重新开始缓存下一个关键帧及其相应参照帧,可实现网页上视频数据的录播。接收端与服务器建立连接后,服务器根据接收端的请求推送或主动推送当前缓存的关键帧及参照帧至所述接收端,如此,有效解决了帧视频播放不连续及延迟时间长的问题,保证了视频会议的质量。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种缓存帧数据的方法,其特征在于,包括以下步骤 发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据; 所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧; 接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。
2.根据权利要求I所述的方法,其特征在于,所述服务器解析所述帧数据后,标记所述关键帧,并缓存所述关键帧及其相应参照帧。
3.根据权利要求I所述的方法,其特征在于,所述服务器解析所述帧数据的方式为,获取所述帧数据的第一个字节,并根据所述第一个字节判断所述帧数据为关键帧或参照帧。
4.根据权利要求I所述的方法,其特征在于,所述服务器推送所述当前缓存的关键帧及参照帧至所述接收端时,调整所述关键帧的时间戳为零。
5.根据权利要求I所述的方法,其特征在于,所述接收端接收所述关键帧及参照帧后,按照所述时间戳播放所述关键帧及参照帧。
6.根据权利要求I所述的方法,其特征在于,所述服务器接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧的方式为,所述服务器缓存完所述下一个关键帧及其相应参照帧后,删除之前缓存的关键帧及相应参照帧。
7.根据权利要求I所述的方法,其特征在于,所述服务器接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧的方式还可以为,所述服务器缓存所述下一个关键帧及其相应参照帧的同时,删除之前缓存的关键帧及相应参照帧。
8.一种缓存帧数据的系统,其特征在于,包括发送端、服务器及接收端,所述发送端连接所述服务器,所述服务器连接所述接收端, 所述发送端,用于与服务器建立连接后向所述服务器发送帧数据, 所述服务器,用于接收并解析所述帧数据后,缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧, 所述接收端,用于与所述服务器建立连接后,接收并播放所述服务器推送的关键帧及参照帧。
全文摘要
本发明提供一种缓存帧数据的方法及系统,本发明方法包括以下步骤。发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据。所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。
文档编号H04N7/15GK102857730SQ20121030136
公开日2013年1月2日 申请日期2012年8月23日 优先权日2012年8月23日
发明者胡加明, 刘晓东, 其他发明人请求不公开姓名 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1