一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流量整形方法、装置与电子设备与流程

2021-10-29 22:31:00 来源:中国专利 TAG:电子设备 整形 装置 流量 通信


1.本技术涉及通信技术领域,尤其涉及一种流量整形方法、装置与电子设备。


背景技术:

2.在进行媒体传输时,一般都会对媒体进行编码后再进行传输,以提高传输效率。其中,可变码率(variable bit rate,vbr)编码技术由于能够保证较高的媒体质量,而被普遍应用在各种媒体传输系统中。
3.vbr编码技术是根据图像或声音的复杂程度确定采用的编码码率,以视频传输为例,在图像不复杂的情况下,用比较低的码率编码;在图像复杂或者内容变化较大的情况下,用较大的码率编码,即vbr编码技术的码率可以随着图像的复杂程度的不同而变化,因而其编码效率较高,且可以保证视频质量。根据上述的vbr编码技术的编码原理可知,vbr编码技术具有码率变化大的特征,在实际应用中,其峰值码率可以达到甚至远远超过平均速率的数十倍,因此,采用vbr编码技术进行编码的媒体数据流量波动幅度较大。
4.而媒体流量波动会降低网络的资源利用率,且容易引起网络拥塞和延迟等问题,因而会导致网络传输性能较低,影响媒体播放效果。


技术实现要素:

5.有鉴于此,本技术提供一种流量整形方法、装置与电子设备,用于提高网络传输性能和媒体播放效果。
6.为了实现上述目的,第一方面,本技术实施例提供一种流量整形方法,包括:
7.确定待播放的目标媒体流对应的可接受时延,并根据所述可接受时延和所述目标媒体流的码流信息确定恒定传输速率,然后根据所述恒定传输速率传输所述目标媒体流。其中,所述可接受时延为客户端可接受的目标媒体流的媒体播放时延,所述目标媒体流是采用可变码率编码的,所述目标媒体流的码流信息包括所述目标媒体流包含的各分片的大小和播放时长。
8.通过将vbr媒体流采用恒定传输速率传输,可以平滑传输数据流量,有效提高网络传输性能,同时相比生成恒定码率的媒体数据进行传输的方式,可以有效提高媒体质量和编码效率;另外,在确定恒定传输速率时,根据客户端的可接受时延和目标媒体流的码流信息进行确定,这样可以提高流量整形的精确度,减少客户端的卡顿现象,提高媒体播放效果。
9.在第一方面的一种可能的实施方式中,所述可接受时延是客户端发送的。
10.在第一方面的一种可能的实施方式中,所述可接受时延是预先设置的,或根据所述目标媒体流的广告播放时长确定的。
11.在第一方面的一种可能的实施方式中,所述方法还包括:向所述客户端发送所述可接受时延,以指示所述客户端在需要播放所述目标媒体流的下一媒体流的情况下,根据所述可接受时延请求所述下一媒体流。这样客户端可以更准确的确定传输下一媒体流的时
间,减少媒体传输过早和过晚对媒体播放效果产生的影响。
12.在第一方面的一种可能的实施方式中,在所述根据所述可接受时延和所述目标媒体流的码流信息确定恒定传输速率之后,所述根据所述恒定传输速率传输所述目标媒体流之前,所述方法还包括:若网络带宽信息满足预设条件,则增大所述恒定传输速率。这样可以提高网络资源的利用率。
13.在第一方面的一种可能的实施方式中,所述目标媒体流具有对应的原始媒体流,所述原始媒体流是采用恒定码率编码的,且所述可接受时延是预先设置的;所述根据所述可接受时延和所述目标媒体流的码流信息确定恒定传输速率,包括:
14.将所述原始媒体流转换为采用可变码率编码的第一媒体流;并根据所述第一媒体流的码流信息和所述可接受时延,确定第一传输速率。
15.若预先设置的可保障传输速率减第一传输速率之差小于等于预设的速率阈值,则将所述第一媒体流确定为所述目标媒体流,将所述第一传输速率确定为所述恒定传输速率;若所述预先设置的可保障传输速率减第一传输速率之差大于所述速率阈值,则调整可变码率编码参数,返回执行将所述原始媒体流转换为采用可变码率编码的第一媒体流的步骤。
16.通过上述实施方式,可以将采用cbr编码的媒体转换成采用vbr编码的媒体,这样可以有效的提高媒体质量,进而提高媒体播放效果,并可以保持cbr的流量恒定特性,提高网络传输性能。
17.在第一方面的一种可能的实施方式中,所述目标媒体流的码流信息是采用时间序列分析方法确定的。这样可以扩大流量整形的适用范围。
18.在第一方面的一种可能的实施方式中,在所述根据所述恒定传输速率传输所述目标媒体流之前,所述方法还包括:与客户端协商确定所述客户端的媒体缓冲区大小,以指示客户端根据所述媒体缓冲区大小分配用于缓存目标媒体流的缓冲区,所述媒体缓冲区大小大于等于所述目标媒体流中数据量最大的分片的大小。这样可以进一步提高流量整形的精确度,减少客户端的卡顿现象,提高媒体播放效果。
19.在第一方面的一种可能的实施方式中,所述媒体缓冲区大小是所述客户端发送的,所述目标媒体流的分辨率是根据所述媒体缓冲区大小确定的。
20.在第一方面的一种可能的实施方式中,所述恒定传输速率与所述可接受时延之间满足如下条件:
21.s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0022]
其中,c为所述恒定传输速率,d为所述可接受时延,ts为所述目标媒体流的播放起始时间,te为所述目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0023]
第二方面,本技术实施例提供一种流量整形方法,包括:
[0024]
确定待播放的目标媒体流对应的恒定传输速率;并根据所述恒定传输速率和所述目标媒体流的码流信息确定可接受时延,然后根据所述可接受时延和所述恒定传输速率传输所述目标媒体流,所述可接受时延为客户端可接受的目标媒体流的媒体播放时延。
[0025]
通过将vbr媒体流采用恒定传输速率传输,可以平滑传输数据流量,有效提高网络传输性能,同时相比生成恒定码率的媒体数据进行传输的方式,可以有效提高媒体质量和编码效率;另外,在进行流量整形时,根据恒定传输速率和目标媒体流的码流信息确定客户
端的可接受时延,然后根据可接受时延和恒定传输速率传输目标媒体流,这样可以提高流量整形的精确度,减少客户端的卡顿现象,提高媒体播放效果。
[0026]
在第二方面的一种可能的实施方式中,所述确定待播放的目标媒体流对应的恒定传输速率,包括:根据网络带宽信息确定待播放的目标媒体流对应的恒定传输速率。这样可以提高确定的恒定传输速率的准确性,进而提高网络资源利用率。
[0027]
在第二方面的一种可能的实施方式中,所述根据所述可接受时延和所述恒定传输速率传输所述目标媒体流,包括:若所述可接受时延满足预设要求,则采用所述恒定传输速率传输所述目标媒体流;若所述可接受时延不满足预设要求,则调整所述目标媒体流的分辨率,使基于调整后的目标媒体流的码流信息确定的可接受时延满足所述预设要求;并采用所述恒定传输速率传输调整后的所述目标媒体流。这样可以提高流量整形的精确度,提高客户端的媒体播放效果。
[0028]
在第二方面的一种可能的实施方式中,在所述若所述可接受时延不满足预设要求,则调整所述目标媒体流的分辨率之前,所述方法还包括:
[0029]
向所述客户端发送所述可接受时延;接收所述客户端发送的确认信息,所述确认信息用于指示所述可接受时延是否满足预设要求。
[0030]
在第二方面的一种可能的实施方式中,所述恒定传输速率与所述可接受时延之间满足如下条件:
[0031]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0032]
其中,c为所述恒定传输速率,d为所述可接受时延,ts为所述目标媒体流的播放起始时间,te为所述目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0033]
第三方面,本技术实施例提供一种流量整形方法,包括:
[0034]
从媒体发送端获取待播放的目标媒体流的码流信息,然后根据预先确定的所述目标媒体流对应的可接受时延和所述目标媒体流的码流信息,确定恒定传输速率;再根据所述恒定传输速率传输所述目标媒体流。其中,所述目标媒体流是采用可变码率编码的;所述可接受时延为客户端可接受的目标媒体流的媒体播放时延,所述目标媒体流的码流信息包括所述目标媒体流包含的各分片的大小和播放时长。
[0035]
通过将vbr媒体流采用恒定传输速率传输,可以平滑传输数据流量,有效提高网络传输性能,同时相比生成恒定码率的媒体数据进行传输的方式,可以有效提高媒体质量和编码效率;另外,在确定恒定传输速率时,根据客户端的可接受时延和目标媒体流的码流信息进行确定,这样可以提高流量整形的精确度,减少客户端的卡顿现象,提高媒体播放效果。
[0036]
在第三方面的一种可能的实施方式中,所述根据所述恒定传输速率传输所述目标媒体流,包括:向所述媒体发送端发送数据传输请求,所述数据传输请求用于请求传输所述目标媒体流,所述数据传输请求中携带所述恒定传输速率;然后接收所述媒体发送端根据所述恒定传输速率发送的所述目标媒体流。
[0037]
在第三方面的一种可能的实施方式中,所述方法还包括:在距离所述目标媒体流的播放结束时间的时长大于等于所述可接受时延的情况下,向所述媒体发送端请求获取下一媒体流。这样客户端可以更准确的确定传输下一媒体流的时间,减少媒体传输过早和过晚对媒体播放效果产生的影响。
[0038]
在第三方面的一种可能的实施方式中,所述恒定传输速率与所述可接受时延之间满足如下条件:
[0039]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0040]
其中,c为所述恒定传输速率,d为所述可接受时延,ts为所述目标媒体流的播放起始时间,te为所述目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0041]
第四方面,本技术实施例提供一种流量整形装置,包括:参数确定模块和传输模块,其中:
[0042]
所述参数确定模块用于:确定待播放的目标媒体流对应的可接受时延,并根据所述可接受时延和所述目标媒体流的码流信息确定恒定传输速率,其中,所述可接受时延为客户端可接受的目标媒体流的媒体播放时延,所述目标媒体流是采用可变码率编码的,所述目标媒体流的码流信息包括所述目标媒体流包含的各分片的大小和播放时长;
[0043]
所述传输模块用于:根据所述恒定传输速率传输所述目标媒体流。
[0044]
在第四方面的一种可能的实施方式中,所述可接受时延是客户端发送的。
[0045]
在第四方面的一种可能的实施方式中,所述可接受时延是预先设置的,或根据所述目标媒体流的广告播放时长确定的。
[0046]
在第四方面的一种可能的实施方式中,所述传输模块还用于:向所述客户端发送所述可接受时延,以指示所述客户端在需要播放所述目标媒体流的下一媒体流的情况下,根据所述可接受时延请求所述下一媒体流。
[0047]
在第四方面的一种可能的实施方式中,所述参数确定模块还用于:在所述根据所述可接受时延和所述目标媒体流的码流信息确定恒定传输速率之后,所述根据所述恒定传输速率传输所述目标媒体流之前,在网络带宽信息满足预设条件的情况下,增大所述恒定传输速率。
[0048]
在第四方面的一种可能的实施方式中,所述目标媒体流具有对应的原始媒体流,所述原始媒体流是采用恒定码率编码的,且所述可接受时延是预先设置的;所述参数确定模块具体用于:
[0049]
将所述原始媒体流转换为采用可变码率编码的第一媒体流;
[0050]
根据所述第一媒体流的码流信息和所述可接受时延,确定第一传输速率;
[0051]
若预先设置的可保障传输速率减第一传输速率之差小于等于预设的速率阈值,则将所述第一媒体流确定为所述目标媒体流,将所述第一传输速率确定为所述恒定传输速率;
[0052]
若所述预先设置的可保障传输速率减第一传输速率之差大于所述速率阈值,则调整可变码率编码参数,返回执行将所述原始媒体流转换为采用可变码率编码的第一媒体流的步骤。
[0053]
在第四方面的一种可能的实施方式中,所述目标媒体流的码流信息是采用时间序列分析方法确定的。
[0054]
在第四方面的一种可能的实施方式中,所述参数确定模块还用于:在所述传输模块根据所述恒定传输速率传输所述目标媒体流之前,与客户端协商确定所述客户端的媒体缓冲区大小,以指示客户端根据所述媒体缓冲区大小分配用于缓存目标媒体流的缓冲区,所述媒体缓冲区大小大于等于所述目标媒体流中数据量最大的分片的大小。
[0055]
在第四方面的一种可能的实施方式中,所述媒体缓冲区大小是所述客户端发送的,所述目标媒体流的分辨率是根据所述媒体缓冲区大小确定的。
[0056]
在第四方面的一种可能的实施方式中,所述恒定传输速率与所述可接受时延之间满足如下条件:
[0057]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0058]
其中,c为所述恒定传输速率,d为所述可接受时延,ts为所述目标媒体流的播放起始时间,te为所述目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0059]
第五方面,本技术实施例提供一种流量整形装置,包括:参数确定模块和传输模块,其中:
[0060]
所述参数确定模块用于:确定待播放的目标媒体流对应的恒定传输速率;并根据所述恒定传输速率和所述目标媒体流的码流信息确定可接受时延,所述可接受时延为客户端可接受的目标媒体流的媒体播放时延;
[0061]
所述传输模块用于:根据所述可接受时延和所述恒定传输速率传输所述目标媒体流。
[0062]
在第五方面的一种可能的实施方式中,所述参数确定模块具体用于:
[0063]
根据网络带宽信息确定待播放的目标媒体流对应的恒定传输速率。
[0064]
在第五方面的一种可能的实施方式中,所述传输模块具体用于:在所述可接受时延满足预设要求的情况下,采用所述恒定传输速率传输所述目标媒体流;在所述可接受时延不满足预设要求的情况下,调整所述目标媒体流的分辨率,使基于调整后的目标媒体流的码流信息确定的可接受时延满足所述预设要求;并采用所述恒定传输速率传输调整后的所述目标媒体流。这样可以提高流量整形的精确度,提高客户端的媒体播放效果。
[0065]
在第五方面的一种可能的实施方式中,所述传输模块还用于:在调整所述目标媒体流的分辨率之前,向所述客户端发送所述可接受时延;接收所述客户端发送的确认信息,所述确认信息用于指示所述可接受时延是否满足预设要求。
[0066]
在第五方面的一种可能的实施方式中,所述恒定传输速率与所述可接受时延之间满足如下条件:
[0067]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0068]
其中,c为所述恒定传输速率,d为所述可接受时延,ts为所述目标媒体流的播放起始时间,te为所述目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0069]
第六方面,本技术实施例提供一种流量整形装置,包括:
[0070]
获取模块,用于从媒体发送端获取待播放的目标媒体流的码流信息,所述目标媒体流是采用可变码率编码的;
[0071]
确定模块,用于根据预先确定的所述目标媒体流对应的可接受时延和所述目标媒体流的码流信息,确定恒定传输速率,其中,所述可接受时延为客户端可接受的目标媒体流的媒体播放时延,所述目标媒体流的码流信息包括所述目标媒体流包含的各分片的大小和播放时长;
[0072]
传输模块,用于根据所述恒定传输速率传输所述目标媒体流。
[0073]
在第六方面的一种可能的实施方式中,所述传输模块具体用于:
[0074]
向所述媒体发送端发送数据传输请求,所述数据传输请求用于请求传输所述目标
媒体流,所述数据传输请求中携带所述恒定传输速率;
[0075]
接收所述媒体发送端根据所述恒定传输速率发送的所述目标媒体流。
[0076]
在第六方面的一种可能的实施方式中,所述获取模块还用于:在距离所述目标媒体流的播放结束时间的时长大于等于所述可接受时延的情况下,向所述媒体发送端请求获取下一媒体流。
[0077]
在第六方面的一种可能的实施方式中,所述恒定传输速率与所述可接受时延之间满足如下条件:
[0078]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0079]
其中,c为所述恒定传输速率,d为所述可接受时延,ts为所述目标媒体流的播放起始时间,te为所述目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0080]
第七方面,本技术实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面、第二方面或第三方面所述的方法。
[0081]
第八方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面、第二方面或第三方面所述的方法。
[0082]
第九方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面、第二方面或第三方面所述的方法。
[0083]
第十方面,本技术实施例提供一种芯片系统,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面、第二方面或第三方面所述的方法。其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
[0084]
可以理解的是,上述第四方面至第十方面的有益效果可以参见上述第一方面至第三方面中的相关描述,在此不再赘述。
附图说明
[0085]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0086]
图1为本技术实施例提供的一种应用场景的示意图;
[0087]
图2为本技术实施例提供的流量整形方法的流程示意图;
[0088]
图3为本技术实施例提供的媒体流转换示意图;
[0089]
图4为本技术实施例提供的确定恒定传输速率的流程示意图;
[0090]
图5为本技术实施例提供的另一种应用场景的示意图;
[0091]
图6为本技术实施例提供的一种流量整形装置的结构示意图;
[0092]
图7为本技术实施例提供的另一种流量整形装置的结构示意图;
[0093]
图8为本技术实施例提供的电子设备的结构示意图。
具体实施方式
[0094]
下面结合本技术实施例中的附图对本技术实施例进行描述。本技术实施例的实施
方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
[0095]
为了便于理解,下面先对本技术实施例涉及的一些相关技术进行说明。
[0096]
目前的媒体编码中,普遍采用vbr编码技术,以保证媒体质量和编码效率。以视频编码为例,vbr编码技术的码率可以随着图像的复杂程度的不同而变化,即该编码技术的码率变化较大,这样会导致媒体数据流量具有波动幅度大的特点。而媒体流量波动会降低网络的资源利用率,且容易引起网络拥塞和延迟等问题,因而会导致网络传输性能较低,并影响媒体播放效果。
[0097]
目前业界解决上述问题的方案主要包括两种:一种是通过改变编码技术来生成恒定码率的媒体数据,例如采用恒定码率(constant bit rate,cbr)、约束可变码率(constraint variable bit rate,cvbr)或平均码率(average bit rate,abr)等编码技术;另一种是通过流量整形技术调整vbr媒体流的传输速率,来减小媒体流量波动,进而提高网络传输性能和媒体播放效果。
[0098]
对于第一种方案,其中,cbr是以恒定码率方式进行编码,在媒体内容变化较大的场景,例如运动场景中,由于码率恒定,因此会降低媒体质量,即cbr编码技术是以牺牲媒体质量来保证媒体流量的稳定,而且该编码技术编码效率较低。cvbr一般是让用户输入最大码率和最小码率,媒体内容变化较小时,码率稳定在最小码率,媒体内容变化较大时,码率大于最小码率且不超过最大码率,该编码技术仍然存在码率波动的问题,即存在一定的媒体流量波动问题,并且也牺牲了一定的媒体质量。abr是在一定的时间范围内达到设定的码率,但是局部码率的峰值可以超过设定的码率,即平均码率恒定,该编码技术只是限制了平均码率,并没有消除码率的波动,因而同样存在一定的媒体流量波动问题。
[0099]
对于第二种方案,其相关技术包括缓冲发送方法、传输控制协议(transmission control protocol,tcp)pacing拥塞控制方法和约定访问速度(committed access rate,car)等,其中,缓冲发送方法是将媒体数据放入缓冲区或队列内,再根据特定的算法(例如漏桶算法)均匀的向外发送这些被缓存的数据;tcppacing拥塞控制方法与缓冲发送方法类似,是将一个tcp发送窗口内的媒体数据以确定的速率发送;car是限制流量不能超过设定的阈值,当超过设定的阈值后,可以进行缓存降速。目前的这些流量整形技术一般都是只根据数据流量的流量大小进行流量控制,其控制精度有限,比较容易引起客户端媒体卡顿的现象而影响媒体播放效果。
[0100]
针对上述问题,本技术实施例提供一种流量整形方法,通过将vbr媒体流采用恒定传输速率传输,来平滑传输数据流量,提高网络传输性能,同时保证媒体质量;并且通过在进行流量整形时,综合考虑媒体数据的码流信息和客户端可接受时延等要素,来提高流量整形的精确度,缓解客户端的卡顿现象,提高媒体播放效果。
[0101]
下面结合几种应用场景来详细描述本技术的技术方案。
[0102]
图1为本技术实施例提供的一种应用场景的示意图,如图1所示,该应用场景中涉及的设备可以包括:服务端100和客户端200,服务端100和客户端200直接通过网络进行数据传输。
[0103]
服务端100和客户端200都可以是服务器、桌上型计算机、笔记本电脑、掌上电脑、手机或智能电视等具备计算和存储等功能的电子设备。
[0104]
服务端100与客户端200之间进行通信的网络可以包括以太网、无线局域网
(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络)和/或移动通信网络等。
[0105]
服务端100可以提供点播和直播服务,用户可以通过客户端200向服务端100请求获取媒体数据进行播放,其中,该媒体获取请求中可以携带待播放的目标媒体流的媒体标识、播放起止时间和媒体分辨率等信息;目标媒体流可以是视频流,也可以是音频流,为了便于理解,本技术实施例中以视频流为例进行示例性说明。
[0106]
在服务端100接收到客户端200的媒体获取请求后,服务端100和客户端200可以根据目标媒体流的码流信息,对目标媒体流进行流量整形,以平滑传输数据流量,提高网络传输性能和媒体播放效果。其中,服务端100和客户端200在进行流量整形时,具体采用的流量整形方法可以参见图2。
[0107]
图2为本技术实施例提供的流量整形方法的流程示意图,如图2所示,该方法可以包括如下步骤:
[0108]
s110、服务端与客户端协商确定恒定传输速率和可接受时延。
[0109]
本实施例中,服务端接收到客户端的媒体获取请求后,可以与客户端协商确定恒定传输速率和客户端的可接受时延等参数,其中,可接受时延为客户端可接受的目标媒体流的媒体播放时延,恒定传输速率和可接受时延相互约束,可以根据其中一个参数确定另一个参数。在具体确定另一个参数时,可以根据目标媒体流的码流信息和如下约束条件进行确定:
[0110]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
ꢀꢀ
(1)
[0111]
其中,c为恒定传输速率,d为客户端的可接受时延,t
s
为目标媒体流的播放起始时间,t
e
为目标媒体流的播放结束时间,s(t)为t
s
到t之间的媒体数据量大小。
[0112]
对于媒体流量已知的场景,例如视频点播场景,视频流(即目标媒体流)的码流信息可以根据服务端上的视频存储信息获知。该场景下,服务端上存储有各个视频文件,用户可以通过服务端提供的门户网站选择想要观看的视频进行下载和播放;服务端存储的视频文件可以预先采用分片技术分割成多个分片,各个分片可以单独传输、解码和播放,以便使视频边下载边播放。其中,视频文件中的分片的存储格式可以是http实时流(http live streaming,hls)协议中的ts格式,也可以是http上的动态自适应流传输(dynamic adaptive streaming over http,mpeg-dash)标准中的m4s或mp4格式,还可以是其他格式,本实施例对此不做特别限定。每个分片包括至少一帧视频数据,每个分片具有对应的数据量大小和播放时长等码流信息,目标媒体流的码流信息包括目标媒体流包含的各分片的码流信息。
[0113]
对于媒体流量未知的场景,例如视频直播场景,目标媒体流的码流信息可以采用时间序列分析方法进行估算,在具体实现时,可以采用任意一种相关的时间序列分析算法,本实施例对此不做特别限定。
[0114]
本实施例中,确定恒定传输速率和可接受时延的过程可以在服务端执行,也可以在客户端执行,其中,在服务端执行时,服务端可以采用但不限于如下两种方式确定恒定传输速率和可接受时延:
[0115]
第一种:先确定目标媒体流对应的可接受时延,再根据可接受时延和目标媒体流的码流信息确定目标媒体流对应的恒定传输速率。
[0116]
具体的,可接受时延可以是客户端发送的,该可接受时延具体可以携带在媒体获取请求中,当然也可以携带在其他消息中,本实施例对此不做特别限定。
[0117]
可接受时延也可以是服务端单独确定的,其中,服务端可以根据经验值或目前大多数客户端的基本配置信息,预先设置好可接受时延。在播放广告的情况下,服务端也可以根据目标媒体流的广告播放时长确定可接受时延,例如可以将可接受时延设定为不高于广告播放时长的值。
[0118]
服务端确定了可接受时延后,可以根据该可接受时延、目标媒体流的码流信息和公式(1)中的约束条件,计算出用于传输该目标媒体流的恒定传输速率。
[0119]
具体实现时,对于目标媒体流中每个分片的播放结束时间t,可以计算出该播放结束时间t与目标媒体流的播放起始时间t
s
之间的媒体数据量大小s(t),然后确定每个分片对应的恒定传输速率:s(t)/(t﹣t
s
d),将各个分片对应的恒定传输速率中的最大值确定为该目标媒体流对应的恒定传输速率。下面举例进行说明:
[0120]
图3为本技术实施例提供的媒体流转换示意图,如图3所示,目标媒体流包括四个ts格式的分片:0.ts(分片0)、1.ts(分片1)、2.ts(分片2)和3.ts(分片3),其中,分片0的大小为6kb,播放起止时间为0~1s;分片1的大小为4kb,播放起止时间为1~2s;分片2的大小为10kb,播放起止时间为2~3s;分片3的大小为4kb,播放起止时间为3~4s,即每个分片的播放时长均为1s,t
s
=0,t
e
=4。
[0121]
假设可接受时延d为2s,则对于分片0,t=1,对应的,s(t)=s(1)=6kb,t_sum=t﹣t
s
d=1 2=3s;分片0对应的恒定传输速率c0=s(t)/t_sum=6/3=2kb/s。
[0122]
对于分片1:t=2,s(t)=s(2)=6 4=10kb,t_sum=2 2=4s;分片1对应的恒定传输速率c1=s(t)/t_sum=10/4=2.5kb/s。
[0123]
对于分片2:t=3,s(t)=s(3)=6 4 10=20kb,t_sum=3 2=5s;分片2对应的恒定传输速率c2=s(t)/t_sum=20/5=4kb/s。
[0124]
对于分片3:t=4,s(t)=s(4)=6 4 10 4=24kb,t_sum=4 2=6s;分片3对应的恒定传输速率c3=s(t)/t_sum=24/6=4kb/s。
[0125]
即各分片对应的恒定传输速率分别为:2kb/s、2.5kb/s、4kb/s和4kb/s,其中的最大值为4kb/s,则目标媒体流对应的恒定传输速率即可以为4kb/s。
[0126]
如图3所示,原来需要4s传输完的四个分片,可以在6s内以恒定传输速率4kb/s传输完毕,即可以认为将vbr码流(即目标媒体流)转换成了恒定码流。对于转换后的恒定码流,服务端在第0秒开始传输分片0的前4kb数据;在第1秒开始传输分片0的后2kb数据和分片1的前2kb数据;在第2秒开始传输分片1的后2kb数据和分片2的前2kb数据;在第3秒到第5秒期间传输分片2的剩余8kb数据;在第5秒开始传输分片3的4kb数据。
[0127]
服务端在确定了恒定传输速率后,在网络带宽资源比较空闲的情况下,也可以对确定的恒定传输速率进行调整,加快传输速度,提高网络资源利用率,即如果网络带宽信息满足预设条件,则可以增大恒定传输速率。
[0128]
第二种:先确定目标媒体流对应的恒定传输速率,再根据恒定传输速率和目标媒体流的码流信息确定目标媒体流对应的可接受时延。
[0129]
具体的,服务端可以根据经验值预先设置恒定传输速率,也可以根据网络带宽信息确定目标媒体流对应的恒定传输速率,比如:在可保障的网络带宽不低于100m的情况下,
可以直接将发送速率确定为不高于100mb/s的值。
[0130]
服务端确定了恒定传输速率后,可以根据该恒定传输速率、目标媒体流的码流信息和公式(1)中的约束条件,计算出用于传输该目标媒体流的可接受时延。
[0131]
具体实现时,对于目标媒体流中每个分片的播放结束时间t,可以计算出该播放结束时间t与目标媒体流的播放起始时间t
s
之间的媒体数据量大小s(t),然后确定每个分片对应的可接受时延:s(t)/c﹣(t﹣t
s
),将各个分片对应的可接受时延中的最大值确定为该目标媒体流对应的可接受时延。下面举例进行说明:
[0132]
继续以上述图3为例,假设目标媒体流对应的恒定传输速率c为4kb/s,则对于分片0,t
s
=0,t=1,s(t)=s(1)=6kb,t﹣t
s
=1s;分片0对应的可接受时延d0=s(t)/c﹣(t﹣t
s
)=6/4﹣1=0.5s。
[0133]
对于分片1:t=2,s(t)=s(2)=6 4=10kb,t﹣t
s
=2s;分片1对应的可接受时延d1=s(t)/c﹣(t﹣t
s
)=10/4﹣2=0.5s。
[0134]
对于分片2:t=3,s(t)=s(3)=6 4 10=20kb,t﹣t
s
=3s;分片2对应的可接受时延d2=s(t)/c﹣(t﹣t
s
)=20/4﹣3=2s。
[0135]
对于分片3:t=4,s(t)=s(4)=6 4 10 4=24kb,t﹣t
s
=4s;分片3对应的可接受时延d3=s(t)/c﹣(t﹣t
s
)=24/4﹣4=2s。
[0136]
即各分片对应的可接受时延分别为:0.5s、0.5s、2s和2s,其中的最大值为2s,则目标媒体流对应的可接受时延即可以为2s。
[0137]
服务端确定了可接受时延后,可以判断可接受时延是否满足预设要求,如果满足,可以直接采用确定的恒定传输速率传输目标媒体流;如果不满足,可以调整目标媒体流的分辨率,使基于调整后的目标媒体流的码流信息确定的可接受时延满足预设要求,然后再传输调整后的目标媒体流,以降低客户端的卡顿现象,提高媒体播放效果。
[0138]
其中,服务端可以根据预先设置的时延阈值来判断可接受时延是否满足预设要求,例如判断可接受时延是否大于时延阈值,若大于,则认为可接受时延不满足预设要求,否则可以认为可接受时延满足预设要求。
[0139]
服务端也可以向客户端发送可接受时延,根据客户端反馈的确认信息来判断可接受时延是否满足预设要求。即可以由客户端根据预先设置的时延阈值来判断可接受时延是否满足预设要求,若满足,客户端可以向服务端反馈用于指示可接受时延满足预设要求的确认信息,若不满足,客户端可以向服务端反馈用于指示可接受时延不满足预设要求的确认信息。
[0140]
服务端在可接受时延不满足预设要求的情况下,可以通过降低目标媒体流的分辨率来减小可接受时延,例如可以将目标媒体流的分辨率从1080p降为720p,若可接受时延还不满足预设要求,可以再次降低分辨率。其中,目标媒体流的原始分辨率可以是客户端请求的,也可以是服务端预先确定的。当然,服务端在可接受时延不满足预设要求的情况下,也可以适当调整恒定传输速率,或者也可以不做处理,本实施例对此不做特别限定。
[0141]
服务端在确定好可接受时延后,可以向客户端发送该可接受时延,这样客户端在需要播放目标媒体流的下一媒体流的情况下,可以根据可接受时延提前请求下一媒体流(详细描述可以参见后续步骤),以减少网络延迟现象,进而提高视频播放效果。
[0142]
如前面所述,本实施例中,确定恒定传输速率和可接受时延的过程也可以在客户
端执行。具体的,在客户端确定恒定传输速率和可接受时延时,客户端可以先确定目标媒体流对应的可接受时延,并从服务端获取目标媒体流的码流信息;然后根据预先确定的可接受时延和目标媒体流的码流信息,确定恒定传输速率。
[0143]
在具体实现时,可接受时延可以是系统预先设置的,也可以是根据媒体缓冲区大小确定的,当然,客户端也可以从服务端获取可接受时延,本实施例对此不做特别限定。
[0144]
客户端确定了可接受时延后,可以根据该可接受时延、目标媒体流的码流信息和公式(1)中的约束条件,计算出用于传输该目标媒体流的恒定传输速率。具体的实现过程与服务端类似,此处不再赘述。
[0145]
与服务端类似,客户端也可以先确定恒定传输速率,再根据恒定传输速率和目标媒体流的码流信息,确定可接受时延;并可以在可接受时延不满足预设要求的情况下,请求服务端调整目标媒体流的分辨率,基于调整后的目标媒体流的码流信息重新确定可接受时延,使重新确定的可接受时延满足预设要求。具体的实现过程与服务端类似,此处不再赘述。
[0146]
服务端或客户端确定了恒定传输速率之后,若传输起始时间是在对端进行控制,则可以将该恒定传输速率发送给对端,以便对端进行目标媒体流的传输控制。
[0147]
本实施例中,为了进一步提高媒体播放效果,在进行流量整形过程中,还可以与客户端协商确定客户端的媒体缓冲区大小,以使客户端根据该媒体缓冲区大小分配用于缓存目标媒体流的缓冲区,降低由于客户端媒体缓冲区大小不足而造成的媒体丢失和卡顿现象。
[0148]
其中,媒体缓冲区大小可以大于等于目标媒体流中数据量最大的分片的大小,以保证客户端可以有足够的空间缓存目标媒体流的完整分片。
[0149]
本实施例中,媒体缓冲区大小可以是客户端根据自身的内存配置信息确定的,若确定可接受时延和恒定传输速率的过程在服务端执行,则客户端可以将媒体缓冲区大小发送给服务端,服务端可以根据媒体缓冲区大小确定目标媒体流的分辨率。
[0150]
在具体实现时,服务端可以判断该媒体缓冲区大小是否满足要求,即判断该媒体缓冲区大小是否大于目标媒体流中数据量最大的分片的大小,若是,可以保持目标媒体流的分辨率不变,若不是,与基于可接受时延调整目标媒体流的分辨率类似,服务端可以调整目标媒体流的分辨率,使媒体缓冲区大小满足上述要求。
[0151]
若确定可接受时延和恒定传输速率的过程在客户端执行,客户端可以在媒体缓冲区大小不满足要求时,请求服务端调整目标媒体流的分辨率,使媒体缓冲区大小满足上述要求。
[0152]
本实施例中,媒体缓冲区大小也可以不是预先确定好的,而是根据目标媒体流中数据量最大的分片的大小确定的。例如:客户端未向服务端发送媒体缓冲区大小,服务端可以在确定好目标媒体流对应的可接受时延和恒定传输速率后,可以直接将媒体缓冲区大小确定为目标媒体流中数据量最大的分片的大小,然后将该媒体缓冲区大小发送给客户端。
[0153]
s120、服务端与客户端之间以恒定传输速率传输目标媒体流。
[0154]
服务端与客户端在协商好恒定传输速率和可接受时延后,就可以根据该恒定传输速率按播放时间先后顺序依次传输目标媒体流中的各分片。
[0155]
其中,在进行传输时,服务端可以在协商好恒定传输速率后即以该恒定传输速率
向客户端发送目标媒体流,即由服务端控制目标媒体流的传输起始时间;服务端也可以在协商好恒定传输速率后,接收到客户端发送的数据传输请求的情况下,向客户端发送目标媒体流,即由客户端控制目标媒体流的传输起始时间,其中,该数据传输请求中可以携带目标媒体流的标识,以表示该请求是用于请求传输目标媒体流,另外,该数据传输请求中可以携带恒定传输速率,以告诉服务端以该恒定传输速率传输目标媒体流。
[0156]
服务端在传输目标媒体流时,可以通过传输层发送窗口、网卡出口速率或其他方式控制传输速率,使目标媒体流的传输速率为上述恒定传输速率。
[0157]
为了方便传输,服务端或客户端可以为目标媒体流添加传输时间标签,即可以在传输目标媒体流之前,确定目标媒体流中每个分片的传输时间标签,标识每个分片的发送时刻。
[0158]
客户端接收到服务端传输的媒体文件后,可以将其缓存在媒体缓冲区中,当接收到一个完整的分片后,可以在到达该分片的播放起始时间之前,从缓冲区中取出该分片进行解码,然后在满足该分片的播放要求时播放该分片,比如:可以在到达该分片的播放起始时间或接收到用户的播放指令时进行播放。在从缓冲区中取出该分片的数据后,客户端可以释放缓冲区,以接收新的媒体数据。
[0159]
s130、客户端根据可接受时延向服务端请求获取下一媒体流。
[0160]
客户端在目标媒体流播放结束前,可以向服务端请求下一媒体流进行播放。
[0161]
在具体实现时,客户端可以在当前时间距离目标媒体流的播放结束时间的时长大于等于可接受时延的情况下,向服务端请求获取下一媒体流,服务端与客户端重复上述步骤s110和s120,完成参数协商,并传输该下一媒体流。其中,在进行下一媒体流的参数协商时,也可以根据目标媒体流对应的协商参数的值确定,例如:在确定目标媒体流对应的协商参数时,客户端向服务端发送了可接受时延,在确定下一媒体流对应的协商参数时,客户端可以不发送该可接受时延,服务端可以直接采用客户端上次发送的可接受时延确定恒定传输速率;同样的,如果是先确定恒定传输速率,也可以直接采用上次确定的恒定传输速率确定可接受时延;媒体缓冲区大小也可以采用类似的方法,本实施例对此均不做特别限定。
[0162]
其中,该下一媒体流与目标媒体流可以是同一媒体中的不同片断,也可以属于不同的媒体。当然,在不需要播放下一媒体流时,也可以不执行该步骤s130。
[0163]
本实施例中,通过将vbr媒体流采用恒定传输速率传输,可以平滑传输数据流量,有效提高网络传输性能,同时相比生成恒定码率的媒体数据进行传输的方式,可以有效提高媒体质量和编码效率;另外,本实施例中,在进行流量整形时,综合考虑媒体数据的码流信息和客户端可接受时延等要素,这样可以提高流量整形的精确度,减少客户端的卡顿现象,提高媒体播放效果。
[0164]
下面介绍本技术的技术方案所适用的另一种应用场景。该应用场景下,为了便于带宽管理,采用cbr编码方式编码媒体,同时对媒体流量进行了带宽质量保障。该应用场景具体可以是交互式网络电视(internet protocol television,iptv)场景或其他类似场景,本技术实施例中以iptv场景为例进行示例性说明。
[0165]
该应用场景下,可以由运营商统一设定客户端的可接受播放时延和可保障传输速率,其中,各媒体的可接受播放时延可以相同也可以不同,具体可以根据实际情况设置。
[0166]
对于每个媒体,服务端可以将该媒体的cbr媒体流转换成vbr媒体流,并使转换后
的vbr媒体流对应的恒定传输速率尽量接近或等于可保障传输速率。具体实现过程可以参见图4,图4为本技术实施例提供的确定恒定传输速率的流程示意图,如图4所示,该方法可以包括如下步骤:
[0167]
s111、将原始媒体流转换为采用可变码率编码的第一媒体流。
[0168]
本实施例中,可以将vbr媒体流转换成恒定的数据流量,因此,服务端可以将cbr编码的原始媒体流转换为vbr编码的媒体流(即第一媒体流),以提高媒体质量。
[0169]
s112、根据第一媒体流的码流信息和可接受时延,确定第一传输速率c1。
[0170]
在转换得到第一媒体流后,可以依据前述公式(1)确定第一媒体流对应的恒定传输速率(即第一传输速率c1),具体的确定过程与前面确定恒定传输速率的方式类似,此处不再赘述。
[0171]
s113、判断预先设置的可保障传输速率c_q减第一传输速率c1之差是否小于等于预设的速率阈值c_t,若是则执行步骤s114,否则执行步骤s115。
[0172]
具体的,在确定出第一传输速率c1后,可以判断第一传输速率c1与可保障传输速率c_q之间的接近程度,此处通过可保障传输速率c_q减第一传输速率c1的差值(即c_q﹣c1)与速率阈值c_t之间的大小关系来衡量该接近程度,在c_q﹣c1≤c_t的情况下,可以认为第一传输速率c1与可保障传输速率c_q之间的接近程度满足要求;在c_q﹣c1>c_t的情况下,可以认为第一传输速率c1与可保障传输速率c_q之间的接近程度不满足要求。
[0173]
其中,该速率阈值可以根据实际需要设置,本实施例对此不做特别限定。在具体实现时,也可以是判断c_q﹣c1的值是否小于速率阈值c_t,在c_q﹣c1<c_t的情况下,认为第一传输速率c1与可保障传输速率c_q之间的接近程度满足要求;在c_q﹣c1≥c_t的情况下,认为第一传输速率c1与可保障传输速率c_q之间的接近程度不满足要求,本实施例对此不做特别限定。
[0174]
s114、将第一媒体流确定为目标媒体流,将第一传输速率c1确定为恒定传输速率。
[0175]
如果可保障传输速率c_q减第一传输速率c1之差小于等于速率阈值c_t,即c_q﹣c1≤c_t,说明第一传输速率c1与可保障传输速率c_q之间比较接近,此时可以将第一媒体流确定为目标媒体流,将第一传输速率确定为恒定传输速率。
[0176]
s115、调整可变码率编码参数,返回执行步骤s111。
[0177]
如果可保障传输速率c_q减第一传输速率c1之差大于速率阈值c_t,即c_q﹣c1>c_t,说明第一传输速率c1与可保障传输速率c_q之间的差别较大,此时可以调整可变码率编码参数,返回执行步骤s111,直至重新生成的第一媒体流对应的第一传输速率c1与可保障传输速率c_q之间的接近程度满足要求为止。
[0178]
服务端根据cbr编码的原始媒体流转换得到vbr编码的目标媒体流之后,服务端与客户端之间可以采用目标媒体流对应的恒定传输速率传输目标媒体流,客户端也可以根据可接受时延向服务端请求获取下一媒体流,具体实现过程与前述步骤s120和s130类似,此处不再赘述。
[0179]
本实施例提供的上述技术方案,可以将cbr编码的媒体流转换成vbr编码的媒体流进行传输,这样可以有效的提高媒体质量,进而提高媒体播放效果,并可以保持cbr的流量恒定特性,提高网络传输性能。
[0180]
下面介绍本技术的技术方案所适用的另一种应用场景。
[0181]
图5为本技术实施例提供的另一种应用场景的示意图,如图5所示,该应用场景中涉及的设备可以包括:服务端100、客户端200和网关设备300,服务端100、网关设备300和客户端200之间通过网络进行数据传输。
[0182]
该应用场景与前述应用场景的不同之处在于,服务端100与客户端200之间还包括其他中转设备,该中转设备可以是图5中所示的网关设备300,也可以是其他设备,比如路由器等,中转设备可以包括一个或多个,本实施例中是以中转设备包括一个网关设备300为例进行示例性说明,其并非用于限制本技术。
[0183]
具体的,网关设备300可以从服务端100下载媒体数据并进行缓存,客户端200可以向网关设备300请求目标媒体流进行播放,网关设备300可以基于客户端200的请求,对目标媒体流进行流量整形,网关设备300与客户端200之间的交互过程与图2中服务端100与客户端200之间的交互过程类似,此处不再赘述。也就是说,本技术中,实现流量整形的媒体发送端可以是服务端100,也可以是服务端100与客户端200之间的中转设备,这样可以有效扩大流量整形的适用范围。
[0184]
本领域技术人员可以理解,以上实施例是示例性的,并非用于限定本技术。在可能的情况下,以上实施例中的一个或者几个步骤的执行顺序可以进行调整,也可以进行选择性组合,得到一个或多个其他实施例。本领域技术人员可以根据需要从上述步骤中任意进行选择组合,凡是未脱离本技术方案实质的,都落入本技术的保护范围。
[0185]
基于同一发明构思,作为对上述方法的实现,本技术实施例提供了流量整形装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
[0186]
图6为本技术实施例提供的一种流量整形装置的结构示意图,该装置可以应用于媒体发送端,如图6所示,本实施例提供的流量整形装置110可以包括:参数确定模块111和传输模块112,其中:
[0187]
参数确定模块111用于:确定待播放的目标媒体流对应的可接受时延,并根据可接受时延和目标媒体流的码流信息确定恒定传输速率,其中,可接受时延为客户端可接受的目标媒体流的媒体播放时延,目标媒体流是采用可变码率编码的,目标媒体流的码流信息包括目标媒体流包含的各分片的大小和播放时长;
[0188]
传输模块112用于:根据恒定传输速率传输目标媒体流。
[0189]
其中,可接受时延可以是客户端发送的;可接受时延也可以是预先设置的,或根据目标媒体流的广告播放时长确定的。
[0190]
作为本技术实施例一种可选的实施方式,传输模块112还用于:向客户端发送可接受时延,以指示客户端在需要播放目标媒体流的下一媒体流的情况下,根据可接受时延请求下一媒体流。
[0191]
作为本技术实施例一种可选的实施方式,参数确定模块111还用于:在根据可接受时延和目标媒体流的码流信息确定恒定传输速率之后,根据恒定传输速率传输目标媒体流之前,在网络带宽信息满足预设条件的情况下,增大恒定传输速率。
[0192]
作为本技术实施例一种可选的实施方式,目标媒体流具有对应的原始媒体流,原始媒体流是采用恒定码率编码的,且可接受时延是预先设置的;参数确定模块111具体用
于:
[0193]
将原始媒体流转换为采用可变码率编码的第一媒体流;
[0194]
根据第一媒体流的码流信息和可接受时延,确定第一传输速率;
[0195]
若预先设置的可保障传输速率减第一传输速率之差小于等于预设的速率阈值,则将第一媒体流确定为目标媒体流,将第一传输速率确定为恒定传输速率;
[0196]
若预先设置的可保障传输速率减第一传输速率之差大于速率阈值,则调整可变码率编码参数,返回执行将原始媒体流转换为采用可变码率编码的第一媒体流的步骤。
[0197]
作为本技术实施例一种可选的实施方式,目标媒体流的码流信息是采用时间序列分析方法确定的。
[0198]
作为本技术实施例一种可选的实施方式,参数确定模块111还用于:在传输模块112根据恒定传输速率传输目标媒体流之前,与客户端协商确定客户端的媒体缓冲区大小,以指示客户端根据媒体缓冲区大小分配用于缓存目标媒体流的缓冲区,媒体缓冲区大小大于等于目标媒体流中数据量最大的分片的大小。
[0199]
作为本技术实施例一种可选的实施方式,媒体缓冲区大小是客户端发送的,目标媒体流的分辨率是根据媒体缓冲区大小确定的。
[0200]
作为本技术实施例一种可选的实施方式,恒定传输速率与可接受时延之间满足如下条件:
[0201]
s(t)≤(t-t
s
d)c,t∈[t
s
,t
e
]
[0202]
其中,c为恒定传输速率,d为可接受时延,ts为目标媒体流的播放起始时间,te为目标媒体流的播放结束时间,s(t)为ts到t之间的媒体数据量大小。
[0203]
在另一实施例中,作为一种可选的实施方式,参数确定模块111用于:确定待播放的目标媒体流对应的恒定传输速率;并根据恒定传输速率和目标媒体流的码流信息确定可接受时延,可接受时延为客户端可接受的目标媒体流的媒体播放时延;
[0204]
传输模块112用于:根据可接受时延和恒定传输速率传输目标媒体流。
[0205]
作为本技术实施例一种可选的实施方式,参数确定模块111具体用于:根据网络带宽信息确定待播放的目标媒体流对应的恒定传输速率。
[0206]
作为本技术实施例一种可选的实施方式,传输模块112具体用于:在可接受时延满足预设要求的情况下,采用恒定传输速率传输目标媒体流;在可接受时延不满足预设要求的情况下,调整目标媒体流的分辨率,使基于调整后的目标媒体流的码流信息确定的可接受时延满足预设要求;并采用恒定传输速率传输调整后的目标媒体流。这样可以提高流量整形的精确度,提高客户端的媒体播放效果。
[0207]
作为本技术实施例一种可选的实施方式,传输模块112还用于:在调整目标媒体流的分辨率之前,向客户端发送可接受时延;接收客户端发送的确认信息,确认信息用于指示可接受时延是否满足预设要求。
[0208]
本实施例提供的装置可以执行上述方法实施例中媒体发送端所执行的方法,其实现原理与技术效果类似,此处不再赘述。
[0209]
图7为本技术实施例提供的另一种流量整形装置的结构示意图,该装置可以应用于客户端,如图7所示,本实施例提供的流量整形装置120可以包括:
[0210]
获取模块121,用于从媒体发送端获取待播放的目标媒体流的码流信息,目标媒体
area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),移动通信网络,全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等通信的解决方案。通信模块230可以是集成至少一个通信处理模块的一个或多个器件。该通信模块230可以包括天线,该天线可以只有一个阵元,也可以是包括多个阵元的天线阵列。该通信模块230可以通过天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。通信模块230还可以从处理器210接收待发送的信号,对其进行调频、放大,经天线转为电磁波辐射出去。
[0225]
电子设备还可以包括电源管理模块(未示出),电源管理模块可以接收电池和/或充电器的输入,为处理器210、存储器220和通信模块230等供电。
[0226]
需要说明的是,上述图8并不构成对电子设备结构的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括显示屏、指示灯、马达、控件(例如按键)、陀螺仪传感器、加速度传感器等。
[0227]
该电子设备可以是上述的媒体发送端,也可以是客户端。
[0228]
本实施例提供的电子设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
[0229]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
[0230]
本技术实施例还提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现上述方法实施例所述的方法。
[0231]
本技术实施例还提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述方法实施例所述的方法。
[0232]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘或磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0233]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质可以包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
[0234]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0235]
在本技术所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0236]
应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0237]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0238]
如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0239]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0240]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0241]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜