一种缓冲播放流媒体的控制方法及系统与流程

文档序号:11157601阅读:362来源:国知局
一种缓冲播放流媒体的控制方法及系统与制造工艺

本发明涉及流媒体播放技术领域,特别涉及一种缓冲播放流媒体的控制方法及系统。



背景技术:

随着互联网技术的不断发展,在网络上传输音/视频等多媒体信息越来越频繁,目前主要由下载和流式传输两种方案。下载方式需要多媒体文件全部下载完毕才能播放,由于多媒体文件通常较大,同时由于网络带宽的限制,采用下载方式常常需要花费数分钟甚至数小时才能下载完毕一个多媒体文件,所以这种处理方式延迟很大。

流式传输方式是指将音/视频等多媒体信息由多媒体信息服务器向客户机的连续、实时传送方式。使得流式传输技术的连续时基媒体被称为流媒体。在这种流式传输方式下,用户不必等到整个文件全部下载完毕,而只需要经过几秒或数十秒的播放数据即可进行观看。其特点是数据流随时传送随时播放,当流媒体传输方式的流媒体播放技术避免了用户必须等待整个文件全部从网络上下载完毕才能观看的缺点。

现有专利申请号201010542432.7公开的流媒体播放控制方法、装置和流媒体播放器可以对发送端发送的码流进行自适应请求控制,优化网络和系统资源的利用,提高接收端的视频播放质量,但受到互联网的带宽制约及网络自身稳定性影响,为了能够保证视频良好的播放质量,流媒体播放过程中仍会出现丢帧、卡顿或输出不稳等现象,影响用户观看体验,若出现断网的情况,则将导致流媒体缓存数据量的减少,当这种情况维持较长时间时,将会导致缓存数据量的枯竭,由于无数据可播,将会造成整个播放过程的卡顿,此时用户将无法观看。



技术实现要素:

为了解决现有技术中受到互联网的带宽制约及网络自身稳定性影响,为了能够保证视频良好的播放质量,流媒体播放过程中仍会出现丢帧、卡顿或输出不稳等现象,影响用户观看体验,若出现断网的情况,则将导致流媒体缓存数据量的减少,当这种情况维持较长时间时,将会导致缓存数据量的枯竭,由于无数据可播,将会造成整个播放过程的卡顿,此时用户将无法观看等问题,本发明提供了一种缓冲播放流媒体的控制方法及系统。

本发明具体技术方案如下:

本发明提供了一种缓冲播放流媒体的控制方法,所述控制方法包括以下步骤:

S1、多媒体信息服务器接收流媒体播放终端发出的针对流媒体视频的播放请求;

S2、所述多媒体信息服务器将所述流媒体视频中的若干视频帧按照播放时间顺序进行切分后封装为若干流媒体数据包,每个所述流媒体数据包中分别包含若干个按照播放时间顺序排序的视频帧;

S3、建立用于缓存所述流媒体视频的缓冲池,所述多媒体信息服务器将所述流媒体数据包按照播放时间顺序缓存至所述缓冲池;

S4、将所述缓冲池内的所述流媒体数据包按照播放时间顺序传输至所述流媒体播放终端,同时保存至所述已发送池,传输过程中记录每个所述流媒体数据包的传输时间;

S5、确定所述流媒体播放终端的当前网速,根据所述当前网速在所述已发送池内预设保存所述流媒体数据包的时间阈值和数据包阀值,所述数据包阀值为所述时间阈值内的数据包总数;

S6、判断所述已发送池内保存的所述流媒体数据包的所述传输时间与当前时间的差值是否超出所述时间阈值,并将超出所述时间阈值的所述流媒体数据包删除;

S7、比较所述已发送池内所述流媒体数据包的数量与所述数据包阀值的大小,若所述码流数据包的数量大于或等于所述数据包阀值,则停止步骤S4中的数据传输,反之,若所述流媒体数据包的数量小于所述数据包阀值,则进入步骤S4中继续进行数据传输。

进一步的,在所述时间阈值的范围内,所述缓冲池内接收的所述流媒体数据包的数量小于所述数据包阀值时,步骤S4中,减小所述缓冲池内的所述流媒体数据包向所述流媒体播放终端和所述已发送池的传输率。

进一步的,步骤S5中,确定所述流媒体播放终端的当前网速,具体方法包括:

①、连续多次采集用户历史下载视频时的下载网速,并建立网速列表进行记录;

②、将所述网速列表中记录的所述下载网速计算其平均值得到历史网速;

③、将计算得到的所述历史网速作为当前所述流媒体播放终端的当前网速。

进一步的,步骤S5中,根据所述当前网速在所述已发送池内预设保存所述流媒体数据包的数据包阀值,具体方法包括:

①、在所述已发送池内预设由低到高的网速区间,并设置对应的由低到高的数据包阀值;

②、判断所述流媒体播放终端的所述当前网速所属的网速区间,并将该网速区间对应的所述数据包阀值作为所述已发送池内的数据包阀值。

优选的,步骤S2还包括以下步骤:

S2-1、所述多媒体信息服务器用于将若干流媒体数据包以列表的形式组成索引文件;

S2-2、所述多媒体信息服务器向所述流媒体播放终端发送所述索引文件;

S2-3、所述流媒体播放终端对所述索引文件进行解析,然后根据实际的网络带宽情况,向所述多媒体信息服务器请求所述索引文件记录的相应的流媒体数据包;

优选的,步骤S3中,还包括以下步骤:

所述多媒体信息服务器将所述流媒体播放终端根据所述索引文件请求的流媒体数据包按照播放时间顺序缓存至所述缓冲池。

本发明还提供了一种缓冲播放流媒体的控制系统,包括相互通讯的多媒体信息服务器和流媒体播放终端,所述流媒体播放终端包括智能手机或电脑,所述多媒体信息服务器包括相通讯的数据库及与所述数据库相通讯的接收模块、视频帧组划分模块、数据传输模块、网速确定模块、时间阈值设定模块、数据包阀值预设模块、判断模块、第一删除模块和对比模块;

所述数据库内设有缓冲池和已发送池;所述接收模块用于接收流媒体播放终端发出的针对流媒体视频的播放请求;所述视频帧组划分模块用于将所述流媒体视频中的若干视频帧按照播放时间顺序进行划分后压缩为若干流媒体数据包,并将所述流媒体数据包按照播放时间顺序缓存至所述缓冲池;所述数据传输模块用于将所述缓冲池内的所述流媒体数据包按照播放时间顺序传输至所述流媒体播放终端,同时保存至所述已发送池,传输过程中记录每个所述流媒体数据包的传输时间;

所述网速确定模块用于确定所述流媒体播放终端的当前网速;所述时间阈值设定模块用于在所述已发送池内预设保存所述码流数据包的时间阈值,并将所述时间阈值发送至所述判断模块;所述判断模块用于判断所述已发送池内保存的所述流媒体数据包的所述传输时间与当前时间的差值是否超出所述时间阈值,并将超出所述时间阈值的所述流媒体数据包发送至所述第一删除模块;所述第一删除模块用于将超出所述时间阈值的所述流媒体数据包删除;

所述数据包阀值预设模块用于根据所述流媒体播放终端的所述当前网速在所述已发送池内预设保存所述流媒体数据包的数据包阀值,并发送至所述对比模块;所述对比模块用于比较所述已发送池内所述流媒体数据包的数量与所述数据包阀值的大小,若所述流媒体数据包的数量大于或等于所述数据包阀值,则生成停止数据传输的指令发送至所述数据传输模块,使所述数据传输模块停止数据传输;反之,若所述流媒体数据包的数量小于所述数据包阀值,则生成继续进行数据传输的指令发送至所述数据传输模块,使所述数据传输模块进行数据传输。

进一步的,所述多媒体信息服务器还包括相通讯的筛选模块、第二删除模块、缓冲量统计模块、传输率调控模块,所述筛选模块用于对所述缓冲池中筛选出已经发送至所述流媒体播放终端的所述流媒体数据包,并发送至所述第二删除模块,所述第二删除模块用于将已经发送至所述流媒体播放终端的所述流媒体数据包删除;所述缓冲量统计模块用于统计所述缓冲池内的所述流媒体数据包的数量,若所述缓冲池内接收的所述流媒体数据包的数量小于所述数据包阀值时,则向所述传输率调控模块发送减小所述缓冲池向所述流媒体播放终端传输所述流媒体数据包的传输率。

进一步的,所述网速确定模块包括相通讯的历史网速采集单元、网速计算单元,所述历史网速采集单元用于连续多次采集用户历史下载视频时的下载网速,并建立网速列表进行记录;所述网速计算单元用于将所述网速列表中记录的所述下载网速计算其平均值得到历史网速,即为当前所述流媒体播放终端的当前网速。

进一步的,所述数据包阀值预设模块包括相通讯的网速与阀值对应单元、数据包阀值确定单元,所述网速与阀值对应单元用于在所述已发送池内预设由低到高的网速区间,并设置对应的由低到高的数据包阀值;所述数据包阀值确定单元用于判断所述流媒体播放终端的所述当前网速所属的网速区间,并将该网速区间对应的所述数据包阀值作为所述已发送池内的数据包阀值。

优选的,所述多媒体信息服务器还包括与所述视频帧组划分模块、所述数据传输模块相通讯的索引模块,所述索引模块用于生成包含若干流媒体数据包的索引文件,并将所述索引文件通过所述传输模块发送至所述流媒体播放终端;所述流媒体播放终端对所述索引文件进行解析,然后根据实际的网络带宽情况,向所述多媒体信息服务器请求所述索引文件记录的相应的流媒体数据包。

本发明的有益效果如下:本发明提供的缓冲播放流媒体的控制方法能够通过控制码率平均值来发送多媒体数据,将超出阀值的数据缓冲起来,有效避免流媒体在播放过程中出现丢帧、卡顿或输出不稳等现象,有效控制数据缓存、输出,避免网速在过快或过慢的情况下,造成丢帧或卡顿的情况,有效实现平滑传输多媒体数据包,由于数据包首先被缓存,所以即使在断网的过程中也不影响用户观看,此外,本发明提供的系统结构简单,安装和使用均比较方便,不仅提高了用户的观看效果,而且系统安装经济成本低。

附图说明

图1为实施例1所述的一种缓冲播放流媒体的控制方法的方法流程示意图;

图2为实施例2所述的一种缓冲播放流媒体的控制方法中S5的方法流程图一;

图3为实施例2所述的一种缓冲播放流媒体的控制方法中S5的方法流程图二;

图4为实施例3所述的一种缓冲播放流媒体的控制方法中S2的方法流程图;

图5为实施例4所述的一种缓冲播放流媒体的控制系统的结构示意图;

图6为实施例4所述的一种缓冲播放流媒体的控制系统中多媒体信息服务器的结构框图;

图7为实施例5所述的一种缓冲播放流媒体的控制系统中多媒体信息服务器的结构框图一;

图8为实施例5所述的一种缓冲播放流媒体的控制系统中网速确定模块的结构框图;

图9为实施例5所述的一种缓冲播放流媒体的控制系统中数据包阀值预设模块的结构框图;

图10为实施例5所述的一种缓冲播放流媒体的控制系统中多媒体信息服务器的结构框图二。

其中:1、多媒体信息服务器;101、数据库;102、接收模块;103、视频帧组划分模块;104、数据传输模块;105、网速确定模块;1051、历史网速采集单元;1052、网速计算单元;106、时间阈值设定模块;107、数据包阀值预设模块;1071、网速与阀值对应单元;1072、数据包阀值确定单元;108、判断模块;109、第一删除模块;110、对比模块;111、筛选模块;112、第二删除模块;113、缓冲量统计模块;114、传输率调控模块;115、索引模块;2、流媒体播放终端。

具体实施方式

下面结合附图和以下实施例对本发明作进一步详细说明。

实施例1

如图1所示,本发明实施例1提供了一种缓冲播放流媒体的控制方法,所述控制方法包括以下步骤:

程序运行后,用户通过流媒体播放终端向所述多媒体信息服务器1发送想要观看的视频请求;

S1、多媒体信息服务器1接收流媒体播放终端发出的针对流媒体视频的播放请求;并对流媒体播放终端进行识别认证,根据流媒体播放终端的终端信息进行判断,若通过认证则接受请求,若不通过则不接受。

S2、所述多媒体信息服务器1将所述流媒体视频中的若干视频帧按照播放时间顺序进行切分后封装为若干流媒体数据包,每个所述流媒体数据包中分别包含若干个按照播放时间顺序排序的视频帧;流媒体数据包相当于含有若干个视频帧的视频片段,数据传输过程中一个或多个包进行数据传输。

S3、建立用于缓存所述流媒体视频的缓冲池,所述多媒体信息服务器1将所述流媒体数据包按照播放时间顺序缓存至所述缓冲池;缓冲池能够用来存储处理后的缓冲数据,保证了用户在断网的情况下的观看效果。

S4、将所述缓冲池内的所述流媒体数据包按照播放时间顺序传输至所述流媒体播放终端,同时保存至所述已发送池,传输过程中记录每个所述流媒体数据包的传输时间;所述传输时间为已发送池接收所述流媒体数据包的时间节点,每个数据包均有自己的时间节点。

第一次数据包传输时,首先判断已发送池是否具有流媒体数据包,若没有,则将所述缓冲池内的所述流媒体数据包按照抓取时间顺序依次传输到流媒体播放终端,同时缓存至已发送池,若存在流媒体数据包,则直接进入步骤S5~S7中。

S5、确定所述流媒体播放终端的当前网速,根据所述当前网速在所述已发送池内预设保存所述流媒体数据包的时间阈值和数据包阀值,所述数据包阀值为所述时间阈值内的数据包总数;由于网速不同,其能够传输的量也不同,为了能够保证视频在网速不稳的情况下不出现卡顿的现象,根据网速设定数据包阀值。

S6、判断所述已发送池内保存的所述流媒体数据包的所述传输时间与当前时间的差值是否超出所述时间阈值,并将超出所述时间阈值的所述流媒体数据包删除;已确保已发送池内的流媒体数据包均为时间阈值与当前时间范围内的数据包,随着系统的循环运行,已发送池内的流媒体数据包在实时变化。所述的传输时间即为已发送池接收流媒体数据包的时间节点,即该时间节点与当前时间之间的差值与时间阀值进行对比。

S7、比较所述已发送池内所述流媒体数据包的数量与所述数据包阀值的大小,若所述码流数据包的数量大于或等于所述数据包阀值,则停止步骤S4中的数据传输,反之,若所述流媒体数据包的数量小于所述数据包阀值,则进入步骤S4中继续进行数据传输。

本发明提供的方法通过缓冲池和已发送池能够有效控制流媒体数据包的输出,使数据输出平滑,不会造成视频卡顿或丢帧的情况发生,有效提供用户观看的视频效果。

实施例2

本发明实施例2在实施例1的基础上进一步限定了,在所述时间阈值的范围内,所述缓冲池内接收的所述流媒体数据包的数量小于所述数据包阀值时,步骤S4中,减小所述缓冲池内的所述流媒体数据包向所述流媒体播放终端和所述已发送池的传输率。为了防止多媒体视频在播放过程中出现卡顿,应该根据网速时刻调整传输率。

如图2所示,进一步需要说明的,步骤S5中,确定所述流媒体播放终端的当前网速,具体方法包括:

①、连续多次采集用户历史下载视频时的下载网速,并建立网速列表进行记录;通过采集多次历史下载网速,能够形成网速记录库,历史下载网速需要记录不同时刻的网速。

②、将所述网速列表中记录的所述下载网速计算其平均值得到历史网速;将同一时刻的多次网速值进行平均即可得到历史网速,即为当前网速。

③、将计算得到的所述历史网速作为当前所述流媒体播放终端的当前网速。

通过当前网速的确定,能够有效控制传输率。

如图3所示,需要说明的是,步骤S5中,根据所述当前网速在所述已发送池内预设保存所述流媒体数据包的数据包阀值,具体方法包括:

①、在所述已发送池内预设由低到高的网速区间,并设置对应的由低到高的数据包阀值;

②、判断所述流媒体播放终端的所述当前网速所属的网速区间,并将该网速区间对应的所述数据包阀值作为所述已发送池内的数据包阀值。

通过当前网速确定数据包阀值,当网速较低时,可以调低数据包阀值,当网速较高时,可以调高数据包阀值,数据随网速缓慢输出,有效避免视频出现卡顿的现象。

实施例3

如图4所示,优选的,本发明实施例3在实施例1的基础上进一步限定了步骤S2还包括以下步骤:

S2-1、所述多媒体信息服务器1用于将若干流媒体数据包以列表的形式组成索引文件;索引文件类似于苹果手机内植入的TS索引目录,若干流媒体数据包形成播放列表的索引文件,方便用户通过多媒体播放终端选择的多媒体片段。

S2-2、所述多媒体信息服务器1向所述流媒体播放终端发送所述索引文件;

S2-3、所述流媒体播放终端对所述索引文件进行解析,然后根据实际的网络带宽情况,向所述多媒体信息服务器1请求所述索引文件记录的相应的流媒体数据包;

通过索引文件能够建立与流媒体播放终端的互动,从而实现通过索引文件能够比较方便的请求数据包。

优选的,步骤S3中,还包括以下步骤:

所述多媒体信息服务器1将所述流媒体播放终端根据所述索引文件请求的流媒体数据包按照播放时间顺序缓存至所述缓冲池。

实施例4

如图5所示,本发明实施例4提供了一种缓冲播放流媒体的控制系统,包括相互通讯的多媒体信息服务器1和流媒体播放终端,所述流媒体播放终端包括智能手机或电脑。

如图6所示,所述多媒体信息服务器1包括相通讯的数据库101及与所述数据库101相通讯的接收模块102、视频帧组划分模块103、数据传输模块104、网速确定模块105、时间阈值设定模块106、数据包阀值预设模块107、判断模块108、第一删除模块109和对比模块110。

所述数据库101内设有缓冲池和已发送池,已发送池和缓冲池类似于缓冲区和已发送区,均用于存储;所述接收模块102用于接收流媒体播放终端发出的针对流媒体视频的播放请求;所述视频帧组划分模块103用于将所述流媒体视频中的若干视频帧按照播放时间顺序进行划分后压缩为若干流媒体数据包,并将所述流媒体数据包按照播放时间顺序缓存至所述缓冲池;所述数据传输模块104用于将所述缓冲池内的所述流媒体数据包按照播放时间顺序传输至所述流媒体播放终端,同时保存至所述已发送池,传输过程中记录每个所述流媒体数据包的传输时间。

所述网速确定模块105用于确定所述流媒体播放终端的当前网速;所述时间阈值设定模块106用于在所述已发送池内预设保存所述码流数据包的时间阈值,并将所述时间阈值发送至所述判断模块108;所述判断模块108用于判断所述已发送池内保存的所述流媒体数据包的所述传输时间与当前时间的差值是否超出所述时间阈值,并将超出所述时间阈值的所述流媒体数据包发送至所述第一删除模块109;所述第一删除模块109用于将超出所述时间阈值的所述流媒体数据包删除。

所述数据包阀值预设模块107用于根据所述流媒体播放终端的所述当前网速在所述已发送池内预设保存所述流媒体数据包的数据包阀值,并发送至所述对比模块110;所述对比模块110用于比较所述已发送池内所述流媒体数据包的数量与所述数据包阀值的大小,若所述流媒体数据包的数量大于或等于所述数据包阀值,则生成停止数据传输的指令发送至所述数据传输模块104,使所述数据传输模块104停止数据传输;反之,若所述流媒体数据包的数量小于所述数据包阀值,则生成继续进行数据传输的指令发送至所述数据传输模块104,使所述数据传输模块104进行数据传输。

本发明提供的系统能够有效控制流媒体数据包的传输效率,使流媒体平滑输出,防止流媒体在观看时出现卡顿的情况,有效提高观看效果。

实施例5

如图7所示,本发明实施例5在实施例4的基础上进一步限定了,所述多媒体信息服务器1还包括相通讯的筛选模块111、第二删除模块112、缓冲量统计模块113、传输率调控模块114,所述筛选模块111用于对所述缓冲池中筛选出已经发送至所述流媒体播放终端的所述流媒体数据包,并发送至所述第二删除模块112,所述第二删除模块112用于将已经发送至所述流媒体播放终端的所述流媒体数据包删除;所述缓冲量统计模块113用于统计所述缓冲池内的所述流媒体数据包的数量,若所述缓冲池内接收的所述流媒体数据包的数量小于所述数据包阀值时,则向所述传输率调控模块114发送减小所述缓冲池向所述流媒体播放终端传输所述流媒体数据包的传输率。筛选模块111、第二删除模块112、缓冲量统计模块113、传输率调控模块114均实现了对缓冲池内流媒体数据包的管理。

如图8所示,需要说明的是,所述网速确定模块105包括相通讯的历史网速采集单元1051、网速计算单元1052,所述历史网速采集单元1051用于连续多次采集用户历史下载视频时的下载网速,并建立网速列表进行记录;所述网速计算单元1052用于将所述网速列表中记录的所述下载网速计算其平均值得到历史网速,即为当前所述流媒体播放终端的当前网速。

通过网速确定模块105中的历史网速采集单元1051和网速计算单元1052能够有效确定当前网速,通过网速的确定能够有效确定传输量。

如图9所示,进一步需要说明的是,所述数据包阀值预设模块107包括相通讯的网速与阀值对应单元1071、数据包阀值确定单元1072,所述网速与阀值对应单元1071用于在所述已发送池内预设由低到高的网速区间,并设置对应的由低到高的数据包阀值;所述数据包阀值确定单元1072用于判断所述流媒体播放终端的所述当前网速所属的网速区间,并将该网速区间对应的所述数据包阀值作为所述已发送池内的数据包阀值。

如图10所示,优选的,所述多媒体信息服务器1还包括与所述视频帧组划分模块103、所述数据传输模块104相通讯的索引模块115,所述索引模块115用于生成包含若干流媒体数据包的索引文件,并将所述索引文件通过所述传输模块发送至所述流媒体播放终端;所述流媒体播放终端对所述索引文件进行解析,然后根据实际的网络带宽情况,向所述多媒体信息服务器1请求所述索引文件记录的相应的流媒体数据包。

本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1