一种流媒体录播的方法及系统的制作方法

文档序号:7854211阅读:191来源:国知局
专利名称:一种流媒体录播的方法及系统的制作方法
技术领域
本发明属于即时通信领域,尤其涉及一种流媒体录播的方法及系统。
背景技术
随着信息化社会的飞速发展,各种各样的通信工具如飞信、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. IG并通知控制器。于此,超过服务器缓冲区的流媒体数据大小为0. 1G,不超过所述接收端的缓冲区初始值300M,则控制器直接向接收端发送下载通知,并通知服务器向所述接收端发送所述服务器缓冲区中的所述流媒体数据,接收端接收并播放服务器发送的流媒体数据。接收端接收所述下载通知后,调用Flash函数NetStream. play从服务器下载超过服务器缓冲区的流媒体数据。若流媒体数据传输速度为10M/S,从所述控制器向接收端发出通知至接收端到服务器下载数据的时间为0. 1S,则接收端从所述服务器接收的流媒体数据第IG+ (10*0. I) M处开始下载,即在A+0. IS的时刻,接收端从服务器下载的流媒体数据大小为I. IG-[IG+ (10*0. DM]=
0.1G-1M=102. 4M-1M=101. 4M。接收端将所述下载的流媒体数据(101. 4M)缓存在本地缓冲区中,当接收端缓冲区中的数据达到所述缓冲区初始值(即,300M)时,接收端开始播放自身缓冲区中的流媒体数据。 图2所示为根据本发明的较佳实施例提供的流媒体录播的系统的示意图。如图2所示,本发明的较佳实施例提供的流媒体录播的系统包括发送端201、服务器202、控制器203及接收端204,所述发送端201连接所述服务器202,所述服务器202分别连接所述控制器203及所述接收端204,所述控制器203连接所述接收端204。所述发送端201,用于与服务器202建立连接后,向所述服务器202发送流媒体数据。所述服务器202,用于缓存所述流媒体数据,并将缓存的所述流媒体数据大小及所述服务器202缓冲区大小发送给控制器203,并于接收所述处理策略后进行相应处理。所述控制器203,用于根据所述流媒体数据大小及所述服务器202缓冲区大小制定并发送处理策略至服务器202及接收端204,或者发送所述处理策略至服务器202。所述接收端204,用于根据接收的所述处理策略,进行相应处理。关于上述系统的操作流程同上述方法所述,故于此不再赘述。综上所述,根据本发明较佳实施例提供的流媒体录播的方法及系统,发送端向服务器发送流媒体数据,服务器接收并缓存所述发送端发送的流媒体数据后,将缓存的流媒体数据大小及所述服务器缓冲区大小发送给控制器,由控制器根据服务器发送的上述数据制定并发送处理策略至服务器及接收端,或者发送所述处理策略至服务器。服务器及接收端,或服务器根据控制器发送的处理策略进行相应处理。如此,控制器根据服务器缓存的数据及服务器缓冲区大小,对服务器及接收端(或仅向服务器)发送相应处理策略,确保了不同状况下的流媒体流畅播放,提升了音视频的播放质量。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种流媒体录播的方法,其特征在于,包括以下步骤 发送端与服务器建立连接后,所述发送端发送流媒体数据至所述服务器; 所述服务器缓存所述流媒体数据,并将缓存的所述流媒体数据大小及所述服务器缓冲区大小发送给控制器,所述控制器根据所述流媒体数据大小及所述服务器缓冲区大小制定并发送处理策略至服务器及接收端,或者所述控制器发送所述处理策略至服务器; 所述服务器及所述接收端,或者所述服务器根据接收的所述处理策略进行相应处理。
2.根据权利要求I所述的方法,其特征在于,接收端设定自身缓冲区极限值及缓冲区初始值并通知所述控制器,且所述接收端设定自身缓冲区大小为缓冲区初始值。
3.根据权利要求2所述的方法,其特征在于,当所述服务器缓存的流媒体数据大小大于所述服务器的缓冲区大小,且超过所述服务器缓冲区的流媒体数据大小小于或者等于所述接收端的缓冲区初始值时,所述控制器向服务器及接收端发送的处理策略为所述控制器直接向所述接收端发送下载通知,并通知所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据。
4.根据权利要求2所述的方法,其特征在于,当所述服务器缓存的流媒体数据大小大于所述服务器的缓冲区大小,且超过所述服务器缓冲区的流媒体数据大小大于所述接收端的缓冲区初始值且小于或者等于所述接收端的缓冲区极限值时,所述控制器向所述服务器及所述接收端发送的处理策略为所述控制器设定所述接收端缓冲区大小后,将所述设定的接收端缓冲区大小信息通知所述接收端,并通知所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据;或者所述控制器将所述超过服务器缓冲区的流媒体数据大小信息通知所述接收端,并通知所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据。
5.根据权利要求2所述的方法,其特征在于,当所述服务器缓存的流媒体数据大小大于所述服务器的缓冲区大小,且超过所述服务器缓冲区的流媒体数据大小大于所述接收端的缓冲区极限值时,所述控制器向所述服务器及所述接收端发送的处理策略为所述控制器重新设定所述接收端缓冲区大小为所述缓冲区极限值,并将所述设定的接收端缓冲区大小信息通知所述接收端,并通知所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据;或者所述控制器将所述超过服务器缓冲区的流媒体数据大小信息通知所述接收端,并通知所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据。
6.根据权利要求I所述的方法,其特征在于,若所述服务器缓存的流媒体数据大小小于或者等于所述服务器的缓冲区大小,所述控制器向所述服务器发送的处理策略为通知所述服务器将所述服务器缓冲区中的流媒体数据发送给所述接收端。
7.根据权利要求I所述的方法,其特征在于,若所述处理策略为,所述控制器直接向所述接收端发送下载通知,并通知所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据,则所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据,所述接收端根据所述下载通知到服务器下载所述超过服务器缓冲区的流媒体数据并播放所述服务器缓冲区中的流媒体数据;若所述处理策略为,控制器设定所述接收端缓冲区大小并将所述设定的接收端缓冲区大小信息通知接收端,并通知所述服务器将所述服务器缓冲区中的流媒体数据发送给所述接收端,或者控制器将所述超过服务器缓冲区的流媒体数据大小信息通知所述接收端,并通知所述服务器将所述服务器缓冲区中的流媒体数据发送给所述接收端,则所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据,所述接收端根据控制器通知调整所述接收端缓冲区大小并播放所述服务器缓冲区中的流媒体数据;若所述处理策略为,控制器直接通知服务器将所述服务器缓冲区中的流媒体数据发送给所述接收端,则所述服务器向所述接收端发送所述服务器缓冲区中的流媒体数据,所述接收端播放所述服务器缓冲区中的流媒体数据。
8.一种流媒体录播的系统,其特征在于,包括发送端、服务器、控制器及接收端,所述发送端连接所述服务器,所述服务器分别连接所述控制器及所述接收端,所述控制器连接所述接收端, 所述发送端,用于与服务器建立连接后,向所述服务器发送流媒体数据; 所述服务器,用于缓存所述流媒体数据,并将缓存的所述流媒体数据大小及所述服务器缓冲区大小发送给控制器,并于接收所述处理策略后进行相应处理; 所述控制器,用于根据所述流媒体数据大小及所述服务器缓冲区大小制定并发送处理策略至服务器及接收端,或者发送所述处理策略至服务器; 所述接收端,用于根据接收的所述处理策略,进行相应处理。
全文摘要
本发明提供一种流媒体录播的方法及系统,本发明方法包括以下步骤。发送端与服务器建立连接后,所述发送端发送流媒体数据至所述服务器。所述服务器缓存所述流媒体数据,并将缓存的所述流媒体数据大小及所述服务器缓冲区大小发送给控制器,所述控制器根据所述流媒体数据大小及所述服务器缓冲区大小制定并发送处理策略至服务器及接收端,或者控制器发送所述处理策略至服务器。所述服务器及所述接收端,或者所述服务器根据接收的所述处理策略进行相应处理。
文档编号H04L12/58GK102739666SQ201210210390
公开日2012年10月17日 申请日期2012年6月25日 优先权日2012年6月25日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1