一种实现录播的方法及系统的制作方法

文档序号:7854212阅读:192来源:国知局
专利名称:一种实现录播的方法及系统的制作方法
技术领域
本发明属于即时通信领域,尤其涉及一种实现录播的方法及系统。
背景技术
随着信息化社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。在实际使用中,音视频流播放的流畅与否对网络会议质量起着关键作用。在现有的视频会议中,客户端播放音视频时,常常出现播放不流畅的现象,严重影响了视频会议的质量。

发明内容
本发明提供一种实现录播的方法及系统以解决上述问题。本发明提供一种实现录播的方法,包括以下步骤。发送端及接收端分别与服务器建立连接,所述发送端发送流媒体数据至所述服务器。所述服务器缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端。所述接收端根据接收的所述处理策略,进行相应处理。本发明提供一种实现录播的系统,包括发送端、服务器及接收端,所述发送端连接所述服务器,所述服务器连接所述接收端。所述发送端,用于与服务器建立连接后,向所述服务器发送流媒体数据。所述服务器,用于缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端。所述接收端,用于根据接收的所述处理策略,进行相应处理。相较于先前技术,根据本发明提供的实现录播的方法及系统,发送端及接收端分别与服务器建立连接,服务器接收并缓存所述发送端发送的流媒体数据后,根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端。所述接收端根据接收的所述处理策略,进行相应处理。如此,接收端在服务器缓存流媒体数据后,根据服务器发送的不同策略分别做出相应处理,确保了不同状况下的流媒体流畅播放,提升了音视频的播放质量。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I所示为根据本发明的较佳实施例提供的实现录播的方法的流程图;图2所示为根据本发明的较佳实施例提供的实现录播的系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图I所示为根据本发明的较佳实施例提供的实现录播的方法的流程图。如图I所示,本发明的较佳实施例提供的实现录播的方法包括步骤IOf 103。步骤101 :发送端及接收端分别与服务器建立连接,所述发送端发送流媒体数据至所述服务器。具体而言,发送端建立与服务器的连接,并发送流媒体数据至服务器。此外,至少一个接收端建立与服务器的连接,接收端设定自身缓冲区极限值及缓冲区初始值并通知所述服务器,且所述接收端设定自身缓冲区大小为缓冲区初始值。其中,所述接收端建立连接的时间,可以在发送端与服务器建立连接之前,也可以在发送端与服务器建立连接之后或者发送端与服务器建立连接的同时,对此本发明并不作限定。步骤102 :所述服务器缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端。

具体而言,服务器接收发送端发送的流媒体数据后,缓存在服务器的缓冲区中。于此,所述服务器的缓冲区大小不超过服务器自身的内存大小,所述缓冲区大小占服务器内存大小的具体比例,可由服务器根据实际需要自行设置,对此本发明并不作限定。服务器比较缓存的流媒体数据大小及服务器缓冲区大小,根据所述比较结果及超过服务器缓冲区的流媒体数据大小与接收端缓冲区初始值及缓冲区极限值的比较结果,制定四种不同的处理策略,并发送给接收端。如上所述,当服务器缓存的流媒体数据大小大于服务器的缓冲区大小,且超过服务器缓冲区的流媒体数据大小小于或者等于接收端的缓冲区初始值时,服务器向接收端发送第一处理策略,即,服务器直接向接收端发送下载通知,并向接收端发送服务器缓冲区中的流媒体数据。当服务器缓存的流媒体数据大小大于服务器的缓冲区大小,且超过服务器缓冲区的流媒体数据大小大于接收端的缓冲区初始值且小于或者等于接收端的缓冲区极限值时,服务器向接收端发送第二处理策略服务器设定接收端缓冲区大小后,将设定的接收端缓冲区大小信息通知接收端,并向接收端发送服务器缓冲区中的流媒体数据;或者服务器将超过服务器缓冲区的流媒体数据大小信息通知接收端,并向接收端发送服务器缓冲区中的流媒体数据。当服务器缓存的流媒体数据大小大于服务器的缓冲区大小,且超过服务器缓冲区的流媒体数据大小大于接收端的缓冲区极限值时,服务器向接收端发送第三处理策略月艮务器重新设定接收端缓冲区大小为缓冲区极限值,并将设定的接收端缓冲区大小信息通知接收端,并向接收端发送服务器缓冲区中的流媒体数据;或者服务器将超过服务器缓冲区的流媒体数据大小信息通知接收端,并向接收端发送服务器缓冲区中的流媒体数据。若服务器缓存的流媒体数据大小小于或者等于服务器的缓冲区大小,服务器向接收端发送第四处理策略服务器直接将服务器缓冲区中的流媒体数据发送给接收端。于此,服务器可设定服务器缓冲区的播放值,播放值小于或者等于服务器的缓冲区大小。当服务器缓存的流媒体数据大小达到播放值时,服务器将自身缓冲区中的流媒体数据发送给接收端。上述实施例中,所述服务器设定接收端缓冲区大小的方法为所述服务器预设接收端的流媒体数据缓存时间,所述缓存时间乘以所述流媒体数据的传输速率即为重新设定的接收端缓冲区大小。此外,所述服务器也可直接设定接收端缓冲区大小并通知所述接收端。其中,所述服务器及接收端的缓冲区可按存储空间计量,也可按存储时间计量,对此本发明不作限定。步骤103 :所述接收端根据接收的所述处理策略,进行相应处理。具体而言,按照步骤102,若接收端接收到第一处理策略,所述接收端根据所述下载通知到服务器下载所述超过服务器缓冲区的流媒体数据并播放所述服务器缓冲区中的流媒体数据。若接收端接收到第二处理策略,所述接收端根据接收到的服务器设定的接收端缓冲区大小信息,将自身缓冲区调整为所述设定的接收端缓冲区大小,并播放所述服务器缓冲区中的流媒体数据。或者所述接收端根据所述超过服务器缓冲区的流媒体数据大小信息自行调整接收端缓冲区大小,并播放所述服务器缓冲区中的流媒体数据。 若接收端接收到第三处理策略,所述接收端根据接收到的服务器设定的接收端缓冲区极限值,将自身缓冲区调整为所述缓冲区极限值,并播放所述服务器缓冲区中的流媒体数据。或者所述接收端根据所述超过服务器缓冲区的流媒体数据大小信息自行将接收端缓冲区大小调整为缓冲区极限值,并播放所述服务器缓冲区中的流媒体数据。若接收端接收到第四处理策略,则直接播放所述服务器缓冲区中的流媒体数据。于此,上述接收端从服务器下载的超过所述服务器缓冲区的流媒体数据,是指接收端到服务器开始下载流媒体数据时,从所述流媒体数据当前超过所述服务器缓冲区的部分开始下载。于本实施例中,接收端从服务器下载超过所述服务器缓冲区的流媒体数据,于其它实施例中,服务器向接收端发送通知后,所述服务器也可直接向所述接收端发送所述流媒体数据。于上述实施例中,若超过服务器缓冲区的流媒体数据大小小于或者等于接收端的缓冲区初始值,则当接收端缓存的流媒体数据大小达到接收端的缓冲区初始值时,接收端开始播放缓存的流媒体数据。若接收端根据服务器设定的接收端缓冲区大小将自身缓冲区调整为所述设定的接收端缓冲区大小,则当接收端缓存的流媒体数据大小达到服务器设定的接收端缓冲区大小时,接收端开始播放缓存的流媒体数据。若接收端根据超过服务器缓冲区的流媒体数据大小信息自行调整接收端缓冲区大小,则当接收端缓存的流媒体数据大小达到接收端自行调整接收端缓冲区大小时,接收端开始播放缓存的流媒体数据。所述接收端下载所述超过服务器缓冲区的流媒体数据后,按所述流媒体数据的时间戳播放所述流媒体数据。上述各操作分别由发送端及接收端调用Flash的API完成。举例而言,发送端及接收端分别调用Flash函数Connection, conn (url, port)建立与服务器的连接后,发送端调用函数NetStream. publish (name)发送流媒体数据到服务器。接收端分别设定自身缓冲区极限值为500M及缓冲区初始值为300M并通知服务器后,接收端设定自身缓冲区大小为300M。若服务器内存为4G且所述服务器设定IG为服务器缓冲区,并设定服务器缓冲区的播放值为1G。若A时刻,服务器接收到的流媒体数据为
I.1G。于此,超过服务器缓冲区的流媒体数据大小为O. 1G,不超过所述接收端的缓冲区初始值300M,则服务器直接向接收端发送下载通知,并向所述接收端发送所述服务器缓冲区中的所述流媒体数据,接收端接收并播放服务器发送的流媒体数据。接收端接收所述下载通知后,调用Flash函数NetStream. play从服务器下载超过服务器缓冲区的流媒体数据。若流媒体数据传输速度为10M/S,从所述服务器向接收端发出通知至接收端到服务器下载数据的时间为O. 1S,则接收端从所述服务器接收的流媒体数据第IG+ (10*0. 1)M处开始下载,即在A+0. IS的时刻,接收端从服务器下载的流媒体数据大小为I. IG-[IG+ (10*0. 1)M]=O. 1G-1M=102. 4M-1M=101. 4M。接收端将所述下载的流媒体数据(101. 4M)缓存在本地缓冲区中,当接收端缓冲区中的数据达到所述缓冲区初始值(即,300M)时,接收端开始播放自身缓冲区中的流媒体数据。图2所示为根据本发明的较佳实施例提供的实现录播的系统的示意图。如图2所示,本发明的较佳实施例提供的实现录播的系统包括发送端201、服务器202及接收端203,所述发送端201连接所述服务器202,所述服务器202连接所述接收端203。所述发送端201,用于与服务器202建立连接后,向所述服务器202发送流媒体数据。所述服务器202,用于缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器202缓冲区大小,制定并发送处理策略至接收端203。所述接收端203,用于根据接收的所述处理策略,进行相应处理。关于上述系统的操作流程同上述方法所述,故于此不再赘述。综上所述,根据本发明较佳实施例提供的实现录播的方法及系统,发送端及接收 端分别与服务器建立连接,服务器接收并缓存所述发送端发送的流媒体数据后,根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端。所述接收端根据接收的所述处理策略,进行相应处理。如此,服务器缓存流媒体数据的同时,进行流媒体数据大小的监控并对接收端发送不同处理策略,确保了不同状况下的流媒体流畅播放,提升了音视频的播放质量。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现录播的方法,其特征在于,包括以下步骤 发送端及接收端分别与服务器建立连接,所述发送端发送流媒体数据至所述服务器; 所述服务器缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端; 所述接收端根据接收的所述处理策略,进行相应处理。
2.根据权利要求I所述的方法,其特征在于,接收端设定自身缓冲区极限值及缓冲区初始值并通知所述服务器,且所述接收端设定自身缓冲区大小为缓冲区初始值。
3.根据权利要求2所述的方法,其特征在于,当所述服务器缓存的流媒体数据大小大于所述服务器的缓冲区大小,且超过所述服务器缓冲区的流媒体数据大小小于或者等于所述接收端的缓冲区初始值时,所述服务器向所述接收端发送的处理策略为所述服务器直接向所述接收端发送下载通知,并向所述接收端发送所述服务器缓冲区中的流媒体数据。
4.根据权利要求2所述的方法,其特征在于,当所述服务器缓存的流媒体数据大小大于所述服务器的缓冲区大小,且超过所述服务器缓冲区的流媒体数据大小大于所述接收端的缓冲区初始值且小于或者等于所述接收端的缓冲区极限值时,所述服务器向所述接收端发送的处理策略为所述服务器设定所述接收端缓冲区大小后,将所述设定的接收端缓冲区大小信息通知所述接收端,并向所述接收端发送所述服务器缓冲区中的流媒体数据;或者所述服务器将所述超过服务器缓冲区的流媒体数据大小信息通知所述接收端,并向所述接收端发送所述服务器缓冲区中的流媒体数据。
5.根据权利要求2所述的方法,其特征在于,当所述服务器缓存的流媒体数据大小大于所述服务器的缓冲区大小,且超过所述服务器缓冲区的流媒体数据大小大于所述接收端的缓冲区极限值时,所述服务器向所述接收端发送的处理策略为所述服务器重新设定所述接收端缓冲区大小为所述缓冲区极限值,并将所述设定的接收端缓冲区大小信息通知所述接收端,并向所述接收端发送所述服务器缓冲区中的流媒体数据;或者所述服务器将所述超过服务器缓冲区的流媒体数据大小信息通知所述接收端,并向所述接收端发送所述服务器缓冲区中的流媒体数据。
6.根据权利要求I所述的方法,其特征在于,若所述服务器缓存的流媒体数据大小小于或者等于所述服务器的缓冲区大小,所述服务器向所述接收端发送的处理策略为所述服务器直接将所述服务器缓冲区中的流媒体数据发送给所述接收端。
7.根据权利要求I所述的方法,其特征在于,若所述处理策略为,所述服务器直接向所述接收端发送下载通知,并向所述接收端发送所述服务器缓冲区中的流媒体数据,则所述接收端根据所述下载通知到服务器下载所述超过服务器缓冲区的流媒体数据并播放所述服务器缓冲区中的流媒体数据;若所述处理策略为,服务器设定所述接收端缓冲区大小并将所述设定的接收端缓冲区大小信息通知接收端,并将所述服务器缓冲区中的流媒体数据发送给所述接收端,或者服务器将所述超过服务器缓冲区的流媒体数据大小信息通知所述接收端,并将所述服务器缓冲区中的流媒体数据发送给所述接收端,则所述接收端根据服务器通知调整所述接收端缓冲区大小并播放所述服务器缓冲区中的流媒体数据;若所述处理策略为,服务器直接将所述服务器缓冲区中的流媒体数据发送给所述接收端,所述接收端播放所述服务器缓冲区中的流媒体数据。
8.一种实现录播的系统,其特征在于,包括发送端、服务器及接收端,所述发送端连接所述服务器,所述服务器连接所述接收端, 所述发送端,用于与服务器建立连接后,向所述服务器发送流媒体数据; 所述服务器,用于缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端; 所述接收端,用于根据接收的所述处理策略,进行相应处理。
全文摘要
本发明提供一种实现录播的方法及系统,本发明方法包括以下步骤。发送端及接收端分别与服务器建立连接,所述发送端发送流媒体数据至所述服务器。所述服务器缓存所述流媒体数据,并根据缓存的所述流媒体数据大小及所述服务器缓冲区大小,制定并发送处理策略至接收端。所述接收端根据接收的所述处理策略,进行相应处理。
文档编号H04L29/06GK102769611SQ201210210398
公开日2012年11月7日 申请日期2012年6月25日 优先权日2012年6月25日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1