CN106688239B - 视频下载方法、装置及系统 - Google Patents
视频下载方法、装置及系统 Download PDFInfo
- Publication number
- CN106688239B CN106688239B CN201580043062.3A CN201580043062A CN106688239B CN 106688239 B CN106688239 B CN 106688239B CN 201580043062 A CN201580043062 A CN 201580043062A CN 106688239 B CN106688239 B CN 106688239B
- Authority
- CN
- China
- Prior art keywords
- video
- code rate
- duration
- segmentation
- rate
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种视频下载方法、装置及系统。本发明视频下载方法,包括:根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数;在获取视频服务器回复的视频下载响应后,下载N个视频分段;重复执行以下步骤,直到下载完待播放视频:根据视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;向视频服务器请求下载对应码率的下一个视频分段;在获取视频服务器回复的视频下载响应后,下载对应码率的下一个视频分段。本发明实施例提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。
Description
技术领域
本发明实施例涉及移动视频技术,尤其涉及一种视频下载方法、装置及系统。
背景技术
随着移动通信的快速发展和智能终端的迅速普及,各种新兴的数据业务不断发展,移动视频业务已经逐渐融入用户日常生活,无论是视频点播、视频直播还是视频会议,移动视频业务已经成为了移动业务的主流。在有限的带宽资源下如何能够提供更优质的移动视频业务已成为业界十分关心的问题。
目前,有一种基于码流自适应(HTTP Adaptive Streaming,简称:HAS)的视频技术,客户端可以随着信道状况选择下载视频的码率,这样在客户端播放视频时既不会有很长的缓冲,又使得用户能够获得良好的观看体验。具体来讲,在流媒体服务器侧对完整的原始视频按照码率进行分段,例如,流媒体服务器先对原始视频进行了m个不同码率的编码,再将每个码率的视频分成n个视频片段。客户端在播放该视频时,会根据播放时的信道状况请求匹配码率的视频片段进行下载,即客户端随着网络状况的变化,根据上一视频分段的平均下载速率,选取最接近平均下载速率且小于平均下载速率的码率对应的下一视频分段进行下载,直到所有视频片段下载完成。
但是,基于HAS的视频技术只考虑了上一视频分段的平均下载速率,如果网络状况不稳定,会使得客户端在下载视频分段的过程中码率更换频繁,容易造成视频播放中的停顿,降低移动视频播放质量,影响用户的体验质量(Quality of Experience,简称:QoE)。
发明内容
本发明实施例提供一种视频下载方法、装置及系统,以提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。
第一方面,本发明实施例提供一种视频下载方法,包括:
根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
重复执行以下步骤,直到下载完所述待播放视频:
根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:
若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:
若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:
若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:
若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:
若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
结合第一方面的第四种或第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:
若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
结合第一方面的第一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,包括:
根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
结合第一方面的第五种可能的实现方式,在第一方面的第八种可能的实现方式中,所述根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率,包括:
根据以下公式计算所述待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;
确定所述待选码率的取值范围Rn的最大取值;
将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
结合第一方面、第一方面的第一种至第八种中任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段之前,还包括:
获取预先设置的所述视频分段的时长和所述M个码率;或者,
通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
第二方面,本发明实施例提供一种视频下载方法,包括:
根据信道质量确定传输待播放视频的最高码率和最低码率;
根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;
根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;
接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。
第三方面,本发明实施例提供一种视频下载装置,包括:
请求模块,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
下载模块,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
在下载完所述待播放视频之前:
码率确定模块,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
所述请求模块,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
所述下载模块,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
结合第三方面,在第三方面的第一种可能的实现方式中,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
结合第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
结合第三方面的第四种或第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述码率确定模块,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
结合第三方面的第一种可能的实现方式,在第三方面的第七种可能的实现方式中,所述码率确定模块,具体用于根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
结合第三方面的第五种可能的实现方式,在第三方面的第八种可能的实现方式中,所述码率确定模块,具体用于根据以下公式计算所述待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
结合第三方面、第三方面的第一种至第八种中任一种可能的实现方式,在第三方面的第九种可能的实现方式中,还包括:
获取模块,用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
第四方面,本发明实施例提供一种视频下载装置,包括:
确定模块,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;
分段模块,用于根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;
收发模块,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。
第五方面,本发明实施例提供一种客户端设备,包括:
发送器,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
接收器,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
在下载完所述待播放视频之前:
处理器,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
所述发送器,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
所述接收器,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
结合第五方面,在第五方面的第一种可能的实现方式中,所述处理器,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
结合第五方面的第一种或第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第四种可能的实现方式中,所述处理器,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
结合第五方面或第五方面的第四种可能的实现方式,在第五方面的第五种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
结合第五方面或第五方面的第四种或第五种可能的实现方式,在第五方面的第六种可能的实现方式中,所述处理器,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第七种可能的实现方式中,所述处理器,具体用于根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
结合第五方面或第五方面的第五种可能的实现方式,在第五方面的第八种可能的实现方式中,所述处理器,具体用于根据以下公式计算所述待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
结合第五方面、第五方面的第一种至第八种中任一种可能的实现方式,在第五方面的第九种可能的实现方式中,所述处理器,还用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
第六方面,本发明实施例提供一种视频服务器,包括:
处理器,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;
收发器,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。
第七方面,本发明实施例提供一种移动视频系统,包括:视频服务器和客户端设备,所述视频服务器采用第四方面所述的装置,所述客户端设备采用第三方面、第三方面的第一种至第九种中任一种可能的实现方式项所述的装置。
第八方面,本发明实施例提供一种移动视频系统,包括:采用第六方面所述的视频服务器和第五方面的第一种至第九种中任一种可能的实现方式项所述的客户端设备。
本发明实施例视频下载方法、装置及系统,通过根据下载上一个视频分段的平均下载速率、视频分段的时长、已缓存的视频时长以及上一个视频分段的码率,确定最符合网络状况的待下载的下一个视频分段的码率,提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明视频下载方法的一个实施例的流程图;
图2为本发明视频下载方法的另一个实施例的流程图;
图3为本发明视频下载装置的一个实施例的结构示意图;
图4为本发明视频下载装置的另一个实施例的结构示意图;
图5为本发明视频下载装置的又一个实施例的结构示意图;
图6为本发明客户端设备的一个实施例的结构示意图;
图7为本发明视频服务器的一个实施例的结构示意图;
图8为本发明移动视频系统的一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1为本发明视频下载方法的一个实施例的流程图,如图1所示,本实施例的方法可以包括:
步骤101、根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
当用户通过客户端观看移动视频时,客户端通常是一边从视频服务器下载视频,一边播放视频,为了不使用户观看过程中发生视频中断的情况,需要下载一部分视频缓存起来,然后在播放缓存的视频的过程中下载即将播放的视频。本实施例中,视频服务器已经预先按照M个码率对待播放视频进行编码,然后将每个码率对应的编码后的视频进行分段,生成时长相等的视频分段。表1为待播放视频的分段列表。
表1
如表1所示,视频服务器采用M个码率对待播放视频进行编码,然后将编码后的各个码率对应的视频分成L个视频分段,M个码率对应M个码率等级,所有视频分段的时长相同,根据码率的不同,每个码率对应视频分段承载的比特数不同。客户端在下载待播放视频时,是以视频分段为单位,从第一个视频分段逐个下载到第L个视频分段。客户端初始下载时对网络状况不清楚,可以选择一个较小码率的视频分段进行下载,为了给视频的播放留足缓存余地,可以先按照这个较小码率下载两个或更多个视频分段,因此客户端在向视频服务器请求下载待播放视频时,请求下载预设码率的N个视频分段,例如,预设码率可以是表1中的V2,N可以2。
步骤102、在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
视频服务器在接收到客户端的请求后,可以给客户端回复一个响应,并开始向客户端传输其请求的视频分段,这样客户端就可以开始对待播放视频的初始下载。
可选的,客户端可以和视频服务器预先约定一个时长,当客户端发出请求后,视频服务器不需要向客户端发送响应,而是共同等待该预先预定的时长后,同时开始传输和下载视频分段的操作。
重复执行步骤103-105,直到下载完所述待播放视频:
步骤103、根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
客户端在下载了预设码率的N个视频分段后,一方面可以积累一定的视频缓存时长,另一方面也可以根据先前下载的视频分段的平均下载速率获取到一些网络状况的信息,这样就可以基于这些信息结合视频分段的时长和上一个视频分段的码率确定待下载的下一个视频分段的对应码率。例如,客户端初始请求下载码率为V2的2个视频分段(即视频分段21和视频分段22),下载完视频分段22后,客户端要确定下载第三个视频分段的码率,此时就是根据视频分段的时长、已缓存的视频时长、下载视频分段22的平均下载速率以及视频分段22的码率V2来确定。本实施例除了考虑到下载上一个视频分段的平均下载速率,还结合视频分段的时长、已缓存的视频时长以及上一个视频分段的码率,可以选择最符合网络状况的视频分段的码率,提高移动视频播放的质量,还可以尽量减少视频下载过程中码率更换的频率。
步骤104、向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
客户端确定了下载下一个视频分段的对应码率后,即可向视频服务器请求下载该对应码率对应的下一个视频分段。例如,在下载完视频分段22后向视频服务器请求下载码率为V3的第三个视频分段33。
步骤105、在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
步骤105和步骤102类似,此处不再赘述。
步骤103-105的方法将上一个视频分段下载时的情况作参考,确定待下载的下一个视频分段的码率,例如,上述以表1为例,客户端根据视频分段22的下载状况确定第三个视频分段的码率为V3,下载的是视频分段33,再根据视频分段33的下载状况确定第四个视频分段的码率,以此类推,直到客户端下载完所有待播放视频的L个视频分段。
本实施例,通过根据下载上一个视频分段的平均下载速率、视频分段的时长、已缓存的视频时长以及上一个视频分段的码率,确定最符合网络状况的待下载的下一个视频分段的码率,提高移动视频播放的质量,同时尽量降低视频下载过程中码率更换的频率,提高用户的QoE。
进一步的,上述步骤103,具体的实现方法可以是:若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
客户端将上一个视频分段的平均下载速率Rd与上一个视频分段的码率Rc进行比较,当Rd>Rc时,表示网络状况良好,可以实现的实际下载速率大于上一个视频分段的码率,此时可以考虑将下一个视频分段的码率提高一个等级。具体地,根据已缓存的视频时长Tb和待下载时长Tm确定下一个视频分段的码率,待下载时长Tm表示在实际平均下载速率下降到次低码率V2的情况下,下载比上一个视频分段的码率Rc高一个等级的码率Rc+1的时长,Ts为一个视频分段的时长。可以根据以下公式计算待下载时长Tm:
仍然以上述表1为例,客户端下载视频分段22的平均下载速率为Td为视频分段22的实际下载时长。客户端下载完视频分段22后一共下载了时长为2Ts的视频分段,减去视频已经播放的时长就是此时已缓存的视频时长Tb,将已缓存的视频时长Tb与以次低码率下载高一个等级的码率Rc+1的视频分段的待下载时长Tm进行比较,确定待下载的第三个视频分段的对应码率。
(1)Tb>Tm
此时已缓存的时长足以支持以次低码率下载高一个等级的码率Rc+1的视频分段,不会造成视频播放的中断,因此可以将高一个等级的码率Rc+1(例如V3)确定为第三个视频分段的对应码率,即下载视频分段33。
(2)Tb≤Tm
此时已缓存的时长不足以支持以次低码率下载高一个等级的码率Rc+1的视频分段,可能会造成视频播放的中断,用以下载视频分段,因此仍将维持视频分段22的码率Rc(例如V2)为第三个视频分段的对应码率,即下载视频分段23。
进一步的,上述步骤103,具体的实现方法还可以是:若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
当Rd≤Rc时,表示网络状况变差了,实现的实际下载速率小于或等于上一个视频分段的码率,此时需要根据已缓存的视频时长Tb和视频分段的时长Ts来确定下一个视频分段的对应码率。
(1)Tb<2Ts
已缓存的视频时长Tb小于两倍视频分段的时长Ts时,为了确保视频播放不中断,已缓存的视频时长Tb必须大于或等于下一个视频分段的实际下载时长Td(Tb≥Td),假设实际下载时长Rn为所述待选码率的取值范围,则此时下一个视频分段的对应码率可以选取M个码率中与Rn的最大取值最接近且小于该Rn的最大取值的码率,例如,V4≤Rn,V5>Rn,则V4为下一个视频分段的对应码率。
(2)Tb≥2Ts
已缓存的视频时长Tb大于或等于了两倍视频分段的时长Ts,表示已经缓存的视频时长在当前状态下足够支持视频的播放,因此仍然维持上一个视频分段的码率Rc为下一个视频分段的对应码率。
进一步的,上述步骤101之前,还可以包括:获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
视频服务器对待播放视频进行分段,可以是按照预先设置的码率和时长进行编码和分段处理,这样在视频服务器和客户端可以预先将码率和时长存储下来。或者,客户端可以在下载待播放视频前向视频服务器请求获取码率和时长。
图2为本发明视频下载方法的另一个实施例的流程图,如图2所示,本实施例的方法可以包括:
步骤201、根据信道质量确定传输待播放视频的最高码率和最低码率;
视频服务器在视频源端对视频的输入条件进行分析,对应不同的视频分辨率、采样格式、帧速率、原始速率、压缩率,会有分别对应的信道速率,即视频源端的最高码率。表2为视频源端输入条件列表。在确定最高码率后,视频源端还需要确定最低可接受的码率、视频码率变动的等级,以及等级与码率的函数关系。由于用户观看移动视频给出的主管评价分数视频与视频的码率可以呈现出对数关系,即y=a×ln(Vn)+b,其中,Vn是视频源端的码率,y为码率等级,a和b为待确定的系数。码率可以反映出用户的主观体验,因此反过来,可以以用户主观评价的最低可接受分数作为对应于最低码率的分数值。
表2
分辨率 | 采样格式 | 帧速率 | 原始速率 | 压缩率 | 信道速率 |
988×420 | 4:2:0 | 30fps | 149Mbps | 110H.264 | 1.4Mbps |
1280×720 | 4:2:0 | 30fps | 332Mbps | 110H.264 | 3.0Mbps |
1920×1080 | 4:2:0 | 30fps | 747Mbps | 220H.264 | 3.4Mbps |
步骤202、根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;
一共确定码率等级有M个,这样最高码率VM对应的码率等级y为M,最低码率V1对应的码率等级y为1,将这两组数据带入码率等级y的计算公式中,即可计算出a和b的值。再根据y取值从2到M-1,分别计算出这M-2个码率等级分别对应的码率
步骤203、根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;
视频服务器在确定了M个码率后就可以根据每个码率对待播放视频进行编码,然后再把每个码率对应的编码后的待播放视频分段形成如表1所示的视频分段。
步骤204、接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。
本实施例,通过根据信道质量确定最高码率和最低码率,确定出M个码率等级,并分别对待播放视频进行编码和分段,确保分段后的视频分段都是可以被客户端下载并播放的,提高移动视频播放的质量,提高用户的QoE。
下面采用一个具体的实施例,对上述方法实施例的技术方案进行详细说明。
表3为现有技术和本发明视频下载码率变化对比表。
表3
表3中的负数表示视频已经缓存的时长为空,视频播放产生中止,客户端要完成播放需要对应负数绝对值时长的视频缓存。
本实施例中,视频服务器确定了6个码率等级,等级6对应最高码率为1410kbs,等级1对应最低码率为128kbs,这样得到码率等级y=2.079×ln(Vn)+9.1144,再计算其它4个码率等级对应的码率,如表4所示:
表4
码率等级 | 1 | 2 | 3 | 4 | 5 | 6 |
码率(单位:kbps) | 128 | 210 | 350 | 545 | 876 | 1410 |
视频服务器根据表4的6个码率对待播放视频编码后,再将总共50s的视频分成10个视频分段,每个视频分段的时长Ts为5s。
客户端初始时向视频服务器请求下载2个码率Rc为210kbps的视频分段1和2,下载完视频分段2后得到视频分段2的平均下载速率Rd为300kbps,已缓存的视频时长Tb为10s,根据这些信息确定待下载的视频分段3的对应码率。由于Rd>Rc,Tb>Tm,因此视频分段3的对应码率为高一个等级的码率Rc+1(350kbps)。
以此类推,通过上述方法实施例中描述的方法得到的客户端下载待播放视频的码率变化和播放效果就是如表3所示。
图3为本发明视频下载装置的一个实施例的结构示意图,如图3所示,本实施例的装置可以包括:请求模块11、下载模块12以及码率确定模块13,其中,请求模块11,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;下载模块12,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;在下载完所述待播放视频之前:码率确定模块13,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;所述请求模块11,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;所述下载模块12,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步的,所述码率确定模块13,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
进一步的,所述码率确定模块13,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
进一步的,所述码率确定模块13,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
进一步的,所述码率确定模块13,具体用于根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
进一步的,所述码率确定模块13,具体用于根据以下公式计算所述待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
图4为本发明视频下载装置的另一个实施例的结构示意图,如图4所示,本实施例的装置在图3所示装置结构的基础上,进一步地,还可以包括:获取模块14,该获取模块14用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明视频下载装置的又一个实施例的结构示意图,如图5所示,本实施例的装置可以包括:确定模块21、分段模块22以及收发模块23,其中,确定模块21,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;分段模块22,用于根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;收发模块23,用于接收客户端发送的视频下载请求,并向所述客户端传输与所述视频下载请求对应的视频分段。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明客户端设备的一个实施例的结构示意图,如图6所示,本实施例的设备可以包括:发送器31、接收器32以及处理器33,其中,发送器31,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;接收器32,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;在下载完所述待播放视频之前:处理器33,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;所述发送器31,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;所述接收器32,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
本实施例的设备,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步的,所述处理器33,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
进一步的,所述处理器33,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
进一步的,所述处理器33,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
进一步的,所述处理器33,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
进一步的,所述处理器33,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
进一步的,所述处理器33,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
进一步的,所述处理器33,具体用于根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
进一步的,所述处理器33,具体用于根据以下公式计算所述待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
进一步的,所述处理器33,还用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
图7为本发明视频服务器的一个实施例的结构示意图,如图7所示,本实施例的设备可以包括:处理器41和收发器42,其中,处理器41,用于根据信道质量确定传输待播放视频的最高码率和最低码率;根据所述最高码率和所述最低码率确定M个码率,M为大于1的自然数;根据所述M个码率分别对所述待播放视频进行编码,并对每个码率对应的所述待播放视频进行分段生成视频分段;收发器42,用于接收客户端设备发送的视频下载请求,并向所述客户端设备传输与所述视频下载请求对应的视频分段。
本实施例的设备,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明移动视频系统的一个实施例的结构示意图,如图8所示,本实施例的系统包括:视频服务器51和客户端设备52,其中,视频服务器51可以采用图5所示装置实施例的结构,其对应地,可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述;客户端设备52可以采用图3或图4所示装置实施例的结构,其对应地,可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步的,图8所示系统中,视频服务器51可以采用图7所示装置实施例的结构,其对应地,可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述;客户端设备52可以采用图6所示装置实施例的结构,其对应地,可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (32)
1.一种视频下载方法,其特征在于,包括:
根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
重复执行以下步骤,直到下载完所述待播放视频:
根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
2.根据权利要求1所述的方法,其特征在于,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:
若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
3.根据权利要求2所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:
若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述待下载时长确定所述对应码率,包括:
若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率,包括:
若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
6.根据权利要求5所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:
若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
7.根据权利要求5所述的方法,其特征在于,所述根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率,包括:
若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
8.根据权利要求2所述的方法,其特征在于,所述根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,包括:
根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
9.根据权利要求6所述的方法,其特征在于,所述根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率,包括:
根据以下公式计算待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;
确定所述待选码率的取值范围Rn的最大取值;
将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
10.根据权利要求1所述的方法,其特征在于,所述根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段之前,还包括:
获取预先设置的所述视频分段的时长和所述M个码率;或者,
通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
11.一种视频下载装置,其特征在于,包括:
请求模块,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
下载模块,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
在下载完所述待播放视频之前:
码率确定模块,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
所述请求模块,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
所述下载模块,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
12.根据权利要求11所述的装置,其特征在于,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
13.根据权利要求12所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
14.根据权利要求12或13所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
15.根据权利要求11或12所述的装置,其特征在于,所述码率确定模块,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
16.根据权利要求15所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
17.根据权利要求15所述的装置,其特征在于,所述码率确定模块,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
18.根据权利要求12所述的装置,其特征在于,所述码率确定模块,具体用于根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
19.根据权利要求16所述的装置,其特征在于,所述码率确定模块,具体用于根据以下公式计算待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
20.根据权利要求11所述的装置,其特征在于,还包括:
获取模块,用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
21.一种客户端设备,其特征在于,包括:
发送器,用于根据视频播放指令向视频服务器请求下载待播放视频的预设码率的N个视频分段,N为自然数,所述视频分段为所述视频服务器预先根据M个码率对所述待播放视频编码后再分别进行分段处理后生成的,所述M个码率分别对应M个码率等级,M为大于1的自然数,所述视频播放指令为用户点击播放所述待播放视频后产生的指令;
接收器,用于在获取所述视频服务器回复的视频下载响应后,下载所述N个视频分段;
在下载完所述待播放视频之前:
处理器,用于根据所述视频分段的时长、已缓存的视频时长、上一个视频分段的平均下载速率以及所述上一个视频分段的码率,确定待下载的下一个视频分段的对应码率;
所述发送器,还用于向所述视频服务器请求下载所述对应码率的所述下一个视频分段;
所述接收器,还用于在获取所述视频服务器回复的视频下载响应后,下载所述对应码率的所述下一个视频分段。
22.根据权利要求21所述的设备,其特征在于,所述处理器,具体用于若所述上一个视频分段的平均下载速率大于所述上一个视频分段的码率,则从所述M个码率中确定比最低码率高一个等级的次低码率和比所述上一个视频分段的码率高一个等级的码率,根据所述视频分段的时长、所述高一个等级的码率以及所述次低码率计算待下载时长,根据所述已缓存的视频时长和所述待下载时长确定所述对应码率。
23.根据权利要求22所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长大于所述待下载时长,则将所述高一个等级的码率确定为所述对应码率。
24.根据权利要求22或23所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长小于或等于所述待下载时长,则将所述上一个视频分段的码率确定为所述对应码率。
25.根据权利要求21或22所述的设备,其特征在于,所述处理器,具体用于若所述上一个视频分段的平均下载速率小于或等于所述上一个视频分段的码率,则根据所述已缓存的视频时长和所述视频分段的时长确定所述对应码率。
26.根据权利要求25所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长小于二倍的所述视频分段的时长,则根据所述已缓存的视频时长、所述上一个视频分段的平均下载速率以及所述视频分段的时长确定所述对应码率。
27.根据权利要求25所述的设备,其特征在于,所述处理器,具体用于若所述已缓存的视频时长大于或等于二倍的所述视频分段的时长,则将所述上一个视频分段的码率确定为所述对应码率。
28.根据权利要求22所述的设备,其特征在于,所述处理器,具体用于根据以下公式计算所述待下载时长:
其中,Tm为所述待下载时长,Ts为所述视频分段的时长,Rc+1为所述高一个等级的码率,V2为所述次低码率。
29.根据权利要求26所述的设备,其特征在于,所述处理器,具体用于根据以下公式计算待选码率的取值范围:
其中,Rn为所述待选码率的取值范围,Tb为所述已缓存的视频时长,Rd为所述上一个视频分段的平均下载速率,Ts为所述视频分段的时长;确定所述待选码率的取值范围Rn的最大取值;将所述M个码率中与所述最大取值最接近且小于所述最大取值的码率确定为所述对应码率。
30.根据权利要求21所述的设备,其特征在于,所述处理器,还用于获取预先设置的所述视频分段的时长和所述M个码率;或者,通过向所述视频服务器发送参数获取请求,获取所述视频分段的时长和所述M个码率。
31.一种移动视频系统,其特征在于,包括:视频服务器和客户端设备,所述客户端设备采用权利要求11~20中任一项所述的装置。
32.一种移动视频系统,其特征在于,包括:视频服务器和如权利要求21~30中任一所述的客户端设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/088033 WO2017031692A1 (zh) | 2015-08-25 | 2015-08-25 | 视频下载方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106688239A CN106688239A (zh) | 2017-05-17 |
CN106688239B true CN106688239B (zh) | 2019-08-27 |
Family
ID=58099465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580043062.3A Active CN106688239B (zh) | 2015-08-25 | 2015-08-25 | 视频下载方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106688239B (zh) |
WO (1) | WO2017031692A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769826A (zh) * | 2018-06-22 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 直播媒体流获取方法、装置、终端及存储介质 |
CN109040855B (zh) * | 2018-09-03 | 2021-01-29 | 重庆邮电大学 | 一种无线dash流媒体码率平滑自适应传输方法 |
CN109348265A (zh) * | 2018-11-27 | 2019-02-15 | 湖南国科微电子股份有限公司 | 基于hls多码流模式下的直播方法及系统 |
CN110198494B (zh) * | 2019-06-28 | 2021-07-20 | 广州市百果园信息技术有限公司 | 一种视频播放方法、装置、设备和存储介质 |
CN110460875A (zh) * | 2019-08-05 | 2019-11-15 | 北京达佳互联信息技术有限公司 | 一种视频码率的切换方法、装置、电子设备及存储介质 |
CN111314772B (zh) * | 2019-11-29 | 2022-07-08 | 广州市百果园信息技术有限公司 | 一种视频下载码率的确定方法、装置、终端和存储介质 |
CN111182354B (zh) * | 2019-12-24 | 2022-05-10 | 中移(杭州)信息技术有限公司 | 视频评分推荐方法、装置、设备及计算机可读存储介质 |
CN111212301B (zh) * | 2020-01-09 | 2021-10-08 | 鹏城实验室 | 一种视频码率的匹配方法、存储介质及终端设备 |
CN112637631B (zh) * | 2020-12-17 | 2022-04-26 | 清华大学 | 码率确定方法、装置、电子设备和存储介质 |
CN112822521B (zh) * | 2020-12-30 | 2023-04-25 | 百果园技术(新加坡)有限公司 | 音视频传输的码率控制方法、装置、设备及存储介质 |
CN115134639B (zh) * | 2021-03-24 | 2023-12-19 | 北京字跳网络技术有限公司 | 视频档位确定方法、装置、服务器、存储介质和系统 |
CN114040257B (zh) * | 2021-11-26 | 2023-06-13 | 深圳大学 | 一种自适应视频流传输播放方法、装置、设备及存储介质 |
CN114979762B (zh) * | 2022-04-12 | 2024-06-07 | 北京字节跳动网络技术有限公司 | 视频下载、传输方法、装置、终端设备、服务器及介质 |
CN115002557B (zh) * | 2022-05-23 | 2024-01-30 | 北京字跳网络技术有限公司 | 一种网速预测方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010042041A1 (en) * | 2008-10-09 | 2010-04-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Supporting functions for quality-assured p2p vod services |
CN102204272A (zh) * | 2010-12-31 | 2011-09-28 | 华为技术有限公司 | 流媒体中播放时间点跳转后的处理方法及装置 |
CN102301710A (zh) * | 2009-01-29 | 2011-12-28 | 微软公司 | 使用用于自适应视频流传输的可变比特率和动态分辨率的多比特率视频编码 |
CN103702237A (zh) * | 2012-09-28 | 2014-04-02 | 北京大学 | Http流媒体的速率自适方法及装置 |
-
2015
- 2015-08-25 CN CN201580043062.3A patent/CN106688239B/zh active Active
- 2015-08-25 WO PCT/CN2015/088033 patent/WO2017031692A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010042041A1 (en) * | 2008-10-09 | 2010-04-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Supporting functions for quality-assured p2p vod services |
CN102301710A (zh) * | 2009-01-29 | 2011-12-28 | 微软公司 | 使用用于自适应视频流传输的可变比特率和动态分辨率的多比特率视频编码 |
CN102204272A (zh) * | 2010-12-31 | 2011-09-28 | 华为技术有限公司 | 流媒体中播放时间点跳转后的处理方法及装置 |
CN103702237A (zh) * | 2012-09-28 | 2014-04-02 | 北京大学 | Http流媒体的速率自适方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017031692A1 (zh) | 2017-03-02 |
CN106688239A (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106688239B (zh) | 视频下载方法、装置及系统 | |
CN107683600B (zh) | 用于响应于客户端的视频缓冲器特性来管理abr比特率递送的系统和方法 | |
Wang et al. | Adaptive mobile cloud computing to enable rich mobile multimedia applications | |
Han et al. | AMVS-NDN: Adaptive mobile video streaming and sharing in wireless named data networking | |
CN104956631B (zh) | 用于执行链路感知自适应流传输的设备和方法 | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
CN106416269A (zh) | 单播自适应比特率流播 | |
CN102802054B (zh) | 一种多流视频直播中的控制方法及装置 | |
WO2020220902A1 (zh) | 视频资源的传输参数分发方法及装置 | |
CN105376176B (zh) | 保障移动互联网视频业务服务质量的方法、装置和系统 | |
CN108833996A (zh) | 分布式dash系统中服务节点选择、更新和码率自适应方法 | |
CN107135411B (zh) | 一种调整视频码率的方法及电子设备 | |
KR102020363B1 (ko) | 적응형 스트리밍을 이용한 미디어 세그먼트 송수신 방법 및 장치 | |
CN105451099B (zh) | 视频码率调整方法和装置 | |
CN110087109A (zh) | 视频码率自适应方法及装置 | |
CN101848205A (zh) | 一种基于rtsp的移动终端播放流媒体的方法及系统 | |
KR20150070568A (ko) | Http 기반의 멀티미디어 스트리밍 서비스를 위한 네트워크 대역폭 적응적 콘텐츠 생성 방법 및 시스템 | |
CN102724557A (zh) | 一种多流视频直播中的编码控制方法及装置 | |
CN109996094A (zh) | 视频播放方法、装置及系统 | |
CN108833995B (zh) | 一种无线网络环境中自适应流媒体的传输方法 | |
Nguyen et al. | A client-based adaptation framework for 360-degree video streaming | |
JP2023175841A (ja) | ビデオストリーミングのためのセッションベースの適応再生プロファイルの決定 | |
CN111617466A (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
Rahman et al. | SABA: Segment and buffer aware rate adaptation algorithm for streaming over HTTP | |
Nguyen et al. | An adaptive streaming method of 360 videos over HTTP/2 protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |