CN104967868B - 视频转码方法、装置和服务器 - Google Patents
视频转码方法、装置和服务器 Download PDFInfo
- Publication number
- CN104967868B CN104967868B CN201410136492.7A CN201410136492A CN104967868B CN 104967868 B CN104967868 B CN 104967868B CN 201410136492 A CN201410136492 A CN 201410136492A CN 104967868 B CN104967868 B CN 104967868B
- Authority
- CN
- China
- Prior art keywords
- time period
- video clip
- video
- region
- transcoding
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频转码方法、装置和服务器,属于网络技术领域。所述方法包括:根据第一时间段的视频统计信息,确定每个视频片段的转码优先级;根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段,所述第一时间段为所述第二时间段的前一时间段;对所述第二时间段的待转码视频片段进行视频转码。本发明通过前一时间段的视频统计信息,确定每个视频片段的转码优先级,使用实际的播放情况,预测哪些视频片段在当前时间段内最可能被用户请求,从而根据转码优先级确定当前时间段应该进行转码的视频片段,以避免对大量视频片段进行转码所造成的计算资源和存储资源的浪费。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种视频转码方法、装置和服务器。
背景技术
随着网络技术的发展,动态自适应视频传输已经成为当前互联网最热门的视频传输技术之一。
动态自适应视频传输中,为了满足用户对视频片段的需求,视频服务提供商需要将每个发布的视频均转码为一组不同比特率的版本,也即是为同一个视频片段提供多个不同比特率的版本,以使得用户能够根据自身的网络情况下载相应版本的视频,从而实现视频传输的目的。但是,由于在转码时已经设置了固定的转码比特率,因此,用户只能从有限的比特率中选择视频版本,不能够有效的适应于多变的网络情况。
为了解决上述问题,视频服务提供商会采取增加提供的视频版本数量的方法,而随着上传视频数量的增加以及版本数量的增加,用于转码所消耗的计算资源大大增加。并且,由于视频片段的受欢迎度分布明显偏向重尾分布,例如,由于现有的视频共享服务是基于UGC(User-generated content),因此,有很大一部分视频片段并不会被观看,如果对这些视频片段进行转码,对计算资源和存储资源均是极大的浪费。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种视频转码方法、装置和服务器。所述技术方案如下:
一方面,提供了一种视频转码方法,所述方法包括:
根据第一时间段的视频统计信息,确定每个视频片段的转码优先级,所述视频统计信息根据视频请求情况确定;
根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段,所述第一时间段为所述第二时间段的前一时间段;
对所述第二时间段的待转码视频片段进行视频转码。
另一方面,提供了一种视频转码装置,所述装置包括:
转码优先级确定模块,用于根据第一时间段的视频统计信息,确定每个视频片段的转码优先级,所述,该视频统计信息根据视频请求情况确定;
待转码视频片段确定模块,用于根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段,所述第一时间段为所述第二时间段的前一时间段;
转码模块,用于对所述第二时间段的待转码视频片段进行视频转码。
又一方面,提供了一种服务器,该服务器包括上述提供的视频转码装置。
本发明实施例提供的技术方案带来的有益效果是:
通过前一时间段的视频统计信息,确定每个视频片段的转码优先级,使用实际的播放情况,预测哪些视频片段在当前时间段内最可能被用户请求,从而根据转码优先级确定当前时间段应该进行转码的视频片段,以避免对大量视频片段进行转码所造成的计算资源和存储资源的浪费。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频网络系统架构图;
图2是本发明实施例提供的一种视频转码方法的流程图;
图3是本发明实施例提供的一种视频转码方法的流程图;
图4A是本发明实施例提供的视频片段转码示意图;
图4B是本发明实施例所提供的协同考虑视频转码和视频推送的原理架构图;
图4C是本发明实施例提供的一种视频系统内视频片段推送的示意图;
图5是本发明实施例提供的一种视频转码装置的结构示意图;
图6是本发明实施例提供的另一种视频转码装置的结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图;
图8是本发明一个实施例提供的视频转码装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于对本发明的理解,在此对一些技术词汇进行解释:
视频片段。视频片段是指对视频进行切片所得到的视频数据块,该视频片段可以独立播放,并且可基于HTTP(Hypertext Transfer Protocol,超文本传输协议)协议传输。
视频转码。视频转码是指将视频片段从某一个比特率转码为另一个比特率的处理过程。对于一个视频片段来说,可以具有多个具有相同视频内容,但是比特率不同的视频版本。
视频推送。视频推送是指视频片段在区域之间通过多个节点服务器进行复制、传输并由用户下载的过程。
图1是本发明实施例提供的一种视频网络系统架构图。参见图1,该视频网络系统中包括多个区域R1、R2和R3,每个区域中均部署有一个后端服务器BS和多个节点服务器PS。每个区域中的后端服务器和节点服务器均可以用于对视频片段的转码、存储和推送。当然,在视频该网络系统中,还可以包括门户网站服务器(图中未示出)等服务器。
图2是本发明实施例提供的一种视频转码方法的流程图。参见图2,该实施例具体包括:
201、根据第一时间段的视频统计信息,确定每个视频片段的转码优先级,该视频统计信息根据视频请求情况确定。
202、根据该每个视频片段的转码优先级,确定第二时间段的待转码视频片段,该第一时间段为该第二时间段的前一时间段。
如,以T-1为第一时间段,则T-1的后一时间段T,即为第二时间段。
203、对该第二时间段的待转码视频片段进行视频转码。
本发明实施例提供的方法,通过前一时间段的视频统计信息,确定每个视频片段的转码优先级,使用实际的播放情况,预测哪些视频片段在当前时间段内最可能被用户请求,从而根据转码优先级确定当前时间段应该进行转码的视频片段,以避免对大量视频片段进行转码所造成的计算资源和存储资源的浪费。
可选地,在本发明提供的另一实现方式中,根据第一时间段的视频统计信息,确定每个视频片段的转码优先级包括:
获取所述每个视频片段的已有版本;
根据所述每个视频片段的已有版本,确定对所述每个视频片段进行转码后的传输质量影响值;
基于所述传输质量影响值,获取所述每个视频片段的转码优先级。
可选地,在本发明提供的另一实现方式中,根据所述每个视频片段的已有版本,确定对所述每个视频片段进行转码后的传输质量影响值包括:
根据所述每个视频片段的已有版本数目、已有版本比特率以及目标版本比特率,应用下述公式,确定对该每个视频片段进行转码后的传输质量影响值;
其中,为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值;
B(v)是版本v的比特率;
B(w)是版本w的比特率;
G(T)(s)为每个视频片段的已有版本集合。
其中,是指至少存在一个w属于已有版本集合。也即是,用于进行传输质量影响值计算的版本可以是已有版本集合中的一个版本,也可以是已有版本集合以外的版本。
可选地,在本发明提供的另一实现方式中,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述方法还包括:
根据所述指定视频片段的请求用户数,获取第二时间段的请求用户数估计;
基于所述传输质量影响值和所述第二时间段的请求用户数估计,执行所述获取所述每个视频片段的转码优先级的步骤。
可选地,在本发明提供的另一实现方式中,应用下述公式,基于所述传输质量影响值和所述第二时间段的请求用户数估计,执行所述获取所述每个视频片段的转码优先级的步骤包括:
其中,为视频片段(s,v)的转码优先级;
为第二时间段内对视频片段(s,v)的请求用户数估计;为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值。
可选地,在本发明提供的另一实现方式中,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述方法还包括:
根据所述指定视频片段的请求用户数,获取第二时间段的被请求视频估计;
基于所述第二时间段的被请求视频估计,执行所述获取所述每个视频片段的转码优先级的步骤。
可选地,在本发明提供的另一实现方式中,根据所述指定视频片段的请求用户数,获取第二时间段的请求用户数估计包括:
将第一时间段内对所述指定视频片段的请求用户数,作为所述第二时间段内对所述指定视频片段的请求用户数估计;
或,
对于所述第一时间段内对所述指定视频片段的请求用户数,按照预设算法进行计算,得到所述第二时间段内对所述指定视频片段的请求用户数估计。
可选地,在本发明提供的另一实现方式中,根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段包括:
按照所述每个视频片段的转码优先级从大到小的顺序,获取第一数目的视频片段作为所述第二时间段的待转码视频片段。
可选地,在本发明提供的另一实现方式中,所述方法还包括:
根据第一时间段的视频统计信息,确定目标偏好区域;
将所述第二时间段内的请求终端重定向至所述目标偏好区域,使得所述请求终端与所述目标偏好区域内的节点服务器进行视频传输。
可选地,在本发明提供的另一实现方式中,根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段包括:
根据所述每个视频片段的转码优先级,将转码优先级之和最大、且转码所占用的计算资源小于区域的空闲计算资源之和的视频片段,确定为第二时间段的待转码视频片段。
可选地,在本发明提供的另一实现方式中,根据第一时间段的视频统计信息,确定目标偏好区域包括:
根据第一时间段内每个区域的负载信息,将负载信息符合第二预设标准的区域确定为目标偏好区域;或,
根据第一时间段内每个区域的带宽能力信息,将带宽能力信息符合第三预设标准的区域确定为目标偏好区域;或,
根据所述第一时间段内每个区域的带宽能力信息、第一时间段内对不同视频片段的请求用户数、第一时间段内用户在不同区域进行下载时的最高比特率版本以及用户对每个区域的偏好度,将符合第四预设标准的区域确定为目标偏好区域。
可选地,在本发明提供的另一实现方式中,该目标偏好区域满足以下第四预设标准:选择所述区域作为目标偏好区域的用户对所述区域的偏好度的总和最大,如下式所示:
其中,
H(u,r)为用户u对区域r的偏好度;D(T)(u,r)为第二时间段内用户u是否在区域r进行下载;U(T)为第一时间段内对不同视频片段的请求用户;B(v)为版本v的比特率;L(u,r)为用户u在区域r进行下载时的最高比特率版本;Wr为区域r的带宽能力信息;R为区域集合。
其中,是指任一个u均属于第一时间段内对不同视频片段的请求用户集合U(T)。是指任一个区域r均属于区域集合R。
可选地,在本发明提供的另一实现方式中,将所述第二时间段内的请求终端重定向至所述目标偏好区域包括:
为所述请求终端提供所述目标偏好区域内的多个节点服务器的带宽能力信息,使得所述请求终端获取至少一个目标节点服务器,并向所述至少一个目标节点服务器发送传输请求。
可选地,在本发明提供的另一实现方式中,所述方法还包括:
当接收到所述传输请求时,所述目标节点服务器根据所述目标节点服务器的带宽能力信息,确定是否接受所述传输请求;
当所述目标节点服务器的带宽能力信息不能满足所述用户的传输请求,拒绝所述传输请求;
当所述目标节点服务器的带宽能力信息满足所述用户的传输请求,接受所述传输请求。
可选地,在本发明提供的另一实现方式中,所述方法还包括:
当接收到所述传输请求时,所述目标节点服务器根据所述用户的传输质量影响值估计,确定是否接受所述传输请求,所述传输质量影响值估计为所述用户对区域的偏好度和用户在所述区域进行下载时的最高比特率的比值;
当所述目标节点服务器的用户的传输质量影响值估计不能满足所述用户的传输请求,拒绝所述传输请求;
当所述目标节点服务器用户的传输质量影响值估计满足所述用户的传输请求,接受所述传输请求。
可选地,在本发明提供的另一实现方式中,对所述第二时间段的待转码视频片段进行视频转码包括:
根据所述第二时间段内对每个区域的请求用户数估计以及所述每个区域的复制消耗估计,确定目标后端服务器,由所述目标后端服务器对所述第二时间段的待转码视频片段进行视频转码。
可选地,在本发明提供的另一实现方式中,该复制消耗通过每个区域对视频片段的请求用户数估计以及在区域之间复制视频片段所需的复制消耗估计确定。
可选地,在本发明提供的另一实现方式中,确定目标后端服务器时遵循以下原则:所有进行转码的区域向其他区域进行复制的复制消耗最小,如下式所示:
其中,F[(s,v),r]为由区域r进行视频片段(s,v)的转码所需的复制消耗估计;
为目标后端服务器所在区域。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种视频转码方法的流程图。参见该图3,本发明实施例具体包括:
301、获取第一时间段的视频统计信息,该视频统计信息根据视频请求情况确定。
在本发明实施例中,第一时间段用于指代一个收集统计信息的时间段,该时间段的具体时长可以根据视频系统的实际计算能力以及负载能力等确定,在此不做限定。
其中,视频统计信息根据视频请求情况确定,如哪些视频片段被请求播放,每个播放的视频片段的版本,每个播放视频片段的请求用户数(即播放次数)等。即,该视频统计信息可以包括指定视频片段的请求用户数、每个视频片段的已有版本数目、已有版本比特率等。
通过获取第一时间段的视频统计信息,可以获知第一时间段的视频系统的负载情况、下载情况等等,以便后续以第一时间段的实际情况为基础,预测下一时间段内哪些视频片段最可能被请求。
302、根据该指定视频片段的请求用户数,获取第二时间段的请求用户数估计,该第一时间段为第二时间段的前一时间段,指定视频片段为第一时间段内被请求的视频片段。
具体地,该步骤302可以包括以下任一种获取方式:
方式一,将第一时间段内对该指定视频片段的请求用户数,作为该第二时间段内对该指定视频片段的请求用户数估计。
在方式一中,可以认为在连续的两个时间段中,对于指定视频片段的请求用户数不变,也即是,不进行其他计算,将第一时间段所统计到的请求用户数,作为第二时间段内对该指定视频片段的请求用户数估计。
方式二,对于该第一时间段内对该指定视频片段的请求用户数,按照预设算法进行计算,得到该第二时间段内对该指定视频片段的请求用户数估计。
在方式二中,可以认为连续的两个时间段中,对指定视频片段的请求用户数以预设算法变化,如,递增或递减,又或者基于回归模型等进行变化,因此,基于第一时间段内的请求用户数,输入预设算法中进行计算,从而将得到的用户数作为该第二时间段内对该指定视频片段的请求用户数估计。
当然,在方式一和方式二中,不同时间段还可以应用于不同的预设算法,如区分高峰时间段、普通时间段和低峰时间段,如对于位于晚上8点-10点,可以采用递增算法计算第二时间段的请求用户数估计,而在凌晨1点-5点,可以采用递减算法计算第二时间段的请求用户数估计,而对于早上9点-下午5点这段时间段,可以采用如方式一中的获取方式,本发明实施例对此不做限定。
303、获取该每个视频片段的已有版本。
在视频系统中,对于一些视频片段,可以事先进行转码或是在视频系统运行过程中已经转码成一些版本,对于这些版本,视频系统会进行统计,从而获知每个视频片段的已有版本数目、已有版本比特率等信息。
304、根据每个视频片段的已有版本数目、已有版本比特率以及目标版本比特率,确定对该每个视频片段进行转码后的传输质量影响值。
其中,视频片段的已有版本数目是指该视频片段已经转码的版本,如,对于视频片段S1来说,可以具有V1、V2三个不同比特率的视频版本。目标版本比特率是指对某一个视频片段进行转码时所转码成的比特率。传输质量影响值可以用于衡量将某一个视频片段进行转码为目标版本后,对传输质量可能造成的影响。
在本发明实施例中,可以用下述公式(1),确定将该每个视频片段转码至目标版本比特率后的传输质量影响值:
其中,为第二时间段内对已有版本w的视频片段转码为版本v的传输质量影响值;B(v)是版本v的比特率;B(w)是版本w的比特率;版本v的比特率大于版本w的比特率;G(T)(s)为每个视频片段的已有版本集合。
对于上式(1)来说,当对于某一个视频片段来说,已存在一个比目标版本比特率低的版本,那么,传输质量影响值越大,说明如果不将该视频片段转码成一个高于已有版本比特率的版本,对传输质量的影响越大,用户可能接收到不匹配的版本的可能性越大。而如果对于某一个视频片段来说,当前不存在比目标版本比特率低的版本,则将传输质量影响值设为一预设值γ,以说明未保存有该视频片段的任何转码版本,即原始码率之外的任意版本。
305、基于该传输质量影响值和该第二时间段的请求用户数估计,获取该每个视频片段的转码优先级。
通过该步骤302-304所获得的传输质量影响值和该第二时间段的请求用户数估计,可以进行步骤305以预测视频片段在第二时间段内的转码优先级,也即是,视频片段在第二时间段被请求可能性越大,则该可能被请求的视频片段的转码优先级越高。
应用下述公式(2),基于该传输质量影响值和该第二时间段的请求用户数估计,执行该获取该每个视频片段的转码优先级的步骤包括:
其中,为视频片段(s,v)的转码优先级;(s,v)为视频片段s的版本v;为第二时间段内对视频片段(s,v)的请求用户数估计;为第二时间段内对已有版本w的视频片段转码为版本v的传输质量影响值。
基于上述对传输质量影响值的计算,当第一视频片段和第二视频片段在该第二时间段的请求用户数估计相同时,判断第一传输质量影响值和第二传输质量影响值之间的大小关系,该第一传输质量影响值为第一视频片段的传输质量影响值,该第二传输质量影响值为第二视频片段的传输质量影响值;当第一传输质量影响值大于第二传输质量影响值,将该第一视频片段的转码优先级设置为高于该第二视频片段的转码优先级。
如图4A所示,图4A中的实线方块用于代表已有的版本,虚线方块用于代表该版本尚未被转码,当视频片段(s1,v3)和(s2,v3)具有相同的请求用户数,如图中所示,则将(s1,v3)的转码优先级设置为高于(s2,v3),而对于(s2,v3)的用户请求,可以选择与(s2,v3)版本最接近的(s2,v2)进行传输。
在本发明实施例中,仅以根据传输质量影响值和该第二时间段的请求用户数估计,获取转码优先级为例进行说明,而在本发明提供的另一实施例中,还可以仅根据传输质量影响值或第二时间段的请求用户估计,获取转码优先级。也即是,该获取过程可以包括以下任一过程:(1)获取该每个视频片段的已有版本;根据该每个视频片段的已有版本,确定对该每个视频片段进行转码后的传输质量影响值;基于该传输质量影响值,获取该每个视频片段的转码优先级。或,(2)获取第二时间段的请求用户数估计;基于第二时间段的请求用户数估计,获取该每个视频片段的转码优先级。或,(3)根据该指定视频片段的请求用户数,获取第二时间段的被请求视频估计;基于该第二时间段的被请求视频估计,执行该获取该每个视频片段的转码优先级的步骤。事实上,第(2)、(3)种方式可以看做是同一种方式,方式(2)是根据视频片段的请求用户数估计确定转码优先级,而方式(3)是根据请求用户数,获取被请求视频估计,来获取转码优先级。而在方式(3)中可以根据请求用户数,来预测哪些视频片段可能会在第二时间段被请求,该预测可以不仅基于视频片段的受欢迎程度,还可以根据视频片段的视频类型信息,对同类视频片段或同系列进行预测。如,在第一时间段,对于视频片段A的请求用户数为1.5W,当前还有视频片段B为视频片段A的下集对应的片段,则可以基于视频片段A的请求用户数,设置视频片段B的待转码优先级。
306、按照该每个视频片段的转码优先级从大到小的顺序,获取第一数目的视频片段作为该第二时间段的待转码视频片段。
在本发明实施例中,仅以视频片段的转码优先级高低来确定第一数目的视频片段作为待转码视频片段。而为了进一步优化选择视频片段,可以将该选择待转码视频片段的过程看做是一个优化问题,使得所选择的待转码视频片段集合中所有待转码视频片段的转码优先级之和最大,如下式(3)所示:
其中,E(T)为待转码视频片段集合。
当然,为了进一步保证能够实现实时转码,还需要考虑到各个区域的空闲计算资源,则可以用以下优化条件(4)进行限制,具体地,该优化条件(4)可以为第二时间段的待转码视频片段的转码优先级之和最大、且转码所占用的计算资源小于区域的空闲计算资源之和。
其中,C(s,v)为将视频片段s转码为视频片段(s,v)所占用的计算资源;
I(T)(r)为区域r中的空闲计算资源。
根据该每个视频片段的转码优先级,将转码优先级之和最大、且转码所占用的计算资源小于区域的空闲计算资源之和的视频片段,确定为第二时间段的待转码视频片段。
在本发明实施例中,可以将某一大小的视频片段在进行某一版本的转码所占用的计算资源设置为预设值,以用于计算该大小的视频片段在转码为某一个版本时所占用的计算资源。另外,由于很多后端服务器均能够提供稳定的计算资源,可以将第一时间段的空闲计算资源作为第二时间段的空闲计算资源,当然,还有其他计算资源的方式,在这里不再赘述。
为了进一步优化对计算资源的消耗,可以通过后端服务器上报正在下载的视频片段和/或当前负载情况,以集中获知第一时间段内被请求的视频片段以及每个视频片段的请求用户数,用以获取转码优先级,并通过将指定视频片段按照转码优先级和所占用计算资源的比值进行排序,并按照从大到小的顺序确定待转码视频片段,在转码过程中,更新计算资源的消耗,直到空闲计算资源耗尽。
307、根据该第二时间段内对每个区域的请求用户数估计以及该每个区域的复制消耗估计,确定目标后端服务器,由该目标后端服务器对该第二时间段的待转码视频片段进行视频转码。
通过对区域中后端服务器的观察可以看出,后端服务器可以提供大量的闲置计算资源,而且,随着时间的推移,后端服务器所能够提供的空闲计算资源是相对稳定的,也就表明了后端服务器可以高效的进行视频转码。
基于上述分析,在确定了待转码视频片段以后,为了进一步提高计算资源的使用效率,并且尽量减少计算资源的浪费,需要确定分配哪些区域的后端服务器进行视频转码。由于各个区域中用户的下载速度有所不同,用户在不同区域中所倾向于下载的视频片段版本也会有所不同。因此,可以将不同视频片段的转码分配给不同的区域,以便将复制消耗降到最小。
具体地,该复制消耗可以通过每个区域对视频片段的请求用户数估计以及在区域之间复制视频片段所需的复制消耗估计确定,如下式(5)所示:
F[(s,v),r]为由区域r进行视频片段(s,v)的转码所需的复制消耗估计;
为区域r'中对视频片段(s,v)的请求用户数估计;
Zr,r'(s,v)为将视频片段(s,v)从区域r复制到区域r'所需的复制消耗估计。
其中,一个区域对某一视频片段的请求用户数估计可以通过步骤302中获取,在此不再赘述。另外,将一个区域内的视频片段复制至另一区域所需的复制消耗估计可以根据视频片段的大小和两个区域之间的带宽确定。
F[(s,v),r]值越大,说明由区域r进行视频片段(s,v)的转码所需的复制消耗估计越大,则为了对分配进行优化,在分配时可以遵循以下原则:所有进行转码的区域向其他区域进行复制的复制消耗最小,如下式(6)所示:
其中,为目标后端服务器所在区域,该转码后的视频片段(s,v)将在有用户请求时,被从该目标后端服务器所在区域被复制到其他区域中。
当然,为了进一步保证能够实现实时转码,还需要考虑到各个区域的空闲计算资源,则可以用以下优化条件(7)进行限制,具体地,该优化条件(7)可以为转码所占用的计算资源小于区域的空闲计算资源之和。
其中,C(s,v)为将视频片段s转码为视频片段(s,v)所占用的计算资源;
I(T)(r)为区域r中的空闲计算资源。
通过对消耗复制、转码所占用资源和空闲计算资源的综合考虑,可以确定用于进行转码的区域,并在这些区域间分配待转码视频片段的具体转码任务,如哪一个区域用于进行哪些视频片段的转码等。
优选地,为了保证平滑播放,当被请求的视频片段的某一版本还未进行转码时,可以将与该被请求版本的比特率最接近的版本发送给用户或发送给请求该版本的区域。
进一步地,为了实现上述分配,可以采用以下方式:(1)将分配好的进行转码的区域以及该区域应转码的视频片段(例如,可以区域-视频片段的表示表示),按照区域的复制消耗估计进行排序;(2)从排序队列中陆续选择复制消耗估计最小的区域执行该区域应转码的视频片段的转码处理;(3)在转码过程中不断更新空闲计算资源,直到所有区域的计算资源均耗尽。上述方式可以通过布置一个中心服务器,以便从流媒体服务器上实时收集用户请求等并进行转码任务的分配。
优选地,在本发明实施例中,当第一区域中的第一视频片段的请求用户数大于预设阈值时,可将该第一区域确定为目标复制区域,即该目标复制区域从对该第一视频片段进行转码的区域复制该第一视频片段;而当第二区域中的第二视频片段的请求用户数小于预设阈值时,可根据用户的区域偏好,将用户的请求重定向到转码该第二视频片段的区域或是已经复制了该第二视频片段的区域。
需要说明的是,当区域中的后端服务器进行转码时,可将视频切分成多个封闭组图片,每一组都可以被独立转码。为了保证平滑播放,当被要求的视频片段并没有被转码,则我们将推送与被请求视频片段的比特率。
一个转码的视频片段由后端服务器缓存并被复制到其他区域,基于我们的复制策略,由一些选定的区域进行转码,因此,可以最大程度的减小将转码视频片段复制到其他区域的资源消耗。
308、根据第一时间段的视频统计信息,确定目标偏好区域。
由于对等服务器部署在不同的区域,由不同的服务提供商(isp)提供服务,所面对的用户请求数也有所不同,在不同的区域中,用户的下载速度分布也有所不同。例如,不同区域的用户对于对等服务器有不同的偏好,且不同区域的用户将对于视频片段的比特率也有不同的偏好。而当用户接收视频片段时,传统的方法并不考虑用户对不同的对等服务器的偏好(即服务器直接上传视频部分用户),导致下载速度和比特率之间不匹配,如。一个能够接收高比特率视频的用户可能会被定向到一个与该用户网络连接情况较差的对等服务器上。为了解决这一问题,可以通过分析第一时间段内的视频统计信息,确定哪些区域的下载速度较好,从而为用户进行重定向。
需要说明的是,该基于目标偏好区域的重定向,可以是对任一区域所接收到的用户请求均相应处理,当然,也可以是当第二区域中的第二视频片段的请求用户数小于预设阈值时,可根据用户的区域偏好,对用户请求进行重定向。
具体地,该步骤307可以有以下任一种实现方式:
(1)根据第一时间段内每个区域的负载信息,将负载信息符合第二预设标准的区域确定为目标偏好区域。该第二预设标准可以为负载小于预设阈值或负载为各个区域中最小等,本发明实施例对此不做限定。
(2)根据第一时间段内每个区域的带宽能力信息,将带宽能力信息符合第三预设标准的区域确定为目标偏好区域。该第三预设标准可以为带宽能力信息大于预设阈值或带宽能力信息为各个区域中最大等,本发明实施例对此不做限定。
(3)根据该第一时间段内每个区域的带宽能力信息、第一时间段内对不同视频片段的请求用户数、第一时间段内用户在不同区域进行下载时的最高比特率版本以及用户对每个区域的偏好度,将符合第四预设标准的区域确定为目标偏好区域。
为了保证用户能在目标偏好区域获取到最好的下载质量,该目标偏好区域应满足以下第四预设标准:根据该第一时间段内每个区域的带宽能力信息、第一时间段内对不同视频片段的请求用户数、第一时间段内用户在不同区域进行下载时的最高比特率版本以及用户对每个区域的偏好度,选择该区域作为目标偏好区域的用户对区域的偏好度的总和最大,如下式(8)所示。
其中,
H(u,r)为用户u对区域r的偏好度;D(T)(u,r)为第二时间段内用户u是否在区域r进行下载;U(T)为第一时间段内对不同视频片段的请求用户;B(v)为版本v的比特率;L(u,r)为用户u在区域r进行下载时的最高比特率版本;Wr为区域r的带宽能力信息;R为区域集合。
309、将该第二时间段内的请求终端重定向至该目标偏好区域,使得该请求终端与该目标偏好区域内的节点服务器进行视频传输。
具体地,为了提供高质量的视频传输,我们将用户重定向至他们理想的地理区域,从而能够以高比特率接收视频片段,在此,以区域为单位进行重定向,一个具有最高传输带宽的区域去响应用户的请求,同一区域的节点服务器可以采用循环、随机、基于负载均衡等方式为用户请求提供服务。如,在为该请求终端提供该目标偏好区域内的多个节点服务器的带宽能力信息时,可以从目标偏好区域内选择多个节点服务器,该选择方式可以为每次选择一定数目的节点服务器,下次则从剩余的节点服务器中选择;或该选择方式还可以为每次随机选择一定数目的节点服务器;又或者,该选择方式还可以是根据区域内节点服务器的负载信息,选择当前负载信息较小的节点服务器,已达到负载均衡的目的。因此,在确定了目标偏好区域之后,该重定向过程可以具体包括:对于一个重定向的用户请求,为该请求终端提供该目标偏好区域内的多个节点服务器的带宽能力信息,使得该请求终端获取至少一个目标节点服务器,并向该至少一个目标节点服务器发送传输请求,当目标节点服务器接收到该传输请求时,该目标节点服务器根据该目标节点服务器的带宽能力信息,确定是否接受该传输请求;当该目标节点服务器的带宽能力信息不能满足该用户的传输请求,拒绝该传输请求;当该目标节点服务器的带宽能力信息满足该用户的传输请求,接受该传输请求。对于一个节点服务器来说,由于带宽能力的限制,尽可以接受一定数量的传输请求,则可以根据当前的带宽能力信息确定是否接受传输请求,如果不接受,则拒绝传输请求,使得请求终端与接受的节点服务器之间进行传输。当然,对于目标节点服务器来说,为了满足用户的区域偏好以及使得服务器能够对同一时间段所接收到的用户进行优化选择,从而提高传输质量,上述是否接受该传输请求的过程还可以用以下过程替代:当接收到该传输请求时,该目标节点服务器根据该用户的传输质量影响值估计,确定是否接受该传输请求,该传输质量影响值估计为该用户对区域的偏好度和用户在该区域进行下载时的最高比特率的比值;当该目标节点服务器的用户的传输质量影响值估计不能满足该用户的传输请求,拒绝该传输请求;当该目标节点服务器用户的传输质量影响值估计满足该用户的传输请求,接受该传输请求。在此,节点服务器还可以根据用户来确定是否接受该用户的传输请求,H(u,r)/B(L(u,r))越高,反应响应该用户的传输请求对传输质量的影响约大。
需要说明的是,本实施例提供的方法可以由视频网络系统中任一个服务器进行,如一用于统筹的中心服务器等,当然,也可以是某一个服务器上的功能模块。
为了更加清晰的体现本发明的原理,参见图4B,图4B是本发明实施例所提供的协同考虑视频转码和视频推送的原理架构图,从图4B可以看出,考虑到地域区别的视频转码方法,通过前一时间段(如图4B中的时间段T-1)的视频统计信息,确定每个视频片段的转码优先级,使用实际的播放情况,预测哪些视频片段在当前时间段(如图4B中的时间段T)内最可能被用户请求,从而根据转码优先级确定当前时间段应该进行转码的视频片段,以避免对大量视频片段进行转码所造成的计算资源和存储资源的浪费。之后,通过对在转码时所占用计算资源进行分析,将转码任务分配给一些指定的区域中的后端服务器进行转码,从而实现了计算资源、存储资源的最小化,并且降低了区域之间进行视频片段复制所需的带宽资源消耗。进一步地,还根据用户的偏好将其对视频片段的请求重定向到下载速度最理想的区域进行视频传输,使得用户速度与下载版本之间的匹配度达到最大化,能够为用户提供最优质量的视频资源。
采用上述实施例提供的方法,可以在视频系统中实现根据实时转码、转码分配以及视频的推送,如图4C所示,R1、R2和R3分别是不同的区域,在每个区域中均部署有后端服务器和节点服务器,而该实时转码、转码分配以及视频的推送过程可以由不同区域的配合执行。如对于某一个用户的播放请求来说,随着时间的推移和网络情况的变化,该用户可以接收到自适应视频流,该自适应视频流可以包括一个视频的多个视频片段,且由于本发明实施例提供了根据上一时间段对当前时间段的实时预测,该多个视频片段可以是不同版本的视频片段,也即是,该多个视频片段的比特率可以不同,图中S1、S2、S3和S4仅以其矩形大小来代表其比特率,按照比特率进行排序,可以得到S3>S1>S4>S2。其中,S1由区域R1根据用户的请求从区域R3获取,并推送至用户,而S2是由R1推送,该R1即可以为对S1进行转码的区域,而在推送S2的过程中,通过根据该时间段内收集到的视频统计信息,可以对用户进行重定向,从而使得用户被重定向到区域R2中,使得用户从区域R2中获取S3,而基于推送S3的时间段内收集到的视频统计信息,还可以继续对用户进行重定向,从而确定推送S4的区域。需要说明的是,在每个时间段中,均对下一个时间段的转码分配、待转码视频片段以及重定向区域进行预测,从而实现了不断根据视频系统的实际状态,调整用户的推送和视频系统本身的资源分配,为用户提供最优质量的视频流。
参见图5,本发明实施例提供了一种视频转码装置的结构示意图。参见图5,该装置包括:
转码优先级确定模块501,用于根据第一时间段的视频统计信息,确定每个视频片段的转码优先级,所述,该视频统计信息根据视频请求情况确定;
待转码视频片段确定模块502,用于根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段,所述第一时间段为所述第二时间段的前一时间段;
转码模块503,用于对所述第二时间段的待转码视频片段进行视频转码。
可选地,在本发明提供的另一可能实现方式中,所述转码优先级确定模块501包括:
已有版本获取单元,用于获取所述每个视频片段的已有版本;
传输质量影响值确定单元,用于根据所述每个视频片段的已有版本,确定对所述每个视频片段进行转码后的传输质量影响值;
转码优先级获取单元,用于基于所述传输质量影响值,获取所述每个视频片段的转码优先级。
可选地,在本发明提供的另一可能实现方式中,传输质量影响值确定单元用于根据所述每个视频片段的已有版本数目、已有版本比特率以及目标版本比特率,应用下述公式,确定对该每个视频片段进行转码后的传输质量影响值;
其中,为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值;
B(v)是版本v的比特率;
B(w)是版本w的比特率;
G(T)(s)为每个视频片段的已有版本集合。
可选地,在本发明提供的另一可能实现方式中,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述转码优先级确定模块501还包括:
请求用户数估计单元,用于根据所述指定视频片段的请求用户数,获取第二时间段的请求用户数估计;
所述转码优先级获取单元,还用于基于所述传输质量影响值和所述第二时间段的请求用户数估计,执行所述获取所述每个视频片段的转码优先级的步骤。
可选地,在本发明提供的另一可能实现方式中,所述转码优先级获取单元用于基于所述传输质量影响值和所述第二时间段的请求用户数估计,获取所述每个视频片段的转码优先级:
其中,为视频片段(s,v)的转码优先级;
为第二时间段内对视频片段(s,v)的请求用户数估计;为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值。
可选地,在本发明提供的另一可能实现方式中,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述转码优先级确定模块501还包括:
被请求视频估计单元,用于根据所述指定视频片段的请求用户数,获取第二时间段的被请求视频估计;
所述转码优先级获取单元,还用于基于所述第二时间段的被请求视频估计,执行所述获取所述每个视频片段的转码优先级的步骤。
可选地,在本发明提供的另一可能实现方式中,所述请求用户数估计用于将第一时间段内对所述指定视频片段的请求用户数,作为所述第二时间段内对所述指定视频片段的请求用户数估计;或,对于所述第一时间段内对所述指定视频片段的请求用户数,按照预设算法进行计算,得到所述第二时间段内对所述指定视频片段的请求用户数估计。
可选地,在本发明提供的另一可能实现方式中,所述待转码视频片段确定模块502用于按照所述每个视频片段的转码优先级从大到小的顺序,获取第一数目的视频片段作为所述第二时间段的待转码视频片段。
可选地,在本发明提供的另一可能实现方式中,所述待转码视频片段确定模块502用于根据所述每个视频片段的转码优先级,将转码优先级之和最大、且转码所占用的计算资源小于区域的空闲计算资源之和的视频片段,确定为第二时间段的待转码视频片段。
可选地,参见图6,在本发明提供的另一可能实现方式中,所述装置还包括:
目标偏好区域确定模块504,用于根据第一时间段的视频统计信息,确定目标偏好区域;
重定向模块505,用于将所述第二时间段内的请求终端重定向至所述目标偏好区域,使得所述请求终端与所述目标偏好区域内的节点服务器进行视频传输。
可选地,在本发明提供的另一可能实现方式中,所述目标偏好区域确定模块用于根据第一时间段内每个区域的负载信息,将负载信息符合第二预设标准的区域确定为目标偏好区域;或,根据第一时间段内每个区域的带宽能力信息,将带宽能力信息符合第三预设标准的区域确定为目标偏好区域;或,根据所述第一时间段内每个区域的带宽能力信息、第一时间段内对不同视频片段的请求用户数、第一时间段内用户在不同区域进行下载时的最高比特率版本以及用户对每个区域的偏好度,将符合第四预设标准的区域确定为目标偏好区域。
可选地,在本发明提供的另一可能实现方式中,该目标偏好区域满足以下第四预设标准:选择所述区域作为目标偏好区域的用户对所述区域的偏好度的总和最大,如下式所示:
其中,
H(u,r)为用户u对区域r的偏好度;D(T)(u,r)为第二时间段内用户u是否在区域r进行下载;U(T)为第一时间段内对不同视频片段的请求用户数;B(v)为版本v的比特率;L(u,r)为用户u在区域r进行下载时的最高比特率版本;Wr为区域r的带宽能力信息;R为区域集合。
可选地,在本发明提供的另一可能实现方式中,所述重定向模块用于为所述请求终端提供所述目标偏好区域内的多个节点服务器的带宽能力信息,使得所述请求终端获取至少一个目标节点服务器,并向所述至少一个目标节点服务器发送传输请求。
可选地,在本发明提供的另一可能实现方式中,所述装置还用于当接收到所述传输请求时,根据所述目标节点服务器的带宽能力信息,确定是否接受所述传输请求;当所述目标节点服务器的带宽能力信息不能满足所述用户的传输请求,拒绝所述传输请求;当所述目标节点服务器的带宽能力信息满足所述用户的传输请求,接受所述传输请求。
可选地,在本发明提供的另一可能实现方式中,所述装置还用于当接收到所述传输请求时,所述目标节点服务器根据所述用户的传输质量影响值估计,确定是否接受所述传输请求,所述传输质量影响值估计为所述用户对区域的偏好度和用户在所述区域进行下载时的最高比特率的比值;当所述目标节点服务器的用户的传输质量影响值估计不能满足所述用户的传输请求,拒绝所述传输请求;当所述目标节点服务器用户的传输质量影响值估计满足所述用户的传输请求,接受所述传输请求。
可选地,在本发明提供的另一可能实现方式中,所述转码模块503用于根据所述第二时间段内对每个区域的请求用户数估计以及所述每个区域的复制消耗估计,确定目标后端服务器,由所述目标后端服务器对所述第二时间段的待转码视频片段进行视频转码。
可选地,在本发明提供的另一可能实现方式中,该复制消耗通过每个区域对视频片段的请求用户数估计以及在区域之间复制视频片段所需的复制消耗估计确定。
可选地,在本发明提供的另一可能实现方式中,确定目标后端服务器时遵循以下原则:所有进行转码的区域向其他区域进行复制的复制消耗最小,如下式所示:
其中,F[(s,v),r]为由区域r进行视频片段(s,v)的转码所需的复制消耗估计;
为目标后端服务器所在区域。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的视频转码装置在视频转码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频转码装置与视频转码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
图7是本发明实施例提供了一种服务器的结构示意图。如图7所示,该服务器包括上述实施例中任一实施例的视频转码装置700。
图8是本发明一个实施例提供的视频转码装置的结构示意图。所述视频转码装置800可以为服务器,所述视频转码装置800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述垃圾模板文章识别设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为客户端设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本发明的各种实施例,所述视频转码装置800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即视频转码装置800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上中央处理单元801执行所述一个或者一个以上程序包含用于执行图2或图3所示实施例所提供的视频转码方法和图2所示实施例所提供的视频转码方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (37)
1.一种视频转码方法,其特征在于,所述方法包括:
根据第一时间段的视频统计信息,确定每个视频片段的转码优先级,所述视频统计信息根据视频请求情况确定;
根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段,所述第一时间段为所述第二时间段的前一时间段;
对所述第二时间段的待转码视频片段进行视频转码。
2.根据权利要求1所述的方法,其特征在于,根据第一时间段的视频统计信息,确定每个视频片段的转码优先级包括:
获取所述每个视频片段的已有版本;
根据所述每个视频片段的已有版本,确定对所述每个视频片段进行转码后的传输质量影响值;
基于所述传输质量影响值,获取所述每个视频片段的转码优先级。
3.根据权利要求2所述的方法,其特征在于,根据所述每个视频片段的已有版本,确定对所述每个视频片段进行转码后的传输质量影响值包括:
根据所述每个视频片段的已有版本数目、已有版本比特率以及目标版本比特率,应用下述公式,确定对该每个视频片段进行转码后的传输质量影响值;
其中,为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值;
B(v)是版本v的比特率;
B(w)是版本w的比特率;
G(T)(s)为每个视频片段的已有版本集合;
γ为预设的传输质量影响值。
4.根据权利要求2所述的方法,其特征在于,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述方法还包括:
根据所述指定视频片段的请求用户数,获取第二时间段的请求用户数估计;
基于所述传输质量影响值和所述第二时间段的请求用户数估计,执行所述获取所述每个视频片段的转码优先级的步骤。
5.根据权利要求4所述的方法,其特征在于,应用下述公式,基于所述传输质量影响值和所述第二时间段的请求用户数估计,执行所述获取所述每个视频片段的转码优先级的步骤包括:
其中,为视频片段(s,v)的转码优先级;
为第二时间段内对视频片段(s,v)的请求用户数估计;为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值。
6.根据权利要求2所述的方法,其特征在于,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述方法还包括:
根据所述指定视频片段的请求用户数,获取第二时间段的被请求视频估计;
基于所述第二时间段的被请求视频估计,执行所述获取所述每个视频片段的转码优先级的步骤。
7.根据权利要求4所述的方法,其特征在于,根据所述指定视频片段的请求用户数,获取第二时间段的请求用户数估计包括:
将第一时间段内对所述指定视频片段的请求用户数,作为所述第二时间段内对所述指定视频片段的请求用户数估计;
或,
对于所述第一时间段内对所述指定视频片段的请求用户数,按照预设算法进行计算,得到所述第二时间段内对所述指定视频片段的请求用户数估计。
8.根据权利要求1所述的方法,其特征在于,根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段包括:
按照所述每个视频片段的转码优先级从大到小的顺序,获取第一数目的视频片段作为所述第二时间段的待转码视频片段。
9.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据第一时间段的视频统计信息,确定目标偏好区域;
将所述第二时间段内的请求终端重定向至所述目标偏好区域,使得所述请求终端与所述目标偏好区域内的节点服务器进行视频传输。
10.根据权利要求9所述的方法,其特征在于,根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段包括:
根据所述每个视频片段的转码优先级,将转码优先级之和最大、且转码所占用的计算资源小于区域的空闲计算资源之和的视频片段,确定为第二时间段的待转码视频片段。
11.根据权利要求9所述的方法,其特征在于,根据第一时间段的视频统计信息,确定目标偏好区域包括:
根据第一时间段内每个区域的负载信息,将负载信息符合第二预设标准的区域确定为目标偏好区域;或,
根据第一时间段内每个区域的带宽能力信息,将带宽能力信息符合第三预设标准的区域确定为目标偏好区域;或,
根据所述第一时间段内每个区域的带宽能力信息、第一时间段内对不同视频片段的请求用户数、第一时间段内用户在不同区域进行下载时的最高比特率版本以及用户对每个区域的偏好度,将符合第四预设标准的区域确定为目标偏好区域。
12.根据权利要求11所述的方法,其特征在于,该目标偏好区域满足以下第四预设标准:选择所述区域作为目标偏好区域的用户对所述区域的偏好度的总和最大,如下式所示:
其中,
H(u,r)为用户u对区域r的偏好度;D(T)(u,r)为第二时间段内用户u是否在区域r进行下载;U(T)为第一时间段内对不同视频片段的请求用户数;B(v)为版本v的比特率;L(u,r)为用户u在区域r进行下载时的最高比特率版本;Wr为区域r的带宽能力信息;R为区域集合。
13.根据权利要求9所述的方法,其特征在于,将所述第二时间段内的请求终端重定向至所述目标偏好区域包括:
为所述请求终端提供所述目标偏好区域内的多个节点服务器的带宽能力信息,使得所述请求终端获取至少一个目标节点服务器,并向所述至少一个目标节点服务器发送传输请求。
14.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当接收到传输请求时,目标节点服务器根据所述目标节点服务器的带宽能力信息,确定是否接受所述传输请求;
当所述目标节点服务器的带宽能力信息不能满足用户的传输请求,拒绝所述传输请求;
当所述目标节点服务器的带宽能力信息满足所述用户的传输请求,接受所述传输请求。
15.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当接收到传输请求时,目标节点服务器根据用户的传输质量影响值估计,确定是否接受所述传输请求,所述传输质量影响值估计为所述用户对区域的偏好度和用户在所述区域进行下载时的最高比特率的比值;
当所述目标节点服务器的用户的传输质量影响值估计不能满足用户的传输请求,拒绝所述传输请求;
当所述目标节点服务器用户的传输质量影响值估计满足所述用户的传输请求,接受所述传输请求。
16.根据权利要求1所述的方法,其特征在于,对所述第二时间段的待转码视频片段进行视频转码包括:
根据所述第二时间段内对每个区域的请求用户数估计以及所述每个区域的复制消耗估计,确定目标后端服务器,由所述目标后端服务器对所述第二时间段的待转码视频片段进行视频转码。
17.根据权利要求16所述的方法,其特征在于,该复制消耗通过每个区域对视频片段的请求用户数估计以及在区域之间复制视频片段所需的复制消耗估计确定。
18.根据权利要求16所述的方法,其特征在于,确定目标后端服务器时遵循以下原则:所有进行转码的区域向其他区域进行复制的复制消耗最小,如下式所示:
其中,F[(s,v),r]为由区域r进行视频片段(s,v)的转码所需的复制消耗估计;
为目标后端服务器所在区域,E(T)为待转码视频片段集合。
19.一种视频转码装置,其特征在于,所述装置包括:
转码优先级确定模块,用于根据第一时间段的视频统计信息,确定每个视频片段的转码优先级,所述视频统计信息根据视频请求情况确定;
待转码视频片段确定模块,用于根据所述每个视频片段的转码优先级,确定第二时间段的待转码视频片段,所述第一时间段为所述第二时间段的前一时间段;
转码模块,用于对所述第二时间段的待转码视频片段进行视频转码。
20.根据权利要求19所述的装置,其特征在于,所述转码优先级确定模块包括:
已有版本获取单元,用于获取所述每个视频片段的已有版本;
传输质量影响值确定单元,用于根据所述每个视频片段的已有版本,确定对所述每个视频片段进行转码后的传输质量影响值;
转码优先级获取单元,用于基于所述传输质量影响值,获取所述每个视频片段的转码优先级。
21.根据权利要求20所述的装置,其特征在于,
传输质量影响值确定单元用于根据所述每个视频片段的已有版本数目、已有版本比特率以及目标版本比特率,应用下述公式,确定对该每个视频片段进行转码后的传输质量影响值;
其中,为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值;
B(v)是版本v的比特率;
B(w)是版本w的比特率;
G(T)(s)为每个视频片段的已有版本集合;
γ为预设的传输质量影响值。
22.根据权利要求20所述的装置,其特征在于,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述转码优先级确定模块还包括:
请求用户数估计单元,用于根据所述指定视频片段的请求用户数,获取第二时间段的请求用户数估计;
所述转码优先级获取单元,还用于基于所述传输质量影响值和所述第二时间段的请求用户数估计,执行所述获取所述每个视频片段的转码优先级的步骤。
23.根据权利要求22所述的装置,其特征在于,所述转码优先级获取单元用于基于所述传输质量影响值和所述第二时间段的请求用户数估计,获取所述每个视频片段的转码优先级:
其中,为视频片段(s,v)的转码优先级;
为第二时间段内对视频片段(s,v)的请求用户数估计;为第二时间段内对视频片段(s,v)进行转码后的传输质量影响值。
24.根据权利要求20所述的装置,其特征在于,所述视频统计信息还包括指定视频片段的请求用户数,所述指定视频片段为第一时间段内被请求的视频片段,所述转码优先级确定模块还包括:
被请求视频估计单元,用于根据所述指定视频片段的请求用户数,获取第二时间段的被请求视频估计;
所述转码优先级获取单元,还用于基于所述第二时间段的被请求视频估计,执行所述获取所述每个视频片段的转码优先级的步骤。
25.根据权利要求22所述的装置,其特征在于,所述请求用户数估计用于将第一时间段内对所述指定视频片段的请求用户数,作为所述第二时间段内对所述指定视频片段的请求用户数估计;或,对于所述第一时间段内对所述指定视频片段的请求用户数,按照预设算法进行计算,得到所述第二时间段内对所述指定视频片段的请求用户数估计。
26.根据权利要求19所述的装置,其特征在于,所述待转码视频片段确定模块用于按照所述每个视频片段的转码优先级从大到小的顺序,获取第一数目的视频片段作为所述第二时间段的待转码视频片段。
27.根据权利要求19所述的装置,其特征在于,所述待转码视频片段确定模块用于根据所述每个视频片段的转码优先级,将转码优先级之和最大、且转码所占用的计算资源小于区域的空闲计算资源之和的视频片段,确定为第二时间段的待转码视频片段。
28.根据权利要求22所述的装置,其特征在于,所述装置还包括:
目标偏好区域确定模块,用于根据第一时间段的视频统计信息,确定目标偏好区域;
重定向模块,用于将所述第二时间段内的请求终端重定向至所述目标偏好区域,使得所述请求终端与所述目标偏好区域内的节点服务器进行视频传输。
29.根据权利要求28所述的装置,其特征在于,所述目标偏好区域确定模块用于根据第一时间段内每个区域的负载信息,将负载信息符合第二预设标准的区域确定为目标偏好区域;或,根据第一时间段内每个区域的带宽能力信息,将带宽能力信息符合第三预设标准的区域确定为目标偏好区域;或,根据所述第一时间段内每个区域的带宽能力信息、第一时间段内对不同视频片段的请求用户数、第一时间段内用户在不同区域进行下载时的最高比特率版本以及用户对每个区域的偏好度,将符合第四预设标准的区域确定为目标偏好区域。
30.根据权利要求29所述的装置,其特征在于,该目标偏好区域满足以下第四预设标准:选择所述区域作为目标偏好区域的用户对所述区域的偏好度的总和最大,如下式所示:
其中,
H(u,r)为用户u对区域r的偏好度;D(T)(u,r)为第二时间段内用户u是否在区域r进行下载;U(T)为第一时间段内对不同视频片段的请求用户;B(v)为版本v的比特率;L(u,r)为用户u在区域r进行下载时的最高比特率版本;Wr为区域r的带宽能力信息;R为区域集合。
31.根据权利要求28所述的装置,其特征在于,所述重定向模块用于为所述请求终端提供所述目标偏好区域内的多个节点服务器的带宽能力信息,使得所述请求终端获取至少一个目标节点服务器,并向所述至少一个目标节点服务器发送传输请求。
32.根据权利要求28所述的装置,其特征在于,所述装置还用于当接收到传输请求时,根据目标节点服务器的带宽能力信息,确定是否接受所述传输请求;当所述目标节点服务器的带宽能力信息不能满足用户的传输请求,拒绝所述传输请求;当所述目标节点服务器的带宽能力信息满足所述用户的传输请求,接受所述传输请求。
33.根据权利要求28所述的装置,其特征在于,所述装置还用于当接收到传输请求时,目标节点服务器根据用户的传输质量影响值估计,确定是否接受所述传输请求,所述传输质量影响值估计为所述用户对区域的偏好度和用户在所述区域进行下载时的最高比特率的比值;当所述目标节点服务器的用户的传输质量影响值估计不能满足所述用户的传输请求,拒绝所述传输请求;当所述目标节点服务器用户的传输质量影响值估计满足所述用户的传输请求,接受所述传输请求。
34.根据权利要求19所述的装置,其特征在于,所述转码模块用于根据所述第二时间段内对每个区域的请求用户数估计以及所述每个区域的复制消耗估计,确定目标后端服务器,由所述目标后端服务器对所述第二时间段的待转码视频片段进行视频转码。
35.根据权利要求34所述的装置,其特征在于,该复制消耗通过每个区域对视频片段的请求用户数估计以及在区域之间复制视频片段所需的复制消耗估计确定。
36.根据权利要求34所述的装置,其特征在于,确定目标后端服务器时遵循以下原则:所有进行转码的区域向其他区域进行复制的复制消耗最小,如下式所示:
其中,F[(s,v),r]为由区域r进行视频片段(s,v)的转码所需的复制消耗估计;
为目标后端服务器所在区域,E(T)为待转码视频片段集合。
37.一种服务器,其特征在于,包括上述权利要求19-36任一项所述的视频转码装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410136492.7A CN104967868B (zh) | 2014-04-04 | 2014-04-04 | 视频转码方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410136492.7A CN104967868B (zh) | 2014-04-04 | 2014-04-04 | 视频转码方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104967868A CN104967868A (zh) | 2015-10-07 |
CN104967868B true CN104967868B (zh) | 2018-09-04 |
Family
ID=54221792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410136492.7A Active CN104967868B (zh) | 2014-04-04 | 2014-04-04 | 视频转码方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104967868B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578206A (zh) * | 2015-12-15 | 2016-05-11 | 无锡天脉聚源传媒科技有限公司 | 一种多媒体文件转码方法及装置 |
CN110351571B (zh) * | 2019-07-05 | 2020-09-25 | 清华大学 | 基于深度强化学习的直播视频云转码资源分配与调度方法 |
CN115776579A (zh) * | 2021-09-06 | 2023-03-10 | 北京字跳网络技术有限公司 | 多媒体资源处理方法、装置、电子设备以及可读存储介质 |
CN114693812A (zh) * | 2022-03-28 | 2022-07-01 | 上海哔哩哔哩科技有限公司 | 视频处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102802053A (zh) * | 2012-07-23 | 2012-11-28 | 深圳市融创天下科技股份有限公司 | 一种音视频文件转码集群调度方法及装置 |
CN103379363A (zh) * | 2012-04-19 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 视频处理方法及装置、移动终端和系统 |
CN103686207A (zh) * | 2013-12-04 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 转码任务的调度方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862733B2 (en) * | 2010-07-30 | 2014-10-14 | Verizon Patent And Licensing Inc. | User-based prioritization for content transcoding |
-
2014
- 2014-04-04 CN CN201410136492.7A patent/CN104967868B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379363A (zh) * | 2012-04-19 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 视频处理方法及装置、移动终端和系统 |
CN102802053A (zh) * | 2012-07-23 | 2012-11-28 | 深圳市融创天下科技股份有限公司 | 一种音视频文件转码集群调度方法及装置 |
CN103686207A (zh) * | 2013-12-04 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 转码任务的调度方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104967868A (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Intelligent edge-assisted crowdcast with deep reinforcement learning for personalized QoE | |
Wang et al. | Joint online transcoding and geo-distributed delivery for dynamic adaptive streaming | |
Yang et al. | Improving QoS in bittorrent-like VoD systems | |
CN101543019B (zh) | 贡献感知对等实时流传输服务 | |
Xu et al. | Ant-inspired mini-community-based solution for video-on-demand services in wireless mobile networks | |
US20110078230A1 (en) | Method and system for providing a cdn with granular quality of service | |
US20090177792A1 (en) | Performance Aware Peer-to-Peer Content-on-Demand | |
CN104967868B (zh) | 视频转码方法、装置和服务器 | |
Wang et al. | A joint online transcoding and delivery approach for dynamic adaptive streaming | |
CN106385641B (zh) | 一种基于sdn的直播视频流媒体分发方法 | |
Roverso et al. | Smoothcache 2.0: Cdn-quality adaptive http live streaming on peer-to-peer overlays | |
Wu et al. | On dynamic server provisioning in multichannel P2P live streaming | |
Kryftis et al. | Resource usage prediction for optimal and balanced provision of multimedia services | |
e Oliveira et al. | Can peer-to-peer live streaming systems coexist with free riders? | |
Lin et al. | Autotune: game-based adaptive bitrate streaming in P2P-assisted cloud-based vod systems | |
Zheng et al. | Adaptive resource scheduling mechanism in P2P file sharing system | |
Ciullo et al. | Performance analysis of non-stationary peer-assisted VoD systems | |
Mostafavi et al. | A stochastic approximation resource allocation approach for HD live streaming | |
Shi et al. | CoLEAP: Cooperative learning-based edge scheme with caching and prefetching for DASH video delivery | |
Qiu et al. | Dynamic scaling of VoD services into hybrid clouds with cost minimization and QoS guarantee | |
US11848990B2 (en) | Method and system for distributing and storing content using local clouds and network clouds | |
CN104469434B (zh) | 路由器热点视频智能分发方法 | |
Diab et al. | Joint content distribution and traffic engineering of adaptive videos in telco-cdns | |
Huang et al. | A Bandwidth allocation policy for helpers in cloud-assisted p2p video-on-demand systems | |
Hasegawa et al. | Analysis of optimal scheduling in tit-for-tat-based P2P file distribution |
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 |