CN108271043B - 一种直播码率选择方法及装置 - Google Patents

一种直播码率选择方法及装置 Download PDF

Info

Publication number
CN108271043B
CN108271043B CN201710007153.2A CN201710007153A CN108271043B CN 108271043 B CN108271043 B CN 108271043B CN 201710007153 A CN201710007153 A CN 201710007153A CN 108271043 B CN108271043 B CN 108271043B
Authority
CN
China
Prior art keywords
live broadcast
rate
preset
bandwidth
effective
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
Application number
CN201710007153.2A
Other languages
English (en)
Other versions
CN108271043A (zh
Inventor
潘龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710007153.2A priority Critical patent/CN108271043B/zh
Publication of CN108271043A publication Critical patent/CN108271043A/zh
Application granted granted Critical
Publication of CN108271043B publication Critical patent/CN108271043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate

Abstract

本发明公开了一种直播码率选择方法,应用于网络直播领域。该方法包括:在所述直播客户端进入直播间时,向直播视频流服务器发送用于从直播视频流服务器请求测速资源文件的网络请求;确定从直播视频流服务器加载所述测速资源文件时的有效空闲带宽;选择与有效空闲带宽匹配的直播码率播放直播间的直播视频。通过本发明避免了空闲带宽资源较少的直播客户端播放直播视频时出现卡顿,同时使带宽资源充足的直播客户端获得更高直播码率,实现了平衡带宽资源与直播码率,满足不同直播客户端的需求。

Description

一种直播码率选择方法及装置
技术领域
本发明涉及网络直播领域,尤其涉及一种直播码率选择方法及装置。
背景技术
网络直播是一个新兴而快速成长的行业,越来越多选择用户观看网络直播。越来越多的用户选择通过网络平台来交友和娱乐,这些网络平台包括一对一聊天交友平台、主播聊天室平台、论坛交友平台等,其中,一对一聊天交友平台和主播聊天室平台由于可实时视频交流,更受用户青睐。
但是,由于一对一聊天交友平台和主播聊天室平台需要实时视频,适应对带宽要求较高,在视频客户端所在的带宽有限的情况下,会导致直播客户端播放网络直播的过程中会出现卡顿。
发明内容
鉴于上述问题,本发明实施例提供了一种直播码率选择方法及装置,以根据观看用户所对应的直播客户端的带宽,适配观看用户所对应的直播客户端的带宽选择直播码率播放直播视频,避免直播客户端所在的带宽有效而在播放网络直播的过程中出现卡顿。
第一方面,本发明实施例提供了一种直播码率选择方法,应用于直播客户端,所述方法包括:
在所述直播客户端进入直播间时,向直播视频流服务器发送用于从所述直播视频流服务器请求测速资源文件的网络请求;
确定从所述直播视频流服务器加载所述测速资源文件时的有效空闲带宽;
选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频。
优选的,所述确定从所述直播视频流服务器加载所述测速资源文件时的有效空闲带宽,包括:
S1:在加载所述测速资源文件的开始时刻启动计时器;
S2:在当前次响应所述计时器时,将当前次的预设时间间隔内对所述测速资源文件的加载量除以所述预设时间间隔,以得到下载速率值存入速率数组;
S3:判断当前次响应所述计时器是否为预设次响应所述计时器,如果是,终止加载所述测速资源文件,并基于所述速率数组中的各个下载速率值确定出有效下载速率后执行S4,否则等待下一次响应所述计时器,在下一次响应所述计时器时返回S2;
S4:将所述有效下载速率转换为与所述有效下载速率对应的有效空闲带宽。
优选的,在所述在加载所述测速资源文件的开始时刻启动计时器之后,所述方法还包括:
在加载所述测速资源文件的过程中,监听所述测速资源文件是否加载完成,如果是,终止所述计时器,并将预设下载速率值设置为有效下载速率;
将所述有效下载速率转换为与所述有效下载速率对应的有效空闲带宽。
优选的,所述基于所述速率数组中的各个下载速率值确定出所述有效下载速率包括:
从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,N为正整数;
将所述N个下载速率值进行平均计算的均值结果确定为所述有效下载速率。
优选的,所述从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,包括:
对所述速率数组中的各个下载速率值进行下载速率排序;
从排序后的速率数组中删除排列在前的第一预设比例的下载速率值,以及删除排列在后的第二预设比例的下载速率值;
删除后所述速率数组中剩余所述N个下载速率值。
优选的,所述从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,包括:
从所述速率数组中删除大于预设速率上限值的下载速率值,以及删除小于预设速率下限值的下载速率值;
删除后所述速率数组中剩余所述N个下载速率值。
优选的,所述选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频,包括:
判断所述有效空闲带宽是否小于或等于预设带宽下限,并判断所述有效空闲带宽是否大于或等于预设带宽上限;
如果判断出所述有效空闲带宽小于或等于所述预设带宽下限,选择第一级直播码率值播放所述直播间的直播视频;
如果判断出所述有效空闲带宽大于所述预设带宽下限,且小于预设带宽上限,选择第二级直播码率值播放所述直播间的直播视频,所述第二级直播码率值大于所述第一级直播码率值;
如果判断出所述有效空闲带宽大于或等于所述预设带宽上限,选择第三级直播码率值播放所述直播间的直播视频,所述第三级直播码率值大于所述第二级直播码率值。
第二方面,本发明实施例提供了一种直播码率选择装置,应用于直播客户端,所述装置包括:
发送单元,用于在所述直播客户端进入直播间时,向直播视频流服务器发送用于从所述直播视频流服务器请求测速资源文件的网络请求;
空闲带宽确定单元,用于确定从所述直播视频流服务器加载所述测速资源文件时的有效空闲带宽;
码率选择单元,用于选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频。
优选的,所述空闲带宽确定单元,包括:
启动子单元,用于执行S1:在加载所述测速资源文件的开始时刻启动所述计时器;
计算子单元,用于执行S2:在当前次响应所述计时器时,将当前次的预设时间间隔内对所述测速资源文件的加载量除以所述预设时间间隔,以得到下载速率值存入速率数组;
响应子单元,用于执行S3:判断当前次响应所述计时器是否为预设次响应所述计时器,如果是,终止加载所述测速资源文件,并基于所述速率数组中的各个下载速率值确定出有效下载速率后执行S4,否则等待下一次响应所述计时器,在下一次响应所述计时器时返回S2;
第一转换子单元,用于执行S4:将所述有效下载速率转换为与所述有效下载速率对应的有效空闲带宽。
优选的,所述空闲带宽确定单元还包括:
加载监听子单元,用于在加载所述测速资源文件的过程中,监听所述测速资源文件是否加载完成,如果是,终止所述计时器,并将预设下载速率值设置为有效下载速率;
第二转换子单元,用于将所述预设下载速率值转换为与所述预设下载速率值对应的有效空闲带宽。
优选的,所述响应子单元,具体用于:
从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,N为正整数;
将所述N个下载速率值进行平均计算的均值结果确定为所述有效下载速率。
优选的,所述响应子单元,具体用于:
对所述速率数组中的各个下载速率值进行下载速率排序;
从排序后的速率数组中删除排列在前的第一预设比例的下载速率值,以及删除排列在后的第二预设比例的下载速率值;
删除后所述速率数组中剩余所述N个下载速率值。
优选的,所述响应子单元,具体用于:
从所述速率数组中删除大于预设速率上限值的下载速率值,以及删除小于预设速率下限值的下载速率值;
删除后所述速率数组中剩余所述N个下载速率值。
优选的,所述码率选择单元,包括:
带宽判断子单元,用于判断所述有效空闲带宽是否小于或等于预设带宽下限,并判断所述有效空闲带宽是否大于或等于预设带宽上限;
码率选择子单元,用于如果判断出所述有效空闲带宽小于或等于所述预设带宽下限,选择第一级直播码率值播放所述直播间的直播视频;如果判断出所述有效空闲带宽大于所述预设带宽下限,且小于预设带宽上限,选择第二级直播码率值播放所述直播间的直播视频,所述第二级直播码率值大于所述第一级直播码率值;如果判断出所述有效空闲带宽大于或等于所述预设带宽上限,选择第三级直播码率值播放所述直播间的直播视频,所述第三级直播码率值大于所述第二级直播码率值。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于在直播客户端进入直播间时,向直播视频流服务器发送用于从直播视频流服务器请求测速资源文件的网络请求;从而能够从直播视频流服务器加载测速文件,接着确定从直播视频流服务器加载测速资源文件时的有效空闲带宽;选择与有效空闲带宽匹配的直播码率播放直播间的直播视频。从而能够根据直播客户端所在的带宽自动选择直播码率对播放直播间的直播视频,避免了空闲带宽资源较少的直播客户端播放直播视频时出现卡顿,同时使直播客户端在带宽资源充足时能获得更高直播码率,实现了平衡带宽资源与直播码率,满足不同直播客户端的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的直播码率选择方法的流程图;
图2为本发明实施例提供的直播码率选择装置的功能单元图。
具体实施方式
为了解决直播客户端播放网络直播的过程中会出现卡顿的技术问题,本发明实施例提供了一种直播码率选择方法及装置,总体思路如下:
通过从直播视频流服务器加载测试资源文件测试直播客户端的有效空闲带宽,进而选择与有效空闲带宽匹配的直播码率播放所述直播间的直播视频。
能够根据直播客户端所在的带宽自动选择直播码率对播放直播间的直播视频,避免了空闲带宽资源较少的直播客户端播放直播视频时出现卡顿,同时使带宽资源充足的直播客户端获得更高直播码率,实现了平衡带宽资源与直播码率,满足不同直播客户端的需求。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种直播码率选择方法,应用于直播客户端,具体的,直播客户端可以是智能手机、台式电脑、一体机或笔记本等电子设备,在此不作限制。
参考图1所示,本发明实施例提供的直播码率选择方法包括:
S101、在直播客户端进入直播间时,向直播视频流服务器发送用于从所述直播视频流服务器请求测速资源文件的网络请求;
S102、确定从直播视频流服务器加载测速资源文件时的有效空闲带宽;
S103、选择与有效空闲带宽匹配的直播码率播放直播间的直播视频。
需要说明的是,具体在直播客户端上的Flash播放器进入直播间时,选择与有效空闲带宽匹配的直播码率,由Flash播放器播放直播间的直播视频。
下面结合图1,详细介绍本发明直播码率选择方法的具体实现步骤:
首先,执行步骤S101:在直播客户端进入直播间时,向直播视频流服务器发送用于从直播视频流服务器请求测速资源文件的网络请求。
在本发明实施例中,测速资源文件在设置在直播视频流服务器的根目录下。
具体的,设置在直播视频流服务器上的测速资源文件的大小至少1G。设置测速资源文件在直播视频流服务器上的访问地址,具体的,设置测速资源文件在直播视频流服务器上的访问地址为URL1。需在视频流服务器上配置好策略文件,在一实施例中,策略文件配置为如下:
<cross-domain-policy>
<allow-access-from domain=”*.douyu.com”/>
</cross-domain-policy>
在具体实施过程,策略文件也可以配置为如下:
<allow-access-from domain=”http://www.douyu.com”/>
<allow-access-from domain=”https://www.douyu.com”/>
其中,allow-access-from表示:通过检查该节点的属性值,确认能够读取本域内容的来源域。domain表示:指定一个确切的IP地址、一个确切的域或一个通配符域。domain中指定的域才有权限通过flash读取本域内容,这里设置domian为目标主站地址,比如domian设置为:*.douyu.com,其中的*号表示所有字符作为域名头都可以,从而兼容了https与http两种域名。指定的域:http://www.douyu.com和https://www.douyu.com有权限通过flash读取本域内容。在本发明实施例中,需要读取的本域内容为测速资源文件。
在执行S101之前,本发明实施例提供的技术方案还包括:初始化直播播放器并从直播视频流服务器加载策略文件、初始化以预设时间间隔响应计时器,一共响应计时器预设次,初始化加载对象(loader)以及初始化网络请求。
具体的,可以初始化为以20~40毫秒为时间间隔响应计时器,响应计时器的总次数为100~1000次。
举例来讲,默认可以初始化以30毫秒响应一次计时器,响应计时器的总次数为300次。还可以调整响应计时器的时间间隔,比如调整为:初始化以20毫秒响应一次计时器,响应计时器的总次数为450次。又比如:初始化以40毫秒响应一次计时器,响应计时器的总次数为270次。
具体的,网络请求中包括测速资源文件在直播视频流服务器上的访问地址。在具体实施过程中,把访问地址赋值给网络请求,作为网络请求的请求地址,使得直播视频流服务器接收到网络请求后,响应网络请求,以根据访问地址获取测速资源文件,并将获取的测速资源文件向直播客户端下发测速资源文件。
需要说明的是,加载对象用于监听直播客户端是否加载完测速资源文件,并设置触发测速资源文件加载完成时方法:LoadingComplete。
具体的,从直播视频流服务器加载策略文件可以通过如下代码实现:
Security.loadPolicyFile(xxx/crossdomain.xml);
其中,“xxx”为直播视频流服务器的地址,crossdomain.xml用于指示在直播视频流服务器上配置的策略文件。
在S101之后,接着执行S102:确定从直播视频流服务器加载测速资源文件时的有效空闲带宽。
具体的,在从直播视频流服务器加载测速资源文件后,确定从直播视频流服务器加载测速资源文件时的有效空闲带宽。下面给出加载测速资源文件时的有效空闲带宽的一具体实施例的实施过程:
S1:在加载测速资源文件的开始时刻启动计时器。
具体的,通过loader.load(URLRequest)开始加载测速资源文件。在开始加载测速资源文件的同时启动计时器以开始计时。
在S1之后,接着执行S2:在当前次响应计时器时,将当前次的预设时间间隔内对测速资源文件的加载量除以预设时间间隔,以得到下载速率值存入速率数组(vslist)。
具体的,当前次的预设时间间隔内对测速资源文件的加载量通过如下方式获得:步骤1、获取测速资源文件中当前已加载至视频客户端的量;步骤2、获取在上一次响应计时器时,测速资源文件中已加载至视频客户端的量;步骤3、测速资源文件中当前已加载至视频客户端的量减去在上一次响应计时器时测速资源文件中已加载至视频客户端的量,减的结果为当前次的预设时间间隔内对测速资源文件的加载量。
计时器在响应时间内计算出当前次的下载速率值存入速率数组。以预设时间间隔为30毫秒为例的实现代码如下,从而本领域技术人员可知晓预设时间间隔设置为其他数值时的实现方式:
Loadsize=currentLoad-haveLoad;
Vs=(Loadsize/30)*1000;
haveLoad=currentLoad
其中,currentLoad为测速资源文件中当前已加载至视频客户端的量,可以通过loader.loaderInfo.byterLoader方法获取。haveLoad为上一次响应计时器时测速资源文件中已加载至视频客户端的量,第一次响应计时器时,haveLoad为0,Vs为下载速率值,每次计算完Vs后,把currentLoad赋值给haveLoad。Loadsize为当前次的预设时间间隔内对测速资源文件的加载量,将当前次计算的下载速率值存入速率数组。
在S2之后,接着执行S3:判断当前次响应计时器是否为预设次响应计时器,如果是,终止加载测速资源文件,并基于速率数组中的各个下载速率值确定出有效下载速率后执行S4,否则等待下一次响应计时器,在下一次响应计时器时返回S2。
S4:将有效下载速率转换为与有效下载速率对应的有效空闲带宽。
在预设次响应计时器时终止加载测速资源文件,避免了测速已经结束后再加载测速资源文件,进而避免了测试结束后再占用直播客户端的带宽。
具体,预设次根据初始化时的响应计时器的总次数设置,比如,响应计时器的总次数为300次,则预设次为第300次。响应计时器的总次数为450次。则预设次为第450次。响应计时器的总次数为270次,则预设次为第270次。
具体的,为提高对有效下载速率的计算准确度,从速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,N为正整数;将N个下载速率值进行平均计算的均值结果确定为有效下载速率。
在一具体实施例中,对速率数组中的各个下载速率值进行下载速率排序;从排序后的速率数组中删除排列在前的第一预设比例的下载速率值,以及删除排列在后的第二预设比例的下载速率值;删除后的速率数组中剩余N个下载速率值。
需要说明的是,下载速率排序可以为:以下载速率值的从大至小进行排序,也可以为:以下载速率值的从小至大进行排序。第一预设比例和第二预设比例可以为相同比例值。比如,第一预设比例、第二预设比例为均为1/3;又比如,第一预设比例、第二预设比例均为1/4。第一预设比例与第二预设比例也可以为不同的比例值。比如,第一预设比例为1/4,第二预设比例为1/3。
在另一具体实施例中,从速率数组中删除大于预设速率上限值的下载速率值,以及删除小于预设速率下限值的下载速率值;删除后的速率数组中剩余N个下载速率值。
具体的,预设速率上限值、预设速率下限值根据直播客户端的最大带宽设置,比如,直播客户端的最大带宽为20兆,实际最大下载速度为2560k/s,则可以设置为如下:预设速率上限值为1920k/s,预设速率上限值为640k/s。还可以设置为如下:预设速率上限值为552k/s,预设速率上限值为2202k/s。
N个下载速率值进行平均计算,具体可以为:将N个下载速率值相加后除以N,以得到有效下载速率。比如,N=100,N个下载速率值依次为Vs1、Vs2、…、Vs99、Vs100,则有效下载速率Vs Average=(Vs1+Vs2+…+Vs99+Vs100)/100。
具体的,通过bandwidth=Vs Average/128,将有效下载速率值转换为对应的有效空闲带宽,bandwidth为有效空闲带宽。
通过本实施例,删除了速率数组中的大值下载速率、小值下载速率,从而避免了瞬间值对计算有效下载速率的影响,使得计算的有效下载速率更准确。
进一步的技术方案中,在在加载测速资源文件的开始时刻启动计时器之后,还包括:在加载测速资源文件的过程中,监听测速资源文件是否加载完成,如果是,终止计时器,并将预设下载速率值设置为有效下载速率;将预设下载速率值转换为述预设下载速率值对应的有效空闲带宽。
在测速资源文件加载完成后终止计时器,避免了测速已经结束后,计时器占用带宽。加载测速资源文件的耗时小于计时器跑完的耗时,从而下载速度跑赢计时器的总计时,表明有效空闲带宽足够多,预设下载速率值为能够使用最高直播码率的下载速率值,则将预设下载速率值确定为有效下载速率。预设下载速率值大于或等于N个下载速率值进行平均计算的均值结果,小于或等于直播客户端的最大下载速率。比如,预设下载速率值可以设置为10*1024/s。
具体的,通过将预设下载速率值除以128,以将预设下载速率值转换为对应的有效空闲带宽。
需要说明的是,在本发明实施例中,有效空闲带宽为直播客户端当前所在网络中没有被所占用的带宽。有效下载速率为直播客户端所在网络中当前能达到的下载速率。
在S102之后,接着执行S103、选择与有效空闲带宽匹配的直播码率播放直播间的直播视频。
具体的,判断有效空闲带宽是否小于或等于预设带宽下限,并判断有效空闲带宽是否大于或等于预设带宽上限;如果判断出有效空闲带宽小于或等于预设带宽下限,选择第一级直播码率值播放直播间的直播视频;如果判断出有效空闲带宽大于预设带宽下限,且小于预设带宽上限,选择第二级直播码率值播放直播间的直播视频,第二级直播码率值大于第一级直播码率值;如果判断出有效空闲带宽大于或等于预设带宽上限,选择第三级直播码率值播放直播间的直播视频,第三级直播码率值大于第二级直播码率值。
举例来讲,预设带宽上限设置为4兆,预设宽带下限设置为2兆。当然,在具体实施过程中,根据实际需求调整预设带宽上限、预设带宽下限。因此本文不限制为预设带宽上限为4兆、预设宽带下限为2兆。
在一实施例中,针对H.264视频编码,第一级直播码率值可以设置为分辨率720X480对应的码率1800Kbps,第二级直播码率值可以设置为分辨率1280X720对应的码率3500Kbps,第三级直播码率可以设置为分辨率1920X1080对应的码率8500Kbps。
在另一实施例中,针对XviD/DivX视频编码,判断有效空闲带宽是否大于预设带宽阈值,如果有效空闲带宽大于预设带宽阈值,选择分辨率1280X720对应的码率3000Kbps播放直播间的直播视频,否则选择分辨率720X480对应的码率1600Kbps播放直播间的直播视频。
基于同一发明构思,本发明实施例提供了一种直播码率选择装置,应用于直播客户端,参考图2所示,所述装置包括:
发送单元201,用于在所述直播客户端进入直播间时,向直播视频流服务器发送用于从所述直播视频流服务器请求测速资源文件的网络请求;
空闲带宽确定单元202,用于确定从所述直播视频流服务器加载所述测速资源文件时的有效空闲带宽;
码率选择单元203,用于选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频。
优选的,所述空闲带宽确定单元202,包括:
启动子单元,用于执行S1:在加载所述测速资源文件的开始时刻启动所述计时器;
计算子单元,用于执行S2:在当前次响应所述计时器时,将当前次的预设时间间隔内对所述测速资源文件的加载量除以所述预设时间间隔,以得到下载速率值存入速率数组;
响应子单元,用于执行S3:判断当前次响应所述计时器是否为预设次响应所述计时器,如果是,终止加载所述测速资源文件,并基于所述速率数组中的各个下载速率值确定出有效下载速率后执行S4,否则等待下一次响应所述计时器,在下一次响应所述计时器时返回S2;
第一转换子单元,用于执行S4:将所述有效下载速率转换为与所述有效下载速率对应的有效空闲带宽。
优选的,所述空闲带宽确定单元202还包括:
加载监听子单元,用于在加载所述测速资源文件的过程中,监听所述测速资源文件是否加载完成,如果是,终止所述计时器,并将预设下载速率值设置为有效下载速率;
第二转换子单元,用于将所述预设下载速率值转换为与所述预设下载速率值对应的有效空闲带宽。
优选的,所述响应子单元,具体用于:
从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,N为正整数;
将所述N个下载速率值进行平均计算的均值结果确定为所述有效下载速率。
优选的,所述响应子单元,具体用于:
对所述速率数组中的各个下载速率值进行下载速率排序;
从排序后的速率数组中删除排列在前的第一预设比例的下载速率值,以及删除排列在后的第二预设比例的下载速率值;
删除后所述速率数组中剩余所述N个下载速率值。
优选的,所述响应子单元,具体用于:
从所述速率数组中删除大于预设速率上限值的下载速率值,以及删除小于预设速率下限值的下载速率值;
删除后所述速率数组中剩余所述N个下载速率值。
优选的,所述码率选择单元203,包括:
带宽判断子单元,用于判断所述有效空闲带宽是否小于或等于预设带宽下限,并判断所述有效空闲带宽是否大于或等于预设带宽上限;
码率选择子单元,用于如果判断出所述有效空闲带宽小于或等于所述预设带宽下限,选择第一级直播码率值播放所述直播间的直播视频;如果判断出所述有效空闲带宽大于所述预设带宽下限,且小于预设带宽上限,选择第二级直播码率值播放所述直播间的直播视频,所述第二级直播码率值大于所述第一级直播码率值;如果判断出所述有效空闲带宽大于或等于所述预设带宽上限,选择第三级直播码率值播放所述直播间的直播视频,所述第三级直播码率值大于所述第二级直播码率值。
通过上述本发明提供的一个或多个实施例,至少具有如下技术效果或优点:
由于在直播客户端进入直播间时,向直播视频流服务器发送用于从直播视频流服务器请求测速资源文件的网络请求;从而能够从直播视频流服务器加载测速文件,接着确定从直播视频流服务器加载测速资源文件时的有效空闲带宽;选择与有效空闲带宽匹配的直播码率播放直播间的直播视频。从而能够根据直播客户端所在的带宽自动选择直播码率对播放直播间的直播视频,避免了空闲带宽资源较少的直播客户端播放直播视频时出现卡顿,同时使直播客户端在带宽资源充足时能获得更高直播码率,实现了平衡带宽资源与直播码率,满足不同直播客户端的需求。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的各描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的智能摄像系统以及网络摄像头中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(如计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是,上述各实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应该将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或者步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (8)

1.一种直播码率选择方法,应用于直播客户端,其特征在于,所述方法包括:
在所述直播客户端进入直播间时,向直播视频流服务器发送用于从所述直播视频流服务器请求测速资源文件的网络请求;
确定从所述直播视频流服务器加载所述测速资源文件时的有效空闲带宽,具体包括:S1:在加载所述测速资源文件的开始时刻启动计时器;S2:在当前次响应所述计时器时,将当前次的预设时间间隔内对所述测速资源文件的加载量除以所述预设时间间隔,以得到下载速率值存入速率数组;S3:判断当前次响应所述计时器是否为预设次响应所述计时器,如果是,终止加载所述测速资源文件,并基于所述速率数组中的各个下载速率值确定出有效下载速率后执行S4,否则等待下一次响应所述计时器,在下一次响应所述计时器时返回S2;S4:将所述有效下载速率转换为与所述有效下载速率对应的有效空闲带宽;
选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频。
2.如权利要求1所述的直播码率选择方法,其特征在于,在所述在加载所述测速资源文件的开始时刻启动计时器之后,所述方法还包括:
在加载所述测速资源文件的过程中,监听所述测速资源文件是否加载完成,如果是,终止所述计时器,并将预设下载速率值设置为有效下载速率;
将所述预设下载速率值转换为与所述预设下载速率值对应的有效空闲带宽。
3.如权利要求1或2所述的直播码率选择方法,其特征在于,所述基于所述速率数组中的各个下载速率值确定出所述有效下载速率,包括:
从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,N为正整数;
将所述N个下载速率值进行平均计算的均值结果确定为所述有效下载速率。
4.如权利要求3所述的直播码率选择方法,其特征在于,所述从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,包括:
对所述速率数组中的各个下载速率值进行下载速率排序;
从排序后的速率数组中删除排列在前的第一预设比例的下载速率值,以及删除排列在后的第二预设比例的下载速率值;
删除后的速率数组中剩余所述N个下载速率值。
5.如权利要求3所述的直播码率选择方法,其特征在于,所述从所述速率数组中的各个下载速率值中确定出满足预设筛选条件的N个下载速率值,包括:
从所述速率数组中删除大于预设速率上限值的下载速率值,以及删除小于预设速率下限值的下载速率值;
删除后速率数组中剩余所述N个下载速率值。
6.如权利要求1所述的直播码率选择方法,其特征在于,所述选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频,包括:
判断所述有效空闲带宽是否小于或等于预设带宽下限,并判断所述有效空闲带宽是否大于或等于预设带宽上限;
如果判断出所述有效空闲带宽小于或等于所述预设带宽下限,选择第一级直播码率值播放所述直播间的直播视频;
如果判断出所述有效空闲带宽大于所述预设带宽下限,且小于所述预设带宽上限,选择第二级直播码率值播放所述直播间的直播视频,所述第二级直播码率值大于所述第一级直播码率值;
如果判断出所述有效空闲带宽大于或等于所述预设带宽上限,选择第三级直播码率值播放所述直播间的直播视频,所述第三级直播码率值大于所述第二级直播码率值。
7.一种直播码率选择装置,应用于直播客户端,其特征在于,所述装置包括:
发送单元,用于在所述直播客户端进入直播间时,向直播视频流服务器发送用于从所述直播视频流服务器请求测速资源文件的网络请求;
空闲带宽确定单元,用于确定从所述直播视频流服务器加载所述测速资源文件时的有效空闲带宽;
所述空闲带宽确定单元具体包括:启动子单元,用于执行S1:在加载所述测速资源文件的开始时刻启动计时器;计算子单元,用于执行S2:在当前次响应所述计时器时,将当前次的预设时间间隔内对所述测速资源文件的加载量除以所述预设时间间隔,以得到下载速率值存入速率数组;响应子单元,用于执行S3:判断当前次响应所述计时器是否为预设次响应所述计时器,如果是,终止加载所述测速资源文件,并基于所述速率数组中的各个下载速率值确定出有效下载速率后执行S4,否则等待下一次响应所述计时器,在下一次响应所述计时器时返回S2;
转换子单元,用于执行S4:将所述有效下载速率转换为与所述有效下载速率对应的有效空闲带宽;
码率选择单元,用于选择与所述有效空闲带宽匹配的直播码率播放所述直播间的直播视频。
8.如权利要求7所述的直播码率选择装置,其特征在于,所述码率选择单元,包括:
带宽判断子单元,用于判断所述有效空闲带宽是否小于或等于预设带宽下限,并判断所述有效空闲带宽是否大于或等于预设带宽上限;
码率选择子单元,用于如果判断出所述有效空闲带宽小于或等于所述预设带宽下限,选择第一级直播码率值播放所述直播间的直播视频;如果判断出所述有效空闲带宽大于所述预设带宽下限,且小于所述预设带宽上限,选择第二级直播码率值播放所述直播间的直播视频,所述第二级直播码率值大于所述第一级直播码率值;如果判断出所述有效空闲带宽大于或等于所述预设带宽上限,选择第三级直播码率值播放所述直播间的直播视频,所述第三级直播码率值大于所述第二级直播码率值。
CN201710007153.2A 2017-01-04 2017-01-04 一种直播码率选择方法及装置 Active CN108271043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710007153.2A CN108271043B (zh) 2017-01-04 2017-01-04 一种直播码率选择方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710007153.2A CN108271043B (zh) 2017-01-04 2017-01-04 一种直播码率选择方法及装置

Publications (2)

Publication Number Publication Date
CN108271043A CN108271043A (zh) 2018-07-10
CN108271043B true CN108271043B (zh) 2020-09-08

Family

ID=62770802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710007153.2A Active CN108271043B (zh) 2017-01-04 2017-01-04 一种直播码率选择方法及装置

Country Status (1)

Country Link
CN (1) CN108271043B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833585A (zh) * 2012-08-24 2012-12-19 深圳市中青合创传媒科技有限公司 一种泛终端视频传输系统和方法
CN102916908A (zh) * 2011-08-02 2013-02-06 腾讯科技(深圳)有限公司 网络应用中的带宽优化方法及系统
CN103458272A (zh) * 2012-05-30 2013-12-18 中国电信股份有限公司 确定视频流推送码率的方法、装置与服务器
US9088768B1 (en) * 2011-03-23 2015-07-21 Cox Communications, Inc. Processing quality of service data to provide a prediction of quality of experience
CN105163134A (zh) * 2015-08-03 2015-12-16 腾讯科技(深圳)有限公司 直播视频的视频编码参数设置方法、装置及视频编码设备
CN105611321A (zh) * 2015-12-30 2016-05-25 北京奇艺世纪科技有限公司 一种视频码率推送方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9088768B1 (en) * 2011-03-23 2015-07-21 Cox Communications, Inc. Processing quality of service data to provide a prediction of quality of experience
CN102916908A (zh) * 2011-08-02 2013-02-06 腾讯科技(深圳)有限公司 网络应用中的带宽优化方法及系统
CN103458272A (zh) * 2012-05-30 2013-12-18 中国电信股份有限公司 确定视频流推送码率的方法、装置与服务器
CN102833585A (zh) * 2012-08-24 2012-12-19 深圳市中青合创传媒科技有限公司 一种泛终端视频传输系统和方法
CN105163134A (zh) * 2015-08-03 2015-12-16 腾讯科技(深圳)有限公司 直播视频的视频编码参数设置方法、装置及视频编码设备
CN105611321A (zh) * 2015-12-30 2016-05-25 北京奇艺世纪科技有限公司 一种视频码率推送方法和装置

Also Published As

Publication number Publication date
CN108271043A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108881448B (zh) Api请求的处理方法及装置
CN107592237B (zh) 一种混合云的资源监控方法及系统
CN109525602B (zh) 一种基于免流量平台访问网络的方法、移动终端及系统
CN110661879B (zh) 节点调度方法、装置、系统、调度服务器及终端设备
CN108924650A (zh) 一种消息提示方法、装置、电子设备及存储介质
CN110830564A (zh) Cdn调度方法、装置、系统及计算机可读存储介质
CN108206958A (zh) 一种获取录像资源的方法及协转服务器
CN110457229B (zh) 游戏性能监测方法、装置、电子设备及存储介质
CN107071550B (zh) 一种视频数据共享方法和装置
CN110247857B (zh) 限流方法及装置
CN111597057B (zh) 数据处理方法、装置及计算机可读存储介质
CN103702178B (zh) 一种播放方法及电子设备
CN106775952B (zh) 一种安卓应用的进程管理方法和装置
CN108377396A (zh) 一种直播录制方法、装置及设备
CN107733805B (zh) 业务负载调度方法和装置
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
CN110198332A (zh) 内容分发网络节点的调度方法、装置及存储介质
CN111309485A (zh) 服务调用方法、装置、电子设备和计算机可读存储介质
CN110996044A (zh) 监控轮巡方法、装置、电子设备及存储介质
CN108271043B (zh) 一种直播码率选择方法及装置
CN114143371A (zh) 投屏方法、装置、存储介质及电子设备
CN113312237A (zh) 信息反馈方法、装置、电子设备及存储介质
CN109756754A (zh) 视频播放方法、装置、存储介质和电子装置
CN113573114B (zh) 一种投屏方法、装置、电子设备及存储介质
CN110535853B (zh) 一种视频请求调度方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant