CN104025524B - 流媒体传输方法及装置、通信设备 - Google Patents
流媒体传输方法及装置、通信设备 Download PDFInfo
- Publication number
- CN104025524B CN104025524B CN201280017023.2A CN201280017023A CN104025524B CN 104025524 B CN104025524 B CN 104025524B CN 201280017023 A CN201280017023 A CN 201280017023A CN 104025524 B CN104025524 B CN 104025524B
- Authority
- CN
- China
- Prior art keywords
- streaming media
- time
- value
- current
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004891 communication Methods 0.000 title claims abstract description 22
- 230000003139 buffering effect Effects 0.000 claims description 52
- 230000004044 response Effects 0.000 claims description 15
- 230000009467 reduction Effects 0.000 claims description 8
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 239000002699 waste material Substances 0.000 abstract description 8
- 102100024853 Carnitine O-palmitoyltransferase 2, mitochondrial Human genes 0.000 description 3
- 101000859570 Homo sapiens Carnitine O-palmitoyltransferase 1, liver isoform Proteins 0.000 description 3
- 101000909313 Homo sapiens Carnitine O-palmitoyltransferase 2, mitochondrial Proteins 0.000 description 3
- 101000989606 Homo sapiens Cholinephosphotransferase 1 Proteins 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开的流媒体传输方法及装置、通信设备,依据网络侧向终端发送的流媒体数据包,计算流媒体当前的缓冲参数,当所述缓冲参数大于预设的第一阈值时,说明流媒体的传输速率过高,则降低流媒体的传输速率,因此,通过预先设置第一阈值可以限制无线网络中流媒体的传输速率,使得在播放流媒体时,不会缓冲过多的资源,所以即使流媒体在播完之前被停止,也能够最大限度地减轻对无线空口带宽的浪费,从而降低了不必要的网络传输,提高了无线资源的利用率。
Description
技术领域
本发明涉及通信领域,尤其涉及流媒体传输速率控制方法及装置、通信设备。
背景技术
流媒体是指在网络上应用流技术传输的多媒体文件,流媒体传输实现了多媒体文件边播放边缓冲。在流媒体播放的同时,网络服务器会依据播放终端的缓冲区的容量进行下载缓冲,一般地,终端的缓冲区可容纳的流媒体的大小以分钟为单位,即在播放的同时,缓冲出的文件的大小往往是几分钟、十几分钟或者几十分钟。
有研究表明,超过一半的流媒体在用户观看的一分钟内会被用户抛弃,因此使用上述的流媒体传输方法,当流媒体被停止播放后,缓冲下载的几分钟、十几分钟或者几十分钟的资源是无用的,当网络为有线网络时,由于带宽资源的独占性,这种对下载带宽的浪费不是特别关注,而当网络为无线网络时,因为无线空口的带宽有限且为多用户共享,这种流媒体传输方法则会造成无线空口带宽的显著浪费。
发明内容
有鉴于此,本发明实施例提供了一种流媒体传输方法及装置、通信设备,目的在于解决现有的流媒体传输方法造成的空口带宽的浪费的问题。
为了实现上述目的,本发明实施例提供了以下技术方案:
本发明提供了一种流媒体传输方法,包括:
确定流媒体的当前播放时间;
检测当前的数据包的时间区间上限值;
将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
在所述方法的第一种可能的实现方式中,所述确定流媒体的当前播放时间包括:
获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;
将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
在所述方法的第二种可能的实现方式中,所述确定流媒体的当前播放时间包括:
从播放器获取流媒体的当前播放时间。
在所述方法的第三种可能的实现方式中,所述确定流媒体的当前播放时间包括:
获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;
将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
本发明还提供了一种流媒体传输装置,包括:
确定模块,用于确定流媒体的当前播放时间,检测当前的数据包的时间区间上限值,并将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
速率降低控制模块,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
在所述装置的第一中可能的实现方式中,所述确定模块包括:
第一时间值获取单元,用于获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;
第一当前播放时间计算单元,用于将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
在所述装置的第二中可能的实现方式中,所述确定模块包括:
当前播放时间获取单元,用于从播放器获取流媒体的当前播放时间。
在所述装置的第三中可能的实现方式中,所述确定模块包括:
第二时间值获取单元,用于获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;
第二当前播放时间计算单元,用于将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
本发明还提供了一种通信设备,包括:
输入输出接口,用于接收网络侧向终端发送的流媒体数据包;
处理器,用于依据网络侧向终端发送的流媒体数据包,确定流媒体的当前播放时间检测当前的数据包的时间区间上限值,并将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数,当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
在所述通信设备的第一种实现方式中,所述处理器用于确定流媒体的当前播放时间具体包括:
所述处理器获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
在所述通信设备的第二种实现方式中,所述处理器用于确定流媒体的当前播放时间具体包括:
所述处理器从播放器获取流媒体的当前播放时间。
在所述通信设备的第三种实现方式中,所述处理器用于确定流媒体的当前播放时间具体包括:
所述处理器用于获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
本发明实施例公开的流媒体传输方法及装置、通信设备,依据网络侧向终端发送的流媒体数据包,计算流媒体当前的缓冲参数,当所述缓冲参数大于预设的第一阈值时,说明流媒体的传输速率过高,则降低流媒体的传输速率,因此,通过预先设置第一阈值可以限制无线网络中流媒体的传输速率,使得在播放流媒体时,不会缓冲过多的资源,所以即使流媒体在播完之前被停止,也能够最大限度地减轻对无线空口带宽的浪费,从而降低了不必要的网络传输,提高了无线资源的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种流媒体传输方法的流程图;
图2为本发明实施例公开的又一种流媒体传输方法的流程图;
图3为本发明实施例公开的又一种流媒体传输方法的流程图;
图4为本发明实施例公开的一种流媒体传输方法中确定第一阈值的方法的流程图;
图5为本发明实施例公开的一种流媒体传输装置的结构示意图;
图6为本发明实施例公开的一种通信设备的结构示意图。
具体实施方式
本发明实施例公开了一种流媒体传输方法,当流媒体服务器和终端之间建立流媒体传输通道并开始传输流媒体数据包后,移动通信网络根据服务器向终端发送的流媒体数据包,计算流媒体当前的缓冲参数,当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。所述方法也可以应用于流媒体服务器或终端,通过预先设置的第一阈值来限制无线网络中流媒体的缓冲速度,使得流媒体不会缓冲过多的内容,因而能够限制流媒体数据包对空口带宽的占用,从而避免对空口资源的浪费。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中公开了一种流媒体传输方法,可以应用于3GPP网络中执行数据包深度检测的网元上,例如,P-GW、S-GW、GGSN、SGSN、RNC、UTRAN或E-UTRAN等,也可以应用于为本实施例所述方法新增的媒流体处理网元上。在流媒体服务器与终端建立传输通道并通过所述传输通道向终端发送流媒体数据包时,如图1所示,所述方法包括:
S101:获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;
在流媒体服务器向终端发送流媒体数据包时,本实施例中,网元截获这些数据包,因为流媒体服务器发出的数据包有可能丢失,所以,首次截获的数据包是指,网元第一个截获到的用户请求的流媒体文件的数据包,首次截获的数据包有可能是流媒体服务器发送的第一个数据包,也可能是流媒体服务器发送的其它数据包。
本实施例中,预设的时钟可以为3GPP网络中已有的时钟,也可以是为本实施例所述方法设置的时钟。
本实施例优选为所述方法单独设置的时钟,时钟的初始值优选设置为0,从首次截获流媒体的数据包开始计时,计时的时间单位与数据包的时间单位相同,将从首次截获流媒体的数据包到截获当前数据包进行计时的时间值为T,如果当前数据包即为首次截获的数据包,则T=0。
S102:将预先获取的首次截获的所述流媒体的数据包的时间区间下限值,记为CPT1,与所述时间值相加,得到所述流媒体的当前播放时间,这里将当前播放时间记为CPT,即CPT=CPT1+T;
流媒体数据包中通常包括自身数据的时长区间,此区间的上限称为数据包的时间区间上限值,下限称为数据包的时间区间下限值,例如数据包的时长为20S--100S,则20称为其时间区间下限值,100称为其时间区间上限值。
将首次截获的数据包的时间区间下限值与S101中的时间值T相加,得到的为所述流媒体的当前播放时间,当前播放时间反映的是流媒体在终端的播放进度,因为网元不清楚终端播放流媒体的情况,因此,需要通过上述计算过程对流媒体的当前播放进度进行估计。
如果当前数据包为首次截获的流媒体数据包,则CPT等于其时间区间下限值。
S103:检测所述当前的数据包的时间区间上限值;
这里将当前的数据包的时间区间上限值记为TTI。
S104:将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数,即:GAP=TTI-CPT;
S105:判断当前的缓冲参数是否满足GAP>GAPmax,如果是,则执行S106,如果否,执行S111;
其中GAPmax为预设的第一阈值,可以由用户预先定义,也可以依据网络的状态进行确定。
S106:向流媒体服务器发送包含预设的窗长值的TCP消息,以使得流媒体服务器降低所述流媒体的传输速率;
通常,在终端向流媒体服务器发送TCP消息时,会将本地的缓存空间的大小通知流媒体服务器,窗长值的作用即为指示终端本地的缓冲空间的大小,本实施例中,所述预设的窗长值小于当前的窗长值,可以设置为零,或者当前窗长值/M,所述M为自然数,例如,当前窗长值的二分之一。
S107:将预设的标识位的值设置为零;
本实施例中,预设的标识位的作用为指示当前的窗长值是否是被减小后的窗长值,标识位的默认值或初始值可以设定为1,当窗长值被减小后,将其设置为0,如果窗长值没有被减小,则保持不变。
S106和S107的顺序可以改变。
S108:截获所述终端向所述流媒体服务器发送的应答数据包;
S109:减小所述应答数据包中的窗长值;
本实施例中,优选将窗长值减小为上述预设的窗长值。
S110:将修改后的应答数据包发送到流媒体服务器。
通常,终端在接收到流媒体服务器发送的数据包后,会回复应答数据包,应答数据包中携带依据终端的缓冲区设定的窗长值,使得网络侧服务器在接收到应答数据包后,使用与窗长值对应的传输速率发送数据包,而本实施例中,应到数据包被网元截获,将其中的窗长值减小。
S111:判断当前的缓冲参数是否满足GAP<GAPmin,如果是,则执行S112,如果否,不作处理;
其中,GAPmin为预设的第二阈值,可以由用户自定义。
S112:判断标识位的值是否为0,如果否,则不作处理,如果是0,执行S113;
S113:向流媒体服务器发送包括未减小的窗长值的TCP消息,以使得所述流媒体服务器使用所述未降低前的传输速率传输所述流媒体;
S114:将所述标识位的值设置为1;
设置标识位的目的在于,如果当前的数据包为首个数据包,当前的传输速率一定为没有经过降低的正常的传输速率,此时即使当前的缓冲参数小于预设的第二阈值,也不调整当前的传输速率。
本实施例所述的流媒体传输方法,网元截获流媒体服务器向终端发送的流媒体数据包,并计算流媒体当前的缓冲参数,依据缓冲参数调整流媒体的传输速率,当流媒体在终端进行播放时,不会被缓冲太多的余量,因此,当用户停止观看,也能将对无线空口资源的浪费降低到最低程度。
本发明实施例公开的又一种流媒体传输方法,应用于终端,所述终端向流媒体服务器发起流媒体播放请求,流媒体服务器与终端建立流媒体传输通道,如图2所示,所述方法包括:
S201:从播放器获取流媒体的当前播放时间CPT;
对于终端而言,媒流体的当前播放时间直接从播放器获取即可,不必再进行计算。
S202:检测所述当前的数据包的传输时长,记为TTI;
S203:将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数,当前的缓冲参数记为GAP=TTI-CPT;
S204:判断GAP>GAPmax是否成立,如果是,执行S205,如果否,执行S207;
S205:向流媒体服务器发送包含预设的窗长值的TCP消息,所述预设的窗长值小于当前的窗长值;
此步骤的目的在于使得所述流媒体服务器降低所述流媒体的传输速率,其中预设的窗长值的设定方法与上述实施例相同,这里不再赘述。
S206:将预设的标识位设置为零;
所述预设的标识位的默认值可以为1。
S207:判断当前的缓冲参数是否满足GAP<GAPmin,如果是,则执行S208,如果否,不作处理;
S208:判断标识位的当前值是否为零,如果是,执行S209,如果否,则不作处理。
本实施例中,不作处理是指不进行本发明范畴中对传输速率相关的处理,实际应用中,可以按照终端对流媒体数据包的常规处理进行。
S209:向流媒体服务器发送包括未减小的窗长值的TCP消息,以使得所述网络侧服务器使用未降低前的传输速率传输所述流媒体。
S210:将所述标识位的值设置为1;
S211:接收暂停播放流媒体的指令;
暂停播放流媒体的指令通常由应用层依据用户的指令发出。
S212:向所述流媒体服务器发送包含窗长值为零的TCP消息,以使得所述网络侧服务器停止传输所述流媒体。
现有技术中,当用户暂停流媒体的播放时,流媒体仍然处于缓冲状态,即缓冲余量持续增加,也就是说,流媒体服务器并不停止流媒体数据包的传输,与现有技术不同的是,本实施例中,在用户暂停流媒体播放时,终端向网络侧服务器发送TCP消息,指示流媒体服务器终端的缓存为零,流媒体服务器则停止传输数据包,对于3GPP网络而言,能够节省宝贵的空口带宽。
需要说明的是,S211和S212也可以在S201之前进行,其与调整传输速率的步骤的执行顺序可以进行调整。
本实施例所述的流媒体传输方法,由终端依据接收的数据包计算当前的缓冲参数,通过向流媒体服务器发送TCP消息的方式,控制流媒体的传输速率,从而能够限制的流媒体的下载速率,节省空口带宽。
本发明实施例公开的又一种流媒体传输方法,应用于流媒体服务器,流媒体服务器与终端间建立流媒体传输通道,向终端发送流媒体数据包,如图3所示,所述方法包括:
S301:获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;
S302:将预先获取的首次发送的所述流媒体的数据包的时间区间下限值CPT1与所述时间值T相加,得到所述流媒体的当前播放时间CPT;
对于流媒体服务器而言,与网元类似,同样需要通过计算估计终端流媒体的播放进度,与网元不同的是,流媒体服务器只需依据自身向终端发送的数据包进行计算。
S303:检测所述当前发送的数据包的时间区间上限值,记为TTI;
S304:将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数,即GAP=TTI-CPT;
S305:判断GAP>GAPmax是否成立,如果是,执行S306,如果否,执行S308;
S306:以预设的传输速率向所述终端发送流媒体数据包;
预设的传输速率小于当前的传输速率。
S307:将预设的标识位的值设为零;
S308:判断当前的缓冲参数是否满足GAP<GAPmin,如果是,则执行S309,如果否,不作处理;
S309:判断标识位的值是否为0,如果是,执行S310,如果否,不作处理;
S310:使用未降低之前的传输速率传输所述流媒体。
S311:将所述标识位的值设置为1。
也就是说,传速速率降低后将标识位设置为0,传输速率恢复后将标识位设置为1,从而将标识位作为是否降低速率的判定条件之一,如果标识位为1,说明传输速率没有被降低,则即使当前的GAP大于预设的第一阈值,也不进行提高传输速率的操作。
本实施例所述的流媒体传输方法,执行主体为流媒体服务器,流媒体服务器依据发送的数据包计算得到流媒体当前的缓冲参数,用来修正发送数据包的速率,从而节省网络资源。
需要说明的是,上述全部实施例都着眼于当前的数据包,也就是当截获、接收或发送数据包时,进行缓冲余量的计算以及传输速率的控制,也就是说,上述实施例所述的方法,依据数据包的发送周期进行,但是本发明不限定于此,还可以以缓冲参数的时间单位为周期进行,例如,GAP值以秒为单位,则所述方法可以以1S为周期进行,即每隔1S计算一次缓冲参数,并依据缓冲参数修订传输速率。
上述全部实施例中,对流媒体传输速率的控制以流媒体自身的下载量为依据,关注点在于流媒体本身,而没有关注网络当前的状况。
本发明还公开了一种依据网络状态设置上述实施例中预设的第一阈值的方法,如图4所示,包括:
S401:检测所述网络侧无线链路的负载量;
S402:依据所述负载量确定所述预设的第一阈值。
本实施例所述的方法,依据网络中无线链路的负载量确定预设的第一阈值,即GAPmax的值,具体地,GAPmax=K*GAPmax,K是一个无线链路繁忙状态相关的参数,一般情况K取值为1,当网络繁忙时K变小,当网络空闲时候K变大,也就是说,当网络繁忙时,减小第一阈值,当网络空闲时,增大第一阈值,与上述实施例中第一阈值固定的情况,在考虑流媒体自身情况的同时,兼顾了无线网络的状态,能够更为有效地使用无线网络。本实施例所述的第一阈值的确定调整方法适用于以上全部实施例。
进一步,以上全部实施例中,向终端发送流媒体数据包的是流媒体服务器,除此以外,终端也可以通过访问网络中设置的缓存单元获取流媒体数据包。
为了加速移动网络的流媒体数据分发,往往会在3GPP网络内放置缓存单元(Cache)。当UE访问的内容被缓存在Cache时,UE可以从Cache获取网络资源,而无需去访问流媒体服务器。因此,上述全部实施例中的流媒体服务器均可被缓存单元代替,这里不再赘述。
与上述方法实施例相对应的,本发明还公开了一种流媒体传输装置,如图5所示,包括
确定模块501,用于依据网络侧向终端发送的流媒体数据包,确定流媒体当前的缓冲参数;
速率降低控制模块502,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
本实施例所述的装置可以用于网元、终端或流媒体服务器,通过预先设置的第一阈值来限制无线网络中流媒体的缓冲速度,使得流媒体不会缓冲过多的内容,因而能够限制流媒体数据包对空口带宽的占用,从而避免对空口资源的浪费。
进一步地,当所述装置用于网元时,具体包括:
第一时间值获取单元,用于获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;
第一当前播放时间计算单元,用于将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间;
第一检测单元,用于检测所述当前的数据包的时间区间上限值;
第一确定单元,用于将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
应答数据包截获单元,用于截获所述终端向所述流媒体服务器发送的应答数据包,减小所述应答数据包中的窗长值,并将修改后的应答数据包发送到网络侧服务器;
第一TCP消息发送单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,向流媒体服务器发送包含预设的窗长值的TCP消息,以使得所述流媒体服务器降低所述流媒体的传输速率,所述预设的窗长值小于当前的窗长值;
标识位置零单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,将预设的标识位的值设为零;
速率提高控制模块,用于当所述流媒体当前的缓冲参数小于预设的第二阈值且预设的标识位的值为零时,提高所述流媒体的传输速率,具体地,所述速率提高单元可以为:第二TCP消息发送单元,用于向流媒体服务器发送包括未减小的窗长值的TCP消息,以使得所述网络侧服务器使用所述未降低前的传输速率传输所述流媒体。
标识位置1单元,用于当提高所述传速速率时,将所述预设的标识位的值设为1。
进一步地,当所述装置用于终端时,具体包括:
当前播放时间获取单元,用于从播放器获取流媒体的当前播放时间;
第二检测单元,用于检测所述当前的数据包的时间区间上限值;
第二确定单元,用于将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数。
第一TCP消息发送单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,向流媒体服务器发送包含预设的窗长值的TCP消息,以使得所述流媒体服务器降低所述流媒体的传输速率,所述预设的窗长值小于当前的窗长值。
标识位置零单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,将预设的标识位的值设为零。
速率提高控制模块,用于当所述流媒体当前的缓冲参数小于预设的第二阈值且预设的标识位的值为零时,提高所述流媒体的传输速率,具体地,所述速率提高单元可以为:第二TCP消息发送单元,用于向网络侧服务器发送将传输速率恢复到降低之前的值的TCP消息,以使得所述网络侧服务器使用所述未降低前的传输速率传输所述流媒体;
标识位置1单元,用于当提高所述传速速率时,将所述预设的标识位的值设为1;
暂停指令发送单元,用于当接收到暂停播放流媒体的指令后,向所述流媒体服务器发送包含窗长值为零的TCP消息,以使得所述流媒体服务器停止传输所述流媒体。
进一步地,当所述装置用于流媒体服务器时,具体包括:
第二时间值获取单元,用于获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;
第二当前播放时间计算单元,用于将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间;
第三检测单元,用于检测所述当前发送的数据包的时间区间上限值;
第三确定单元,用于将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
第一发送单元,用于以预设的传输速率向所述终端发送流媒体数据包,所述预设的传输速率小于当前的传输速率;
标识位置零单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,将预设的标识位的值设为零;
速率提高控制模块,用于当所述流媒体当前的缓冲参数小于预设的第二阈值且预设的标识位的值为零时,提高所述流媒体的传输速率,具体地,所述速率提高控制模块可以为:第二发送单元,用于使用未降低之前的传输速率传输所述流媒体;
标识位置1单元,用于当提高所述传速速率时,将所述预设的标识位的值设为1。
进一步地,所述装置还包括:
第一阈值确定模块,用于检测所述网络侧无线链路的负载量,并依据所述负载量确定所述预设的第一阈值。
接收模块,用于接收网络侧预设的缓存单元发送给终端的流媒体数据包。
本发明还公开了一种通信设备,如图6所示,包括:
输入输出接口601,用于接收网络侧向终端发送的流媒体数据包;
处理器602,用于依据网络侧向终端发送的流媒体数据包,确定流媒体当前的缓冲参数,当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率;
进一步地,本实施例中,处理器依据网络侧向终端发送的流媒体数据包,确定流媒体当前的缓冲参数的具体过程可以为:
所述处理器可以用于获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间;检测所述当前的数据包的时间区间上限值;将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
或者,所述处理器还用于从播放器获取流媒体的当前播放时间;检测所述当前的数据包的时间区间上限值;将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
或者,所述处理器还获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间;检测所述当前发送的数据包的时间区间上限值;将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数。
除此以外,还可以优选包括:
存储器603,用于存储所述流媒体当前的缓冲参数。
本实施例所述的通信设备,可以为3GPP网络的网元、终端或流媒体服务器,也可以为网络侧缓存。所述通信设备依据计算得到的缓冲参数控制流媒体的当前传输速率,能够避免不必要的数据包传输,从而提高无线接口的利用率。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (37)
1.一种流媒体传输方法,其特征在于,包括:
确定流媒体的当前播放时间;
检测当前的数据包的时间区间上限值;
将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
2.根据权利要求1所述的方法,其特征在于,所述确定流媒体的当前播放时间包括:
获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;
将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
3.根据权利要求2所述的方法,其特征在于,在所述降低所述流媒体的传输速率之后,还包括:
截获终端向所述流媒体服务器发送的应答数据包;
减小所述应答数据包中的窗长值;
将修改后的应答数据包发送到流媒体服务器。
4.根据权利要求1所述的方法,其特征在于,所述确定流媒体的当前播放时间包括:
从播放器获取流媒体的当前播放时间。
5.根据权利要求4所述的方法,其特征在于,还包括:
当接收到暂停播放流媒体的指令后,向所述流媒体服务器发送包含窗长值为零的TCP消息,以使得所述流媒体服务器停止传输所述流媒体。
6.根据权利要求2或4所述的方法,其特征在于,所述降低所述流媒体的传输速率包括:
向流媒体服务器发送包含预设的窗长值的TCP消息,以使得网络侧服务器降低所述流媒体的传输速率,所述预设的窗长值小于当前的窗长值。
7.根据权利要求6所述的方法,其特征在于,所述预设的窗长值包括:
零;或者,
窗长值除以M,所述M为自然数。
8.根据权利要求1所述的方法,其特征在于,所述确定流媒体的当前播放时间包括:
获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;
将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
9.根据权利要求8所述的方法,其特征在于,所述降低所述流媒体的传输速率包括:
以预设的传输速率向终端发送流媒体数据包,所述预设的传输速率小于当前的传输速率。
10.根据权利要求1、2、4或8所述的方法,其特征在于,当所述流媒体当前的缓冲参数大于预设的第一阈值时,还包括:
将预设的标识位的值设为零。
11.根据权利要求10所述的方法,其特征在于,还包括:
当所述流媒体当前的缓冲参数小于预设的第二阈值且预设的标识位的值为零时,提高所述流媒体的传输速率。
12.根据权利要求11所述的方法,其特征在于,所述提高所述流媒体的传输速率包括:
向流媒体服务器发送包括未减小的窗长值的TCP消息,以使得所述流媒体服务器使用未降低前的传输速率传输所述流媒体。
13.根据权利要求11所述的方法,其特征在于,所述提高所述流媒体的传输速率包括:
使用未降低之前的传输速率传输所述流媒体。
14.根据权利要求11至13任一项所述的方法,其特征在于,还包括:
将所述预设的标识位的值设为1。
15.根据权利要求1、2、4或8任一项所述的方法,其特征在于,所述预设的第一阈值的确定方法包括:
检测网络侧无线链路的负载量;
依据所述负载量确定所述预设的第一阈值。
16.根据权利要求1、2、4或8任一项所述的方法,其特征在于,在确定流媒体的当前播放时间之前,还包括:
接收网络侧预设的缓存单元发送给终端的流媒体数据包。
17.一种流媒体传输装置,其特征在于,包括:
确定模块,用于确定流媒体的当前播放时间,检测当前的数据包的时间区间上限值,并将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数;
速率降低控制模块,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
18.根据权利要求17所述的装置,其特征在于,所述确定模块包括:
第一时间值获取单元,用于获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;
第一当前播放时间计算单元,用于将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
19.根据权利要求18所述的装置,其特征在于,还包括:
应答数据包截获单元,用于截获终端向所述流媒体服务器发送的应答数据包,减小所述应答数据包中的窗长值,并将修改后的应答数据包发送到网络侧服务器。
20.根据权利要求17所述的装置,其特征在于,所述确定模块包括:
当前播放时间获取单元,用于从播放器获取流媒体的当前播放时间。
21.根据权利要求20所述的装置,其特征在于,还包括:
暂停指令发送单元,用于当接收到暂停播放流媒体的指令后,向所述流媒体服务器发送包含窗长值为零的TCP消息,以使得所述流媒体服务器停止传输所述流媒体。
22.根据权利要求18或20所述的装置,其特征在于,所述速率降低控制模块包括:
第一TCP消息发送单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,向流媒体服务器发送包含预设的窗长值的TCP消息,以使得所述流媒体服务器降低所述流媒体的传输速率,所述预设的窗长值小于当前的窗长值。
23.根据权利要求17所述的装置,其特征在于,所述确定模块包括:
第二时间值获取单元,用于获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;
第二当前播放时间计算单元,用于将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
24.根据权利要求23所述的装置,其特征在于,速率降低控制模块包括:
第一发送单元,用于以预设的传输速率向终端发送流媒体数据包,所述预设的传输速率小于当前的传输速率。
25.根据权利要求17、18、20或23所述的装置,其特征在于,还包括:
标识位置零单元,用于当所述流媒体当前的缓冲参数大于预设的第一阈值时,将预设的标识位的值设为零。
26.根据权利要求25所述的装置,其特征在于,还包括:
速率提高控制模块,用于当所述流媒体当前的缓冲参数小于预设的第二阈值且预设的标识位的值为零时,提高所述流媒体的传输速率。
27.根据权利要求26所述的装置,其特征在于,所述速率提高控制模块包括:
第二TCP消息发送单元,用于向流媒体服务器发送包括未减小的窗长值的TCP消息,以使得网络侧服务器使用未降低前的传输速率传输所述流媒体。
28.根据权利要求26所述的装置,其特征在于,所述速率提高控制模块包括:
第二发送单元,用于使用未降低之前的传输速率传输所述流媒体。
29.根据权利要求26至28任一项所述的装置,其特征在于,还包括:
标识位置1单元,用于当提高传速速率时,将所述预设的标识位的值设为1。
30.根据权利要求17、18、20或23所述的装置,其特征在于,还包括:
第一阈值确定模块,用于检测网络侧无线链路的负载量,并依据所述负载量确定所述预设的第一阈值。
31.根据权利要求17、18、20或23所述的装置,其特征在于,还包括:
接收模块,用于接收网络侧预设的缓存单元发送给终端的流媒体数据包。
32.一种通信设备,其特征在于,包括:
输入输出接口,用于接收网络侧向终端发送的流媒体数据包;
处理器,用于依据网络侧向终端发送的流媒体数据包,确定流媒体的当前播放时间检测当前的数据包的时间区间上限值,并将所述时间区间上限值与所述当前播放时间的差值作为所述流媒体当前的缓冲参数,当所述流媒体当前的缓冲参数大于预设的第一阈值时,降低所述流媒体的传输速率。
33.根据权利要求32所述的通信设备,其特征在于,所述处理器用于确定流媒体的当前播放时间具体包括:
所述处理器获取预设的时钟对首次截获所述流媒体的数据包到截获当前的数据包进行计时的时间值;将预先获取的首次截获的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
34.根据权利要求32所述的通信设备,其特征在于,所述处理器用于确定流媒体的当前播放时间包括:
所述处理器从播放器获取流媒体的当前播放时间。
35.根据权利要求32所述的通信设备,其特征在于,所述处理器用于确定流媒体的当前播放时间具体包括:
所述处理器用于获取预设的时钟对从首次发送所述流媒体的数据包到发送当前的数据包进行计时的时间值;将预先获取的首次发送的所述流媒体的数据包的时间区间下限值与所述时间值相加,得到所述流媒体的当前播放时间。
36.根据权利要求32所述的通信设备,其特征在于,还包括:
存储器,用于存储所述流媒体当前的缓冲参数。
37.根据权利要求32至36任一项所述通信设备,其特征在于,所述通信设备为下面任意一个:
网元;终端;流媒体服务器;
网络侧缓存。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/086340 WO2014089752A1 (zh) | 2012-12-11 | 2012-12-11 | 流媒体传输方法及装置、通信设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104025524A CN104025524A (zh) | 2014-09-03 |
CN104025524B true CN104025524B (zh) | 2017-06-20 |
Family
ID=50933676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280017023.2A Active CN104025524B (zh) | 2012-12-11 | 2012-12-11 | 流媒体传输方法及装置、通信设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104025524B (zh) |
WO (1) | WO2014089752A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681883B (zh) * | 2016-01-07 | 2019-05-31 | 深圳Tcl数字技术有限公司 | 音频数据推送方法及系统 |
CN107995172A (zh) * | 2017-11-23 | 2018-05-04 | 莫宝兰 | 一种数据流传输控制系统和方法 |
CN107948153A (zh) * | 2017-11-23 | 2018-04-20 | 莫宝兰 | 一种流媒体传输控制系统和方法 |
CN108494702B (zh) * | 2018-02-23 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 传输控制方法和装置、存储介质及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852229A (zh) * | 2005-10-20 | 2006-10-25 | 华为技术有限公司 | 实时流媒体传输方法及系统 |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN101808239A (zh) * | 2010-03-01 | 2010-08-18 | 北京东方广视科技股份有限公司 | 一种控制ts流播出的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI396443B (zh) * | 2008-12-22 | 2013-05-11 | Ind Tech Res Inst | 應用於網路串流之影音控制回應及頻寬調適方法與使用該方法之伺服器 |
-
2012
- 2012-12-11 CN CN201280017023.2A patent/CN104025524B/zh active Active
- 2012-12-11 WO PCT/CN2012/086340 patent/WO2014089752A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852229A (zh) * | 2005-10-20 | 2006-10-25 | 华为技术有限公司 | 实时流媒体传输方法及系统 |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN101808239A (zh) * | 2010-03-01 | 2010-08-18 | 北京东方广视科技股份有限公司 | 一种控制ts流播出的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104025524A (zh) | 2014-09-03 |
WO2014089752A1 (zh) | 2014-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3188479A1 (en) | Adaptive video definition adjustment method and apparatus, terminal device, and storage medium | |
US20200281008A1 (en) | Data transmission preemption | |
US8725128B2 (en) | Pre-fetching of assets to user equipment | |
US9854282B2 (en) | System and method for enabling network based rate determination for adaptive video streaming | |
KR20180063090A (ko) | 사용자 장비 및 미디어 스트리밍 네트워크 보조 노드 | |
JP6132116B2 (ja) | ビデオ品質のユーザ体験値を評価するための方法、デバイス、及びシステム | |
EP2904757B1 (en) | Throttling a media stream for transmission via a radio access network | |
CN104025524B (zh) | 流媒体传输方法及装置、通信设备 | |
CN107483401B (zh) | 一种多媒体数据传输方法及其设备、存储介质、服务器 | |
EP2959715B1 (en) | Media distribution network with media burst transmission capabilities | |
WO2017185951A1 (zh) | 一种视频传输方法、基站及系统 | |
EP2752772A1 (en) | Contents distribution system, cache server, and contents distribution method | |
KR102036579B1 (ko) | 무선 통신 시스템에서 웹 서비스 제공 방법 및 장치 | |
EP3310048B1 (en) | Video bit rate identification method and device | |
US20140282811A1 (en) | Media distribution network system with media burst transmission via an access network | |
CN105472404B (zh) | 一种视频业务中的数据处理方法 | |
US20170013083A1 (en) | Data processing method and apparatus used for terminal application | |
US9723553B2 (en) | Method, network device, computer program and computer program product for determining a set of power state parameters | |
US20160242228A1 (en) | RRC Status Control Method, Apparatus and Device | |
WO2016079958A1 (ja) | 通信システム、通信機器、通信方法、及び記録媒体 | |
JP2011071628A (ja) | ストリーム通信システム、サーバ装置及びクライアント装置 | |
US20100121901A1 (en) | Moving-picture processing device and moving-picture processing method | |
EP2529495B1 (en) | Method and system for managing a temporary block flow in a data communication network environment | |
WO2015109462A1 (zh) | 一种评估音视频业务质量的方法及装置 | |
CN110933697B (zh) | 网络状态检测方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |