CN108540837B - 一种确定流媒体码率的方法和装置 - Google Patents

一种确定流媒体码率的方法和装置 Download PDF

Info

Publication number
CN108540837B
CN108540837B CN201710128746.4A CN201710128746A CN108540837B CN 108540837 B CN108540837 B CN 108540837B CN 201710128746 A CN201710128746 A CN 201710128746A CN 108540837 B CN108540837 B CN 108540837B
Authority
CN
China
Prior art keywords
quality
network
network connection
code rate
determining
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
CN201710128746.4A
Other languages
English (en)
Other versions
CN108540837A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710128746.4A priority Critical patent/CN108540837B/zh
Publication of CN108540837A publication Critical patent/CN108540837A/zh
Application granted granted Critical
Publication of CN108540837B publication Critical patent/CN108540837B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种确定流媒体码率的方法和装置,涉及媒体数据处理领域,包括:监测客户端产生的多个网络连接中每个网络连接的网络质量;根据所述每个网络连接的网络质量,输出包括M个不同码率的码流,M个不同码率中至少一个码率与至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差,M为大于或等于1的整数。本发明实施例通过根据每个网络连接的网络质量,输出与网络连接的网络质量匹配的码率,由于网络连接的网络质量大于码率时,才能保证该网络连接所访问的码流在播放时不卡顿,因此本发明实施例通过根据带宽对码率调整,能够保证在带宽足够的前提下,终端能够获得尽可能高的码率对应的媒体内容。

Description

一种确定流媒体码率的方法和装置
技术领域
本发明实施例涉及媒体数据处理领域,尤其涉及一种确定流媒体码率的方法和装置。
背景技术
媒体直播(即实时地播放媒体内容)通常采用单播方式来实现。如图1a所示,图1a示出了单播方式实现媒体直播的系统结构,具体的,通过单播方式实现媒体直播的主要流程为:单播方式下,由客户端和流媒体服务器之间建立一对一的网络连接,直播系统给用户提供一个或多个缓冲区中每个缓冲区的接入地址,用户可以使用终端选择任一个接入地址,以超文本传输协议(Hyper Text Transfer Protocol,HTTP)/实时流传输协议(RealTime Streaming Protocol,RTSP)或者其他传输协议,接入终端所选择该接入地址对应的缓冲区,获取所选择的该缓冲区中存储的流媒体(例如,码流),最后实现解码并播放该码流。
由于客户端接入的网络类型不同,所接入的网络的带宽也不同,例如,用户通过第三代移动通信技术(3rd-Generation,3G)网络、第四代移动通信技术(4rd-Generation,4G)网络或者无线保真(WIreless-Fidelity,WIFI)接入时,该三种类型的网络所提供的带宽也不一致,并且即使是同一种网络,不同时间带宽也会存在差异。当然带宽越高,流媒体服务器能提供的流媒体内容质量越高,因此,如何在可变的带宽下,提供质量尽可能高的流媒体内容是提供商所面临的问题。
参见图1b,图1b为现有技术提供的一种解决上述问题的技术方案,其中,图1b中的流媒体服务器中存储着每个流媒体内容的多份码率的码流,每份码流按照预设时间(例如,3S)被图1b中的码流分块器(Segmenter)切成不同的切片,不同的切片包括不同字节的码流。
具体的,图1b中的流媒体服务器持续不断监测客户端码率变化情况,当客户端码率发生变化时,流媒体服务器通过提高或降低切片的预设时间,并按照提高或降低后的预设时间通知码流分块器对码流进行切片。
但是,上述技术方案,流媒体服务器仅能根据一个客户端的码率变化情况通过改变切换的预设时间以提供以客户端的码率匹配的码流,这样会存在无法充分利用带宽的问题。
发明内容
本申请提供一种确定流媒体码率的方法和装置,用以解决现有技术中存在的无法充分利用带宽的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本发明实施例提供一种确定流媒体码率的方法,包括:监测客户端访问服务器时的多个网络连接中至少一个网络连接的网络质量;按照至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,所述M个不同码率中至少一个码率与至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差,M为大于或等于1的整数,根据M个不同码率,输出M个码流,M个码流中每个码流与一个码率对应。
本发明实施例提供一种确定流媒体码率的方法,通过根据每个网络连接的网络质量,确定M个不同码率。由于网络连接的网络质量大于码流的码率时,才能保证该网络连接所访问的码流在播放时不卡顿,因此,本发明实施例通过网络连接的网络质量输出与网络连接的网络质量之间误差小于预设误差的M个不同码率的码流,这样能够保证输出的码率与网络质量相等,或者略小于网络连接的网络质量或者略大于网络连接的网络质量,这样不仅使得终端能够根据网络连接的网络质量获取到与之匹配的码率对应的码流,而且能够保证在带宽足够的前提下,终端能够获得尽可能高的码率对应的媒体内容,同时,由于本申请是根据客户端访问服务器时的多个网络连接中至少一个网络连接的网络质量来确定码率序列,因此,能够提升大部分终端访问服务器时的性能指标。
结合第一方面,在第一方面的第一种可能的实现方式中,按照至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,包括:根据每个网络连接的网络质量,确定每个网络连接所属的质量等级,以得到质量等级表,质量等级表包括N个质量等级以及N个质量等级中每个质量等级对应的网络连接的数量,其中,至少一个网络连接中任一个网络连接的质量等级为N个质量等级中相邻的两个质量等级中质量等级较低的或者为N个质量等级中的一个质量等级,N为大于或等于1的整数;根据质量等级表,确定包括M个不同码率的码率序列,M个不同码率中至少一个码率与N个质量等级中的一个质量等级之间的误差小于预设误差。通过设置质量等级,可以尽可能的将多个网络连接的网络质量归约,使得多个网络连接中的部分网络连接属于一个质量等级,这样可以保证一个码率对应的码流能够被多个网络连接访问。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,根据M个不同码率,输出码流之后,本发明实施例提供的方法还包括:根据多个网络连接中每个网络连接的网络质量,将每个网络连接链接到对应的缓冲区。
结合第一方面至第一方面的第二种可能的实现方式中任意一项,在第一方面的第三种可能的实现方式中,M个不同码率按照第一预设等级排序,根据多个网络连接中每个网络连接的网络质量,将每个网络连接链接到对应的缓冲区之后,本发明实施例提供的方法还包括:确定多个网络连接中存在至少一个网络连接的网络质量位于M个不同码率中相邻的两个码率之间,将至少一个网络连接链接到相邻的两个码率中等级较低的码率对应的缓冲区;或者,确定多个网络连接中存在至少一个网络连接的网络质量与M个码率中任一个码率相等,则将至少一个网络链接链接到与任一个码率对应的缓冲区或者链接到比任一码率小的码率对应的缓冲区;或者;确定多个网络连接中存在至少一个网络连接的网络质量大于M个不同码率中最大的码率,则将至少一个网络连接链接到最大的码率对应的缓冲区;或者,确定多个网络连接中存在至少一个网络连接的网络质量小于M个不同码率中最小的码率,则将至少一个网络连接链接到最小的码率对应的缓冲区。根据网络连接的网络质量将网络连接链接到小于或等于该网络连接网络质量的码率对应的缓冲区,这样可以保证客户端通过网络连接访问缓冲区的码流时不卡顿。
结合第一方面至第一方面的第三种可能的实现方式中任意一项,在第一方面的第四种可能的实现方式中,当M大于或等于N时,质量等级表包括的N个质量等级中每个质量等级均与M个码率中至少一个码率之间的误差小于预设误差。这样可以保证服务器输出的码率均为质量等级表包括的N个质量等级。
结合第一方面至第一方面的第四种可能的实现方式中任意一项,在第一方面的第五种可能的实现方式中,根据质量等级表,确定包括M个不同码率的码率序列,包括:若M小于N,则获取候选码率输出列表,候选码率输出列表包括至少一种候选码率输出组合,一种候选码率输出组合包括N个质量等级中的M个质量等级所确定的M个目标码率;将至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合;将目标候选码率输出组合中包括的M个目标码率确定为码率序列。通过获取候选码率输出列表中的至少一个候选码率输出组合中平均码率最大的候选码率输出组合,这样能够在带宽足够的前提下,终端能够获得尽可能高的码率对应的媒体内容。
结合第一方面至第一方面的第五种可能的实现方式中任意一项,在第一方面的第六种可能的实现方式中,性能指标为平均码率,将至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合之前,本发明实施例提供的方法还包括:获取第一候选码率输出组合中每个目标码率对应的网络连接的数量;第一候选码率输出组合为至少一种候选码率输出组合中任意一种;根据每个目标码率,以及每个目标码率对应的网络连接的数量,计算第一候选码率输出组合的平均码率。
结合第一方面至第一方面的第六种可能的实现方式中任意一项,在第一方面的第七种可能的实现方式中,监测客户端访问服务器时的多个网络连接中每个网络连接的网络质量,包括:在预设时间内,计算每个网络连接对应的发送缓冲区内的数据量变化;对每个网络连接,执行下述步骤以确定出每个网络连接的网络质量:将多个网络连接中的一个网络连接的发送缓冲区内的数据量变化与预设时间之商,确定为一个网络连接的网络质量。
结合第一方面至第一方面的第七种可能的实现方式中任意一项,在第一方面的第八种可能的实现方式中,根据质量等级表,确定包括M个不同码率的码率序列之前,本发明实施例提供的方法还包括:检测当前检测时刻第一网络连接所属的质量等级,第一网络连接为多个网络连接中任一个;在确定第一网络连接所属的质量等级为第一质量等级时,将第一质量等级对应的网络连接数量加1,第一质量等级为N个质量等级中任一个;若在当前检测时刻之前的一个检测时刻第一网络连接所属的质量等级为N个质量等级中任一个质量等级,则将任一个质量等级对应的网络连接数量减1,并更新质量等级表。
结合第一方面至第一方面的第八种可能的实现方式中任意一项,在第一方面的第九种可能的实现方式中,N个质量等级中每个质量等级按照第二预设等级排序,根据每个网络连接的网络质量,确定每个网络连接所属的质量等级,包括:第二网络连接的网络质量位于质量等级表中相邻的两个质量等级之间,则确定第二网络连接的质量等级为相邻的两个质量等级中质量等级较低的,其中,第二网络连接为多个网络连接中的任一个;或者,第二网络连接的网络质量与N个质量等级中任一个质量等级所指示的参数值相等,则确定第二网络连接的质量等级为N个质量等级中与第二网络连接的网络质量相等的质量等级;或者,第二网络连接的网络质量大于N个质量等级中最大的质量等级,则确定第二网络连接的质量等级为最大的质量等级;或者,第二网络连接的网络质量小于N个质量等级中最小的质量等级,则确定第二网络连接的质量等级为最小的质量等级。
第二方面,本发明实施例提供一种确定流媒体码率的装置,包括:监测单元,用于监测客户端访问服务器时的多个网络连接中每个网络连接的网络质量;确定单元,用于按照所述至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,M个不同码率中至少一个码率与至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差,M为大于或等于1的整数;输出单元,用于根据M个不同码率,输出码流。
结合第二方面,在第二方面的第一种可能的实现方式中,装置还包括:获取单元,用于根据每个网络连接的网络质量,确定每个网络连接所属的质量等级,以得到质量等级表,所述质量等级表包括N个质量等级以及N个质量等级中每个质量等级对应的网络连接的数量,其中,至少一个网络连接中任一个网络连接的质量等级为N个质量等级中相邻的两个质量等级中质量等级较低的或者为N个质量等级中的一个质量等级,N为大于或等于1的整数;确定单元,还用于根据质量等级表,确定包括M个不同码率的码率序列,M个不同码率中至少一个码率与N个质量等级中的一个质量等级之间的误差小于预设误差。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,本发明实施例提供的装置还包括:链接单元,用于根据多个网络连接中每个网络连接的网络质量,将所述每个网络连接链接到对应的缓冲区。
结合第二方面至第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,M个不同码率按照第一预设等级排序,链接单元具体用于:确定多个网络连接中存在至少一个网络连接的网络质量位于M个不同码率中相邻的两个码率之间,将至少一个网络连接链接到相邻的两个码率中等级较低的码率对应的缓冲区;或者,确定多个网络连接中存在至少一个网络连接的网络质量与M个码率中任一个码率相等,则将至少一个网络连接链接到任一个码率对应的缓冲区或者链接到比任一码率小的码率对应的缓冲区;或者;确定多个网络连接中存在至少一个网络连接的网络质量大于M个不同码率中最大的码率,则将至少一个网络连接链接到最大的码率对应的缓冲区;或者;确定多个网络连接中存在至少一个网络连接的网络质量小于M个不同码率中最小的码率,则将至少一个网络连接链接到最小的码率对应的缓冲区。
结合第二方面至第二方面的第三种可能的实现方式中任意一项,在第二方面的第四种可能的实现方式中,若M大于或等于N,则质量等级表包括的N个质量等级中每个质量等级均与M个码率中至少一个码率之间的误差小于预设误差。
结合第二方面至第二方面的第四种可能的实现方式中任意一项,在第二方面的第五种可能的实现方式中,确定单元具体用于:若M小于N,则获取候选码率输出列表,该候选码率输出列表包括至少一种候选码率输出组合,一种候选码率输出组合包括N个质量等级中所选择的M个质量等级所确定的M个目标码率;将至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合;按照目标候选码率输出组合中包括的M个目标码率输出M个不同码率的码流。
结合第二方面至第二方面的第五种可能的实现方式中任意一项,在第二方面的第六种可能的实现方式中,性能指标为平均码率,本发明实施例提供的装置还包括:确定单元,用于确定第一候选码率输出组合中每个目标码率对应的网络连接的数量,第一候选码率输出组合为所述至少一种候选码率输出组合中任意一种;第一候选码率输出组合为至少一种候选码率输出组合中任意一种;确定单元还具体用于:根据每个目标码率,以及每个目标码率对应的网络连接的数量,计算第一候选码率输出组合的平均码率。
结合第二方面至第二方面的第六种可能的实现方式中任意一项,在第二方面的第七种可能的实现方式中,本发明实施例提供的监测单元具体用于:在预设时间内,计算每个网络连接对应的发送缓冲区内的数据量变化;对每个网络连接,执行下述步骤以确定出每个网络连接的网络质量:将多个网络连接中的一个网络连接的发送缓冲区内的数据量变化与预设时间之商,确定为一个网络连接的网络质量。
结合第二方面至第二方面的第七种可能的实现方式中任意一项,在第二方面的第八种可能的实现方式中,本发明实施例提供的装置还包括:更新单元,用于检测当前检测时刻第一网络连接所属的质量等级,第一网络连接为多个网络连接中任一个;在确定第一网络连接所属的质量等级为第一质量等级时,将第一质量等级对应的网络连接数量加1,第一质量等级为N个质量等级中任一个;若在当前检测时刻之前的一个检测时刻第一网络连接所属的质量等级为N个质量等级中任一个质量等级,则将任一个质量等级对应的网络连接数量减1,并更新质量等级表。
结合第二方面至第二方面的第八种可能的实现方式中任意一项,在第二方面的第九种可能的实现方式中,本发明实施例提供的装置,N个质量等级中每个质量等级按照第二预设等级排序,确定单元具体用于:确定第二网络连接的网络质量位于质量等级表中相邻的两个质量等级之间,则确定第二网络连接的质量等级为相邻的两个质量等级中质量等级较低的,其中,第二网络连接为多个网络连接中的任一个;或者,确定第二网络连接的网络质量与N个质量等级中任一个质量等级所指示的参数值相等,则确定第二网络连接的质量等级为N个质量等级中与第二网络连接的网络质量相等的质量等级;或者,确定第二网络连接的网络质量大于N个质量等级中最大的质量等级,则确定第二网络连接的质量等级为最大的质量等级;或者,第二网络连接的网络质量小于N个质量等级中最小的质量等级,则确定第二网络连接的质量等级为所述最小的质量等级。
第三方面,本发明实施例提供一种服务器,该服务器包括处理器、存储器、系统总线和通信接口;其中,存储器用于存储计算机执行指令,处理器与存储器通过系统总线连接,当服务器运行时,处理器执行存储器存储的计算机执行指令,以使服务器执行如第一方面至第一方面的第九种可能的实现方式所描述的确定流媒体码率的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,包括指令,当其在服务器上运行时,使得服务器执行如第一方面至第一方面的第九种可能的实现方式所描述的确定流媒体码率的方法。
第五方面,本发明实施例提供一种包含指令的计算机程序产品,当其在服务器上运行时,使得服务器执行如第一方面至第一方面的第九种可能的实现方式所描述的确定流媒体码率的方法。
第六方面,本发明实施例还提供一种直播源码率适应系统,该直播源码率适应系统包括一个或多个客户端以及第二方面至第二方面任意一种可能的实现方式所描述的确定流媒体码率的装置。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1a为现有技术提供的一种直播系统架构;
图1b为现有技术提供的又一种直播系统架构;
图2a为本发明实施例提供的一种直播系统架构;
图2b为本发明实施例提供的一种服务器的硬件示意图;
图2c为本发明实施例提供的一种终端的结构示意图;
图3为本发明实施例提供的一种确定流媒体码率的方法流程示意图一;
图4a为本发明实施例提供的一种确定流媒体码率的方法流程示意图二;
图4b为本发明实施例提供的一种确定流媒体码率的方法流程示意图三;
图4c为本发明实施例提供的一种确定流媒体码率的方法流程示意图四;
图4d为本发明实施例提供的一种确定流媒体码率的方法流程示意图五;
图4e为本发明实施例提供的一种确定流媒体码率的方法流程示意图六;
图5a为本发明实施例提供的一种服务器的结构示意图一;
图5b为本发明实施例提供的一种服务器的结构示意图二;
图5c为本发明实施例提供的一种服务器的结构示意图三。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
如图1a所示,直播源提供若干个不同码率的码流,作为转码器的输入,例如,如图1a中所示的输入码率In-Rate-1、输入码率In-Rate-2以及输入码率In-Rate-X;转码器将该若干个不同码率的码流转码后输出若干个不同码率的码流,如图1a中所示的输出码率Out-Rate-1、输出码率Out-Rate-2、输出码率Out-Rate-3以及输出码率Out--Rate-Y,转码器输出的若干个不同码率的码流中不同码率的码流存储在不同的缓冲区中,同一个码率的码流存储在同一个缓冲区中,终端可以通过超文本传输协议/实时流传输协议或者其他传输协议以网络连接的形式访问网络连接所对应的缓冲区中存储的码流。本发明实施例中将直播系统中转码器的输出码率,称为“直播源码率”。
本发明实施例中“单边码率自适应直播”指在直播系统的服务器端或者客户端根据带宽波动,自适应地选择合适的码率对应的码流实现媒体直播播放,也即客户端或者服务器端会选择比带宽小或者等于带宽的码率对应的码流实现媒体直播播放。
如图1a所示,通常转码器输出的某个码流的码率是固定不变的,并不跟随带宽调整,这样在下述场景1下:
场景1:直播源码率固定为1kbps,2kbps以及3kbps,假设存在三百万个终端需要访问流媒体服务器,其中,一百万个终端访问流媒体服务器时,可获得带宽为1kbps;一百万个终端访问流媒体服务器时,可获得带宽为1.5kbps;一百万个终端访问流媒体服务器时,可获得带宽为2.5bps。
在场景1下,若不对直播源码率作调整,仅通过单边码率自适应直播,则带宽为1kbps的终端将会自适应连接到1kbps的直播源码率对应的缓冲区,以直播1kbps的直播源码率对应的缓冲区中的码流;带宽为1.5kbps的终端将自适应连接到1kbps的直播源码率对应的缓冲区,以直播1kbps的直播源码率对应的缓冲区中的码流,带宽为2.5kbps的终端自适应连接到2kbps的直播源码率对应的缓冲区,以直播2.0kbps的直播源码率对应的缓冲区中的码流。这样三百万个终端中每个终端的平均码率为(100*1kbps+100*1kbps+100*2kbps)/300=1.3kbps。
而本发明实施例通过根据网络连接的网络质量对直播源码率作动态调整,以使得直播源码率与网络连接的网络质量匹配。
例如,在场景1下,服务器将转码器输出的2kbps直播源码率调整为1.5kbps,将转码器输出的3kbps直播源码率调整为2.5kbps。调整之后,带宽为1kbps的终端还是自适应连接到1kbps的直播源码率对应的缓冲区,以直播1kbps的直播源码率对应的缓冲区内的码流;带宽为1.5kbps的终端自适应连接到1.5kbps的直播源码率对应的缓冲区,以直播1.5kbps的直播源码率对应的缓冲区内的码流;带宽为2.5kbps的终端自适应连接到2.5kbps的直播源码率对应的缓冲区,以直播2.5kbps的直播源码率对应的缓冲区内的码流。这样,三百万个终端中每个终端的平均码率为(100*1kbps+100*1.5kbps+100*2.5kbps)/300=1.7kbps。
上述例子说明,如果对直播源码率作动态调整,并采用单边码率自适应直播,可以进一步提高终端体验质量:在带宽足够的前提下,终端能够获得尽可能高的码率对应的媒体内容。
如图2a所示,图2a提出了本发明实施例提供的一种确定流媒体码率的方法所应用的直播源码率适应系统的架构图。如图2a所示,直播系统包括:至少一个确定流媒体码率的装置20以及至少一个终端30,确定流媒体码率的装置20中存储有码流,一个码流对应一个网络连接,至少一个终端30中每个终端通过超文本传输协议、实时流传输协议或者其他传输协议,接入该终端所访问的网络连接所对应的缓冲区,以直播所选择的缓冲区中存储的码流。
其中,确定流媒体码率的装置20可以为服务器,服务器包括:负载监控单元40、至少一个缓冲区60(图2a中示出了4个缓冲区,在实际使用过程中可以存在比4个缓冲区多或者更少的缓冲区)以及直播源码率配置单元50。
其中,负载监控单元40用于监测终端访问服务器中存储的码流时所产生的多个网络连接中每个网络连接的带宽,并确定每个网络连接所属的质量等级,以获取包括每个网络连接所属的质量等级的质量等级表,以及将所监测到的质量等级表定时反馈给直播源码率配置单元50。
直播源码率配置单元50,用于根据质量等级表包括的多个质量等级输出包括M个码率的码率序列,并根据码率序列输出M个码流。直播源码率配置单元50还用于在码率输出发生变化时,通知负载监控单元40,可能会发生服务器端或者终端的单边码率适应行为,至少一个缓冲区60中每个缓冲区60用于存储直播源码率配置单元50按照某个码率输出的码流。
具体的,直播源码率配置单元50包括直播源501和转码器502。其中,直播源501用于接收负载监控单元40输出的质量等级表,以及将质量等级表所包括的质量等级输出给转码器502,转码器502用于根据质量等级表所包括的质量等级输出M个不同码率的码流。
本发明实施例中的转码器可以由软件实现,也可以由硬件芯片实现。
本发明实施例中转码器输出的M个码率中每个码率对应一个缓冲区,一个码率对应的缓冲区用于存储按照该码率输出的码流(Data Rate)。该缓冲区可以是内存中一块区域,也可以是磁盘中一块区域。当缓冲区设置在磁盘中,以文件的形式存储时,不同的缓冲区常常有一个码流分块器(Segmenter),决定将多少字节的码流保存在一个独立的文件中。
如图2b所示,图2b为本发明实施例提供的一种服务器的硬件架构,参见图2b,服务器包括存储器20311、处理器20312、系统总线20313、电源组件20314、输入\输出接口20315、通信组件20316以及一个或多个网卡20317等。其中,存储器20311可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等,存储数据区可存储服务器203的使用所创建的数据等。处理器20312通过运行或执行存储在存储器20311内的软件程序和/或模块,以及调用存储在存储器20311内的数据,执行服务器203的各种功能和处理数据。系统总线20313包括地址总线、数据总线、控制总线,用于传输数据和指令;电源组件20314用于为服务器203的各个组件提供电源;输入\输出接口20315为处理器20312和外围接口模块之间提供接口;通信组件2036用于为服务器203和其他设备之间进行有线或无线方式的通信。一个或多个网卡20317用于在服务器203和客户端之间形成会话通道,以便传输业务,在通信系统中,服务器203承担着数据的存储、转发、发布等关键任务,是各类基于客户机/服务器(C/S)模式或者浏览器/服务器(B/S)模式网络中不可或缺的重要组成部分。
上述如图2a所示的至少一个终端30作为直播系统中被服务的对象,为客户提供本地服务。参见图2c,该终端可以包括:存储器20111、处理器20112、输入单元20114、显示单元20115、电源20116以及一个或多个网卡20113等部件。其中,存储器20111可用于存储数据、软件程序以及模块,主要包括存储程序区和存储数据区,存储程序区可存储操作系统、至少一个功能所需的应用程序等。电源组件20116用于为客户端的各个组件提供电源;输入单元20114用于向客户端输入用户的操作指令;一个或多个网卡20113用于在服务器203的网卡和客户端之间形成会话通道,以便传输业务。
可以理解的是,图2b和图2c仅是示例性的给出了本发明实施例提供的服务器和终端的结构,在实际使用过程中终端或服务器可以包括比图2b和图2c所示的更多组件或者更少组件。
本发明实施例中的终端可以为手机、电脑。
如图3所示,本发明实施例提供一种确定流媒体码率的方法,包括:
S101、监测客户端访问服务器时的多个网络连接中至少一个网络连接的网络质量,一个网络连接用于访问待播放的文件。
可选的,本发明实施例中的网络连接的网络质量可以为:时延,丢包率,或者带宽。
待播放的文件可以为按照某个码率输出的码流,该码流存储在缓冲区中,该缓冲区为该码流的码率对应的缓冲区。
S102、服务器按照至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,M个不同码率中至少一个码率与至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差,M为大于或等于1的整数。
S103、服务器根据M个不同码率,输出M个码流,M个码流中每个码流与一个码率对应。
可以理解的是,本发明实施例中M个不同码率中至少一个码率与至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差指:码流的码率与网络连接的网络质量相等或者码率略小于网络连接的网络质量,或者码流的码率与网络连接结合其他信息(例如,流媒体处理资源、丢包率)后得到的参数相等。需要说明的是,这里的相等并不意味着绝对相等,由于通信设备处理时或传输时造成实际输出与网络连接的网络质量存在一定的误差,只要误差在预设范围内,即可以认为码流的码率与网络连接的网络质量相等。例如,每个网络连接的网络质量为0.5Kbps、0.7Kbps、0.9Kbps以及1.0Kbps,则服务器输出的码流的码率为:0.5Kbps、0.7Kbps、0.9Kbps以及1.0Kbps,也可以为:0.4Kbps、0.6Kbps、0.8Kbps以及0.9Kbps。
本发明实施例提供一种确定流媒体码率的方法,通过根据每个网络连接的网络质量,确定M个不同码率。由于网络连接的网络质量大于码流的码率时,才能保证该网络连接所访问的码流在播放时不卡顿,因此,本发明实施例通过网络连接的网络质量输出与网络连接的网络质量之间误差小于预设误差的M个不同码率的码流,这样能够保证输出的码率与网络质量相等,或者略小于网络连接的网络质量或者略大于网络连接的网络质量,这样不仅使得终端能够根据网络连接的网络质量获取到与之匹配的码率对应的码流,而且能够保证在带宽足够的前提下,终端能够获得尽可能高的码率对应的媒体内容。
由于客户端所产生的网络连接的数量非常多,且每个网络连接的网络质量之间存在差异,为了保证每个网络连接均可以链接到网络连接所访问的缓冲区,并使得服务器根据该网络连接成功访问存储在该网络连接对应的缓冲区中的码流,因此,本发明实施例中可以将多个网络连接的网络质量划分等级来实现。
可选的,本发明实施例中的步骤S102可以通过以下方式实现:
S1021、服务器根据每个网络连接的网络质量,确定每个网络连接所属的质量等级,以得到质量等级表,质量等级表包括N个质量等级以及N个质量等级中每个质量等级对应的网络连接的数量,其中,至少一个网络连接中任一个网络连接的质量等级为N个质量等级中的一个质量等级,或者为N个质量等级中相邻的两个质量等级中质量等级较低的,N为大于或等于1的整数。
其中,质量等级表可以为预先设置的,并存储在服务器中,也可以为服务器根据每个网络连接的网络质量确定的,本发明实施例对此不进行限定。
由于在码率小于或等于网络连接的网络质量值时,客户端通过网络连接访问缓存区中存储的码流时,才能保证在播放该码流时不卡顿。因此,本发明实施例中可以根据每个网络连接的网络质量,将每个网络连接做归约处理。归约处理即将多个网络连接根据多个网络连接中每个网络连接的网络质量,将该多个网络连接的网络质量划分为一个或多个质量等级,以保证一个或多个质量等级中每个质量等级小于或等于该质量等级包括的网络连接中参数最小的一个网络连接。
可选的,本发明实施例中的质量等级表中所包括的N个质量等级按照第二预设等级排序。该第二预设等级排序可以为:按照每个质量等级所指示的参数值由大到小或者由小到大的顺序,也可以为按照每个质量等级的优先级。
例如,质量等级表可以表示为{BW1、BW2、BW3、…、BWN},其中,BWj(j取自1到N)表示质量等级表中第j个质量等级,BW1<BW2<BW3<...<BWN。
示例性的,以服务器根据每个网络连接的网络质量确定质量等级表为例。若存在网络连接的网络质量分别为:0.5Kbps、0.6Kbps、0.7Kbps、0.8Kbps,对这些网络连接做归约处理后,则可以确定参数分别为:0.5Kbps、0.6Kbps、0.7Kbps、0.8Kbps的这些网络连接所属的质量等级为0.5Kbps,相应的,该质量等级为0.5Kbps对应的网络连接的数量为4个。
若存在网络连接的网络质量分别为1.5Kbps、1.6Kbps、1.7Kbps、1.8Kbps、1.9Kbps,则可以确定网络连接的网络质量分别为1.5Kbps、1.6Kbps、1.7Kbps、1.8Kbps,1.9Kbps的网络连接所属的质量等级为1.5Kbps,相应的,该质量等级为1.5Kbps对应的网络连接的数量为5个。
若存在网络连接的网络质量分别为2.0Kbps、2.1Kbps、2.2Kbps、2.3Kbps、2.4Kbps,则可以确定网络连接的网络质量分别为2.0Kbps、2.1Kbps、2.2Kbps、2.3Kbps、2.4Kbps的网络连接所属的质量等级为2.0Kbps,相应的,该质量等级为2.0Kbps对应的网络连接的数量为5个。
若存在网络连接的网络质量分别为2.5Kbps、2.6Kbps、2.7Kbps、2.8Kbps、2.9Kbps,则可以确定网络连接的网络质量分别为2.5Kbps、2.6Kbps、2.7Kbps、2.8Kbps、2.9Kbps的网络连接所属的质量等级为2.5Kbps,相应的,该质量等级为2.5Kbps对应的网络连接的数量为5个。
若存在网络连接的网络质量分别为3.0Kbps、3.1Kbps、3.2Kbps、3.3Kbps、3.4Kbps、3.5Kbps,则可以确定网络连接的网络质量分别为3.0Kbps、3.1Kbps、3.2Kbps、3.3Kbps、3.4Kbps、3.5Kbps的网络连接所属的质量等级为3.0Kbps,相应的,该质量等级为3.0Kbps对应的网络连接的数量为6个。
可选的,本发明实施例中的质量等级表可以以下述方式表示:{(BW1,L1)、(BW2,L2)、(BW3,L3)、…、(BWN,LN)},其中,Li(i为1…N中任一个值)表示第i个质量等级对应的网络连接的数量。例如,以N为6为例,则质量等级表可以表示为{(BW1,L1)、(BW2,L2)、(BW3,L3)、…、(BW6,L6)}。
S1022、服务器根据质量等级表,确定包括M个不同码率的码率序列,M个码率中至少一个码率与N个质量等级中的一个质量等级之间的误差小于预设误差。
本发明实施例中的预设误差可以根据需要进行设置,本发明实施例对此不进行限定。
可选的,本发明实施例中服务器输出的M个码率中可以存在一个码率与N个质量等级中一个质量等级匹配,也可以存在M个码率中部分码率与N个质量等级中的部分质量等级匹配,在实际过程中可以根据需要设置,本发明实施例对此不进行限定。
示例性的,如上描述质量等级表为:{BW1=0.5Kbps、BW2=1.5Kbps、BW3=2.0Kbps、BW4=2.5Kbps、BW5=3.0Kbps},则服务器输出的不同码流对应的码率可以为0.5Kbps、1.5Kbps、2.0Kbps、2.5Kbps、3.0Kbps;或者服务器输出的不同码流对应的码率可以为:0.5Kbps、1.5Kbps、3.0Kbps;或者服务器输出的不同码流对应的码率可以为:0.5Kbps、1.4Kbps、2.1Kbps、2.5Kbps、3.0Kbps。
可选的,如图4a所示,M个不同码率按照第一预设等级排序,本发明实施例在步骤S102之后,还包括步骤S104:
S104、根据多个网络连接中每个网络连接的网络质量,将每个网络连接链接到对应的缓冲区。
具体的,如图4b所示,步骤S104可以通过以下方式实现:
S104a、服务器确定多个网络连接中存在至少一个网络连接的网络质量位于M个不同码率中相邻的两个码率之间,将至少一个网络连接链接到相邻的两个码率中等级较低的码率对应的缓冲区。
示例性的,码率序列中的M个不同码率按照第一预设等级排序,其中,第一预设等级可以为按照每个码率由大到小的顺序排序,或由小到大的顺序排序,或者每个码率的优先等级排序。
例如,服务器若检测到多个网络连接中存在至少一个网络连接的网络质量位于第一码率和第二码率之间,则将至少一个网络连接链接到第一码率对应的缓冲区,其中,第一码率和第二码率为M个不同码率中相邻的两个码率,且第一码率小于第二码率。
示例性的,若服务器输出的M个不同码率为:0.5Kbps、1.5Kbps、2.0Kbps、2.5Kbps、3.0Kbps。服务器检测到网络连接A的网络质量为0.6Kbps,为了保证客户端通过该网络连接A访问的码流被播放时不卡顿,因此,服务器可以将该网络连接A链接到码率0.5Kbps对应的缓冲区,以使得客户端直播码率0.5Kbps对应的缓冲区中的码流。
如图4c所示,步骤S104可以通过以下方式实现:
S104b、服务器确定多个网络连接中存在至少一个网络连接的网络质量与M个码率中任一个码率相等,则将至少一个网络链接链接到第一缓冲区,第一缓冲区为任一个码率对应的缓冲区或者小于任一个码率的目标码率对应的缓冲区。
示例性的,若服务器输出的M个不同码率为:0.5Kbps、1.5Kbps、2.0Kbps、2.5Kbps、3.0Kbps,服务器检测到网络连接A的网络质量为0.5Kbps,为了保证该网络连接A所访问的码流被播放时不卡顿,因此,服务器可以将该网络连接A链接到码率0.5Kbps对应的缓冲区。
当然若服务器检测到任一个网络连接B的网络质量为X,若服务器输出的M个不同码率中存在一个码率Y1与网络质量X相等,且还存在码率Y2小于X,则服务器可以将网络连接B链接到码率Y1对应的缓冲区,也可以将网络连接B链接到码率Y2对应的缓冲区。
如图4d所示,步骤S104可以通过以下方式实现:
S104c、服务器确定多个网络连接中存在至少一个网络连接的网络质量大于所述M个不同码率中最大的码率,则将至少一个网络连接链接到最大的码率对应的缓冲区。
示例性的,若服务器输出的M个不同码率为:0.5Kbps、1.5Kbps、2.0Kbps、2.5Kbps、3.0Kbps。服务器检测到网络连接A的网络质量为2.5Kbps,由于码流的码率越大,码流的质量也越高,因此为了保证客户端可以播放到质量最高的码流,于是服务器可以将该网络连接A链接到码率2.0Kbps对应的缓冲区,以使得客户端直播码率2.0Kbps对应的缓冲区中的码流。以实现高质量码流播放。当然,在网络连接的网络质量大于码率序列中最大的码率时,服务器还可以将网络连接链接到任意一个码率对应的缓冲区,只是在此种情况下,不同码率对应的码流的质量不一样。
如图4e所示,步骤S104可以通过以下方式实现:
S104d、服务器确定多个网络连接中存在至少一个网络连接的网络质量小于M个不同码率中最小的码率,则将至少一个网络连接链接到最小的码率对应的缓冲区。
示例性的,若服务器输出的M个不同码率为:0.5Kbps、1.5Kbps、2.0Kbps、2.5Kbps、3.0Kbps。服务器检测到网络连接A的网络质量为0.4Kbps,由于0.4Kbps小于0.5Kbps,因此为了保证客户端通过该网络连接A访问的码流被播放时不卡顿,服务器可以将该网络连接A链接到码率0.5Kbps对应的缓冲区,以使得客户端直播码率0.5Kbps对应的缓冲区中的码流。
可以理解的是,在实际执行过程中,服务器若检测到任一个网络连接的网络质量位于第一码率和第二码率之间,则执行步骤S104a,若检测到多个网络连接中任一个网络连接的网络质量与M个码率中任一个码率相等,则执行步骤S104b。
由于在实际使用过程中,服务器输出的码率的个数M可以与质量等级表中质量等级的数量N相等,即M=N,码率的个数M也可以小于质量等级表中质量等级的数量N,即M<N;码率的个数M也可以大于质量等级表中质量等级的数量N,即M>N。因此,M和N之间的关系不同,使得服务器输出的码流的码率也会存在差异。以下将详细介绍在不同的M和N之间的关系下,服务器输出的不同码流对应的码率。
一方面,在M大于或等于N时,步骤S102可以通过以下方式实现:
S1021a、质量等级表包括的N个质量等级中每个质量等级均与M个码率中至少一个码率之间的误差小于预设误差。
可以理解的是,服务器输出的码率Ratex在质量等级表包括的N个质量等级与至少一个质量等级对应的参数值相等,即Ratex∈{BW1,BW2,…,BWN},x=1,2,…,M。在M≥N时,服务器输出的码率为:Rate1=BW1,Rate2=BW2,…,Raten=BWN,RateN+1,…RATEM。其中,RateN+1到RATEM可以为任意值,由于RateN+1到RATEM可以为任意值,在码率自适应时,不存在网络连接的网络质量与之匹配,因此,RateN+1到RATEM中每个码率对应的缓冲区中存储的码流不会被用户访问到。
示例性的,以N=5,M=7,质量等级表为:{BW1=0.5Kbps、BW2=1.5Kbps、BW3=2.0Kbps、BW4=2.5Kbps、BW5=3.0Kbps}为例,则服务器输出的码流的码率为Rate1=BW1=0.5Kbps、Rate2=BW2=1.5Kbps、Rate3=BW3=2.0Kbps、Rate4=BW4=2.5Kbps、Rate5=BW5=3.0Kbps,Rate6=则可以为除质量等级表中的质量等级之外的任意值,例如,Rate6=3.5Kbps。
另一方面,在M小于N时,步骤S102还可以通过以下方式实现:
S1021b、服务器获取候选码率输出列表,该候选码率输出列表包括至少一种候选码率输出组合,一种候选码率输出组合包括N个质量等级中所选择的M个质量等级所确定的M个目标码率。
可以理解的是,当M小于N时,该候选码率输出列表包括C(N,M)种候选码率输出组合,其中,C(N,M)表示从N个质量等级中,选择M个质量等级的不同方案的组合数。
可以理解的是,不同的候选码率输出组合所包括的M个目标码率不同。
示例性的,若N=3,M=2,则C(N,M)表示从3个质量等级中,选择2个质量等级的不同方案的组合数。即最终输出3种候选码率输出组合,即第一种候选码率输出组合为Rate1=BW1、Rate2=BW2;第二种候选码率输出组合为Rate1=BW1、Rate2=BW3;第三种候选码率输出组合为Rate1=BW2、Rate2=BW3。
S1022b、将至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合。
本发明实施例中的性能指标可以为:终端通过服务器输出的码率序列所能达到的终端体验,性能指标最大为:通过至少一种候选码率输出组合中任意一个候选码率输出组合中的每个码率,能够使得整体终端体验最优。
作为一种可能的实施例,示例性的,本发明实施例中的性能指标可以用平均码率衡量。
由于C(N,M)种候选码率输出组合中计算每个候选码率输出组合的方式和原理均相同,本发明实施例以第一候选码率输出组合为例进行说明,并不具有任何指示性含义,具体的,该第一候选码率输出组合为C(N,M)种候选码率输出组合中任意一种。
可选的,在步骤S1022b之前,还包括:
S1024b、服务器获取第一候选码率输出组合中每个目标码率对应的网络连接的数量,第一候选码率输出组合为至少一种候选码率输出组合中任意一种。
S1025b、服务器根据每个目标码率,以及每个目标码率对应的网络连接的数量,计算第一候选码率输出组合的平均码率。
示例性的,步骤S1025b可以通过以下方式实现:
AvgRate=(Rate1×K1+Rate2×K2+...+RateM×KM)/(K1+K2+...KM)
其中,AvgRate为第一候选码率输出组合的平均码率,K1为码率Rate1对应的网络连接数量,K2为码率Rate2对应的网络连接数量,…,KM为码率RateM对应的网络连接数量。
例如,以N=3,M=2,质量等级表为:{BW1=0.5Kbps、BW2=1.5Kbps、BW3=2.0Kbps}为例进行说明,则第一候选码率输出组合包括的M个候选码率可以为Rate1=BW1=0.5Kbps、Rate2=BW2=1.5Kbps,第二候选码率输出组合包括的M个候选码率可以为Rate1=BW1=0.5Kbps、Rate2=BW3=2.0Kbps,第三候选码率输出组合包括的M个候选码率可以为Rate1=BW2=1.5Kbps、Rate2=BW3=2.0Kbps。假设0.5Kbps对应的网络连接数量为一百万个,1.5Kbps对应的网络连接数量为两百万个,2.0Kbps对应的网络连接数量为一百万个。那么,第一候选码率输出组合的平均码率为:
AvgRate1=(0.5Kbps×100+1.5Kbps×200)/(100+200)=1.166Kbps;
第二候选码率输出组合的平均码率为:
AvgRate2=(0.5Kbps×100+2.0Kbps×100)/(100+100)=1.25Kbps;
第三候选码率输出组合的平均码率为:
AvgRate3=(1.5Kbps×200+2.0Kbps×100)/(200+100)=1.67Kbps。由于AvgRate1<AvgRate2<AvgRate3,因此,S1032b所确定的目标候选码率输出组合为第三候选码率输出组合,则第三候选码率输出组合所包括的M个目标码率为服务器输出的不同码流分别对应的码率,即输出的码流对应的码率分别为:1.5Kbps和2.0Kbps。
S1023b、服务器按照目标候选码率输出组合中包括的M个目标码率输出M个不同码率的码流。
可选的,本发明实施例中的步骤S101可以通过以下方式实现:
S1011、服务器在预设时间内,计算每个网络连接对应的发送缓冲区内的数据量变化。
服务器对每个网络连接,执行下述步骤S1012以确定出每个网络连接的网络质量:
S1012、服务器将多个网络连接中的一个网络连接的发送缓冲区内的数据量变化与预设时间之商,确定为一个网络连接的网络质量。
本发明实施例对预设时间不进行限定,在实际使用过程中可以根据需要进行确定。
本发明实施例中的发送缓冲区可以为TCP/UDP发送缓冲区,该发送缓冲区为每个网络连接独享,不同于转码器某个码率的输出缓冲区。
例如,通过计算特定时间段Δt内,发送缓冲区内数据的变化Δs,Δs/Δt即是该时间段内检测得到的该网络连接可获得的网络带宽。考虑网络带宽的波动性,可采用平滑滤波器对检测得到的网络带宽作平滑。比如BW=(α*BW+β*Δs/Δt),本发明实施例中的α+β=1,例如,α=1/2,β=1/2。
由于网络连接的带宽不同时间段会存在差异,因此,需要根据实时监测的网络连接的带宽及时更新质量等级表。对于每个网络连接更新其所属的质量等级的方式和原理相同。因此,本发明实施例将以第一网络连接为例说明,该第一网络连接为多个网络连接中的任一个网络连接,并不具有任何指示性含义。
可选的,在本发明实施例的步骤S1022之前,还包括步骤:
S105、检测当前检测时刻第一网络连接所属的质量等级,第一网络连接为多个网络连接中任一个。
S106、服务器在确定第一网络连接所属的质量等级为第一质量等级时,将第一质量等级对应的网络连接数量加1,以及若在当前检测时刻之前的一个检测时刻所述第一网络连接所属的质量等级为N个质量等级中任一个质量等级,则将所述任一个质量等级对应的网络连接数量减1,并更新所述质量等级表,第一质量等级为N个质量等级中任一个。
可以理解的是,本发明实施例中服务器在确定码流的码流时,若质量等级表存在更新,则以更新后的质量等级表确定码流的码流,当然在更新质量等级表时,不仅可以更新质量等级表中每个质量等级对应的网络连接数量,还可以根据多个网络连接中每个网络连接的网络质量更新质量等级表中每个质量等级。
可选的,本发明实施例在执行S106之前,还可以包括:
S107、判断第一网络连接在第一检测时刻之前最近一次是否存在所属的质量等级,若存在,则执行S106。若不存在,则不执行S106。
可以理解的是,若第一网络连接之前存在质量等级,则在执行完步骤S104之后若确定第一网络连接在第一检测时刻之前最近一次存在所属的质量等级,则执行S105。
例如,第一网络连接检测到的网络带宽为BW0,则将BW0归约为仅小于BW0的一个参数分级,比如BW0=1.8kbps,则将BW0归约为BW3=1.5kbps,将新对应参数分级BW3的网络连接数量L3加1,如果存在旧的对应参数分级的网络连接数Lx,则将其减1。
可选的,一方面,本发明实施例中的步骤S1021可以通过以下方式实现:
S10211a、服务器确定第二网络连接的网络质量位于质量等级表中相邻的两个质量等级之间,则确定第二网络连接的质量等级为相邻的两个质量等级中质量等级较低的,其中,第二网络连接为多个网络连接中的任一个。
可选的,服务器若确定第二网络连接的网络质量位于第二质量等级所指示的参数值和第三质量等级所指示的参数值之间,则将第二质量等级确定为第二网络连接所属的质量等级,第二质量等级所指示的参数值低于第三质量等级所指示的参数值,第二质量等级和第三质量等级为所述N个质量等级中任意两个相邻的质量等级。
例如,质量等级表为:{BW1=0.5Kbps、BW2=1.0Kbps、BW3=1.5Kbps、BW4=2.0Kbps、BW5=2.5Kbps},若检测到第二网络连接的网络质量为1.8Kbps,由于1.5Kbps<1.8Kbps<2.0Kbps,则确定BW3为第二网络连接所属的质量等级。
可选的,另一方面本发明实施例中的步骤S1021可以通过以下方式实现:
S1021b,服务器确定第二网络连接的网络质量与N个质量等级中任一个质量等级所指示的参数值相等,则确定第二网络连接的质量等级为N个质量等级中与第二网络连接的网络质量相等的质量等级。
例如,质量等级表为:{BW1=0.5Kbps、BW2=1.0Kbps、BW3=1.5Kbps、BW4=2.0Kbps、BW5=2.5Kbps},若检测到第二网络连接的网络质量为1.0Kbps,由于1.0Kbps=BW2,则确定BW2为第二网络连接所属的质量等级。
可选的,又一方面本发明实施例中的步骤S1021可以通过以下方式实现:
S1021c、确定第二网络连接的网络质量大于N个质量等级中最大的质量等级,则确定第二网络连接的质量等级为所述最大的质量等级。
例如,质量等级表为:{BW1=0.5Kbps、BW2=1.0Kbps、BW3=1.5Kbps、BW4=2.0Kbps、BW5=2.5Kbps},若检测到第二网络连接的网络质量为3.0Kbps,由于3.0Kbps大于BW5,则确定BW5为第二网络连接所属的质量等级。
可选的,再一方面本发明实施例中的步骤S1021可以通过以下方式实现:
S1021d、确定第二网络连接的网络质量小于N个质量等级中最小的质量等级,则确定第二网络连接的质量等级为最小的质量等级。
例如,质量等级表为:{BW1=0.5Kbps、BW2=1.0Kbps、BW3=1.5Kbps、BW4=2.0Kbps、BW5=2.5Kbps},若检测到第二网络连接的网络质量为0.3Kbps,由于0.3小于大于BW1,则确定BW1为第二网络连接所属的质量等级。
上述主要从服务器的角度对本发明实施例提供的方案进行了介绍。可以理解的是,服务器等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本发明实施例可以根据上述方法示例对服务器等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图5a示出了上述实施例中所涉及的服务器的一种可能的结构示意图,服务器10包括:监测单元101,以及确定单元102以及输出单元103。其中,监测单元101用于支持服务器10执行上述实施例中描述的过程S101(具体的可以为S1011、以及S1012),确定单元102用于支持服务器10执行上述实施例中描述的过程S102(具体的,如S1022)、S1023b、S1021a、S1022b、S1021b、S1024b、S1025b。输出单元103,用于支持服务器执行步骤S103。可以理解的是,本发明实施例中的服务器还可以包括:获取单元104、链接单元105以及更新单元106,其中,确定单元103用于支持服务器执行上述实/施例中的步骤S1021(具体的可以为S10211a和S10211b),链接单元104用于支持服务器10执行上述实施例中的步骤S104(例如,S104a、S104b、S104c以及S104d),获取单元104用于支持服务器10执行上述实施例中的步骤S1021,更新单元105用于支持服务器10执行上述实施例中的步骤S105以及S106以及S107。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可以理解的是,本发明实施例中的确定单元102、输出单元103即为如图2所示的转码器,监测单元101、获取单元104、更新单元106即为图2a所示的负载监控单元40。
在采用集成的单元的情况下,图5b示出了上述实施例中所涉及的服务器的一种可能的结构示意图。服务器10包括:处理模块1101和通信模块1102。处理模块1101用于对服务器10的动作进行控制管理,例如,处理模块1101用于支持服务器10执行上述实施例中所描述的步骤中的描述的过程S101(具体的可以为S1011、以及S1012)、S102(具体的,如S1022)、S1023b、S1021a、S1022b、S1021b、S1025b、S1021(具体的可以为S10211a和S10211b)、步骤S103或者S104(例如,S104a、S104b、S104c以及S104d)、S105以及S106以及S107。和/或用于本文所描述的技术的其它过程。通信模块1102用于支持服务器10与其他网络实体的通信,例如,支持服务器10与终端进行通信,服务器10还可以包括存储模块1103,用于存储服务器10的程序代码和数据。
其中,处理模块1101可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1102可以是收发器、收发电路或通信接口201等。存储模块1103可以是存储器。
当处理模块1101为处理器,通信模块1102为通信接口201,存储模块1103为存储器时,本发明实施例所涉及的服务器10可以为图5c所示的服务器。
参阅图5c所示,该服务器10包括:处理器202、通信接口201、存储器203以及总线204。其中,通信接口201、处理器202以及存储器203通过总线204相互连接;总线204可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5c中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
一方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机可读存储介质在计算机上运行时,使得服务器执行上述实施例中的步骤S101(具体的可以为S1011、以及S1012)、S102(具体的,如S1022)、S1023b、S1021a、S1022b、S1021b、S1025b、S1021(具体的可以为S10211a和S10211b)、步骤S103或者S104(例如,S104a、S104b、S104c以及S104d)、S105以及S106以及S107。
在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例多描述的流程或功能。所述计算机可以使通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点,计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线DSL)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以使磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(SolidStste Disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种确定流媒体码率的方法,其特征在于,包括:
监测客户端访问服务器时的多个网络连接中至少一个网络连接的网络质量;
按照所述至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,所述M个不同码率中至少一个码率与所述至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差,M为大于或等于1的整数;
根据所述M个不同码率,输出M个码流,所述M个码流中每个码流与一个码率对应;
其中,所述按照所述至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,包括:
根据所述每个网络连接的网络质量,确定每个网络连接所属的质量等级,以得到质量等级表,所述质量等级表包括N个质量等级以及所述N个质量等级中每个质量等级对应的网络连接的数量,其中,所述至少一个网络连接中任一个网络连接的质量等级为所述N个质量等级中的一个质量等级,或者为所述N个质量等级中相邻的两个质量等级中质量等级较低的,所述N为大于或等于1的整数;
根据所述质量等级表,确定包括M个不同码率的码率序列,所述M个不同码率中至少一个码率与所述N个质量等级中的一个质量等级之间的误差小于预设误差;
其中,所述根据所述质量等级表,确定包括M个不同码率的码率序列,包括:若M小于N,则获取候选码率输出列表,所述候选码率输出列表包括至少一种候选码率输出组合,一种候选码率输出组合包括所述N个质量等级中的M个质量等级所确定的M个目标码率;
将所述至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合;
将所述目标候选码率输出组合中包括的M个目标码率确定为所述码率序列;
其中,所述性能指标为平均码率,所述将所述至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合之前,所述方法还包括:
获取第一候选码率输出组合中每个目标码率对应的网络连接的数量,所述第一候选码率输出组合为所述至少一种候选码率输出组合中任意一种;
根据所述每个目标码率,以及所述每个目标码率对应的网络连接的数量,计算所述第一候选码率输出组合的平均码率。
2.根据权利要求1所述的方法,其特征在于,所述根据所述M个不同码率,输出码流之后,所述方法还包括:
根据所述多个网络连接中每个网络连接的网络质量,将所述每个网络连接链接到对应的缓冲区。
3.根据权利要求2所述的方法,其特征在于,所述M个不同码率按照第一预设等级排序,根据所述多个网络连接中每个网络连接的网络质量,将所述每个网络连接链接到对应的缓冲区,包括:
确定所述多个网络连接中存在至少一个网络连接的网络质量位于所述M个不同码率中相邻的两个码率之间,将所述至少一个网络连接链接到所述相邻的两个码率中等级较低的码率对应的缓冲区;
或者,
确定所述多个网络连接中存在至少一个网络连接的网络质量与所述M个不同码率中任一个码率相等,则将所述至少一个网络连接链接到第一缓冲区,所述第一缓冲区为所述任一个码率对应的缓冲区或者小于所述任一个码率的目标码率对应的缓冲区;
或者;
确定所述多个网络连接中存在至少一个网络连接的网络质量大于所述M个不同码率中最大的码率,则将所述至少一个网络连接链接到所述最大的码率对应的缓冲区;
或者;
确定所述多个网络连接中存在至少一个网络连接的网络质量小于所述M个不同码率中最小的码率,则将所述至少一个网络连接链接到所述最小的码率对应的缓冲区。
4.根据权利要求1-3任一项所述的方法,其特征在于,当M大于或等于N时,所述质量等级表包括的N个质量等级中每个质量等级均与所述M个不同码率中至少一个码率之间的误差小于预设误差。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述监测客户端访问服务器时的多个网络连接中每个网络连接的网络质量,包括:
在预设时间内,计算每个网络连接对应的发送缓冲区内的数据量变化;
对所述每个网络连接,执行下述步骤以确定出所述每个网络连接的网络质量:
将所述多个网络连接中的一个网络连接的发送缓冲区内的数据量变化与所述预设时间之商,确定为所述一个网络连接的网络质量。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述质量等级表,确定包括M个不同码率的码率序列之前,所述方法还包括:
检测当前检测时刻第一网络连接所属的质量等级,所述第一网络连接为所述多个网络连接中任一个;
在确定所述第一网络连接所属的质量等级为第一质量等级时,将所述第一质量等级对应的网络连接数量加1,所述第一质量等级为所述N个质量等级中任一个;
若在当前检测时刻之前的一个检测时刻,所述第一网络连接所属的质量等级为所述N个质量等级中任一个质量等级,则将所述任一个质量等级对应的网络连接数量减1,并更新所述质量等级表。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述N个质量等级中每个质量等级按照第二预设等级排序,所述根据所述每个网络连接的网络质量,确定每个网络连接所属的质量等级,包括:
确定第二网络连接的网络质量位于所述质量等级表中相邻的两个质量等级之间,则确定所述第二网络连接的质量等级为所述相邻的两个质量等级中质量等级较低的,其中,所述第二网络连接为所述多个网络连接中的任一个;
或者,确定所述第二网络连接的网络质量与所述N个质量等级中任一个质量等级所指示的参数值相等,则确定所述第二网络连接的质量等级为所述N个质量等级中与所述第二网络连接的网络质量相等的质量等级;或者,
确定所述第二网络连接的网络质量大于所述N个质量等级中最大的质量等级,则确定所述第二网络连接的质量等级为所述最大的质量等级;
或者,
确定所述第二网络连接的网络质量小于所述N个质量等级中最小的质量等级,则确定所述第二网络连接的质量等级为所述最小的质量等级。
8.一种确定流媒体码率的装置,其特征在于,包括:
监测单元,用于监测客户端访问服务器时的多个网络连接中至少一个网络连接的网络质量;
确定单元,用于按照所述至少一个网络连接中每个网络连接的网络质量,确定包括M个不同码率的码率序列,所述M个不同码率中至少一个码率与所述至少一个网络连接中的一个网络连接的网络质量之间的误差小于预设误差,M为大于或等于1的整数;
输出单元,用于根据所述M个不同码率,输出码流;
其中,所述装置还包括:获取单元,用于根据所述每个网络连接的网络质量,确定每个网络连接所属的质量等级,以得到质量等级表,所述质量等级表包括N个质量等级以及所述N个质量等级中每个质量等级对应的网络连接的数量,其中,所述至少一个网络连接中任一个网络连接的质量等级为所述N个质量等级中相邻的两个质量等级中质量等级较低的或者为所述N个质量等级中的一个质量等级,所述N为大于或等于1的整数;
所述确定单元,还用于根据所述质量等级表,确定包括M个不同码率的码率序列,所述M个不同码率中至少一个码率与所述N个质量等级中的一个质量等级之间的误差小于预设误差;
其中,所述确定单元具体用于:
若M小于N,则获取候选码率输出列表,所述候选码率输出列表包括至少一种候选码率输出组合,一种候选码率输出组合包括所述N个质量等级中的M个质量等级所确定的M个目标码率;
将所述至少一种候选码率输出组合中,性能指标最大的候选码率输出组合确定为目标候选码率输出组合;
将所述目标候选码率输出组合中包括的M个目标码率确定为所述码率序列;
其中,所述性能指标为平均码率,所述确定单元还用于:
确定第一候选码率输出组合中每个目标码率对应的网络连接的数量,所述第一候选码率输出组合为所述至少一种候选码率输出组合中任意一种;
根据所述每个目标码率,以及所述每个目标码率对应的网络连接的数量,计算所述第一候选码率输出组合的平均码率。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
链接单元,用于根据所述多个网络连接中每个网络连接的网络质量,将所述每个网络连接链接到对应的缓冲区。
10.根据权利要求9所述的装置,其特征在于,所述M个不同码率按照第一预设等级排序,所述链接单元具体用于:
确定所述多个网络连接中存在至少一个网络连接的网络质量位于所述M个不同码率中相邻的两个码率之间,将所述至少一个网络连接链接到所述相邻的两个码率中等级较低的码率对应的缓冲区;或者,
确定所述多个网络连接中存在至少一个网络连接的网络质量与所述M个不同码率中任一个码率相等,则将所述至少一个网络连接链接到第一缓冲区,所述第一缓冲区为所述任一个码率对应的缓冲区或者小于所述任一个码率的目标码率对应的缓冲区;
或者;
确定所述多个网络连接中存在至少一个网络连接的网络质量大于所述M个不同码率中最大的码率,则将所述至少一个网络连接链接到所述最大的码率对应的缓冲区;
或者;
确定所述多个网络连接中存在至少一个网络连接的网络质量小于所述M个不同码率中最小的码率,则将所述至少一个网络连接链接到所述最小的码率对应的缓冲区。
11.根据权利要求8-10任一项所述的装置,其特征在于,当M大于或等于N时,所述质量等级表包括的N个质量等级中每个质量等级均与所述M个不同码率中至少一个码率之间的误差小于预设误差。
12.根据权利要求8-10任一项所述的装置,其特征在于,所述监测单元具体用于:
在预设时间内,计算每个网络连接对应的发送缓冲区内的数据量变化;
对所述每个网络连接,执行下述步骤以确定出所述每个网络连接的网络质量:
将所述多个网络连接中的一个网络连接的发送缓冲区内的数据量变化与所述预设时间之商,确定为所述一个网络连接的网络质量。
13.根据权利要求8-10任一项所述的装置,其特征在于,所述装置还包括:更新单元,用于检测当前检测时刻第一网络连接所属的质量等级,所述第一网络连接为所述多个网络连接中任一个;
在确定所述第一网络连接所属的质量等级为第一质量等级时,将所述第一质量等级对应的网络连接数量加1,所述第一质量等级为所述N个质量等级中任一个;
若在当前检测时刻之前的一个检测时刻所述第一网络连接所属的质量等级为所述N个质量等级中任一个质量等级,则将所述任一个质量等级对应的网络连接数量减1,并更新所述质量等级表。
14.根据权利要求8-10任一项所述的装置,其特征在于,所述N个质量等级中每个质量等级按照第二预设等级排序,所述确定单元具体用于:
确定第二网络连接的网络质量位于所述质量等级表中相邻的两个质量等级之间,则确定所述第二网络连接的质量等级为所述相邻的两个质量等级中质量等级较低的,其中,所述第二网络连接为所述多个网络连接中的任一个;
或者,确定所述第二网络连接的网络质量与所述N个质量等级中任一个质量等级所指示的参数值相等,则确定所述第二网络连接的质量等级为所述N个质量等级中与所述第二网络连接的网络质量相等的质量等级;或者,
确定所述第二网络连接的网络质量大于所述N个质量等级中最大的质量等级,则确定所述第二网络连接的质量等级为所述最大的质量等级;
或者,
确定所述第二网络连接的网络质量小于所述N个质量等级中最小的质量等级,则确定所述第二网络连接的质量等级为所述最小的质量等级。
15.一种服务器,其特征在于,所述服务器包括处理器、存储器、系统总线和通信接口;其中,所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述系统总线连接,当所述服务器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述服务器执行如权利要求1-7中任一项所述的确定流媒体码率的方法。
16.一种计算机可读存储介质,包括指令,当其在服务器上运行时,使得服务器执行如权利要求1-7中任意一项所述的确定流媒体码率的方法。
CN201710128746.4A 2017-03-06 2017-03-06 一种确定流媒体码率的方法和装置 Active CN108540837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710128746.4A CN108540837B (zh) 2017-03-06 2017-03-06 一种确定流媒体码率的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710128746.4A CN108540837B (zh) 2017-03-06 2017-03-06 一种确定流媒体码率的方法和装置

Publications (2)

Publication Number Publication Date
CN108540837A CN108540837A (zh) 2018-09-14
CN108540837B true CN108540837B (zh) 2020-10-16

Family

ID=63489715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710128746.4A Active CN108540837B (zh) 2017-03-06 2017-03-06 一种确定流媒体码率的方法和装置

Country Status (1)

Country Link
CN (1) CN108540837B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218759A (zh) * 2018-09-27 2019-01-15 广州酷狗计算机科技有限公司 推送媒体流的方法、装置、服务器及存储介质
CN109525861A (zh) * 2018-12-05 2019-03-26 北京邮电大学 一种确定用户所需视频的方法及装置
CN110312150B (zh) * 2019-04-24 2022-04-05 网宿科技股份有限公司 一种视频帧传输方法、系统及服务器
WO2021179304A1 (zh) * 2020-03-13 2021-09-16 深圳市大疆创新科技有限公司 自动调整视频直播码率的方法、视频传输装置和服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104010232A (zh) * 2014-05-23 2014-08-27 惠州Tcl移动通信有限公司 一种智能播放在线视频的方法、系统、播放器及移动终端
CN104902275A (zh) * 2015-05-29 2015-09-09 宁波菊风系统软件有限公司 一种控制视频通信质量甜点的方法
CN105407107A (zh) * 2015-12-24 2016-03-16 成都信息工程大学 一种流媒体数据的传输方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832537B1 (ko) * 2006-12-01 2008-05-27 한국전자통신연구원 네트워크 대역폭 상태에 따라 전송량을 가변하는멀티미디어 데이터 스트리밍 서버 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104010232A (zh) * 2014-05-23 2014-08-27 惠州Tcl移动通信有限公司 一种智能播放在线视频的方法、系统、播放器及移动终端
CN104902275A (zh) * 2015-05-29 2015-09-09 宁波菊风系统软件有限公司 一种控制视频通信质量甜点的方法
CN105407107A (zh) * 2015-12-24 2016-03-16 成都信息工程大学 一种流媒体数据的传输方法及装置

Also Published As

Publication number Publication date
CN108540837A (zh) 2018-09-14

Similar Documents

Publication Publication Date Title
CN108540837B (zh) 一种确定流媒体码率的方法和装置
US11924650B2 (en) System, method and service product for content delivery
Ramaboli et al. Bandwidth aggregation in heterogeneous wireless networks: A survey of current approaches and issues
EP2537340B1 (en) Multipath delivery for adaptive streaming
US9660922B2 (en) Network assisted rate shifting for adaptive bit rate streaming
US9819597B2 (en) Adaptive bit rate for data transmission
EP2992652B1 (en) Managing bandwidth allocation among flows through assignment of drop priority
JP5643314B2 (ja) ネットワークにおけるリソースの割当てを管理するための方法および装置
US9137278B2 (en) Managing streaming bandwidth for multiple clients
US8640174B2 (en) Method for retrieving content, wireless communication device and communication system
US11190615B2 (en) Technique for enhancing rendering of displayable content
CN108668146B (zh) 一种调整流媒体码率的方法及设备
CN109729396B (zh) 视频分片数据传输方法和装置
EP3563540B1 (en) Method and system for providing variable quality streaming video services in mobile communication networks
TW201521394A (zh) 在網路裝置所執行之進行流量對話中分配該網路可用頻寬之方法及其裝置
Pu et al. Dynamic adaptive streaming over HTTP from multiple content distribution servers
CN105556922A (zh) 网络中的dash表示自适应
JP5656479B2 (ja) 無線送信装置および送信方法
Belmoukadam et al. On accounting for screen resolution in adaptive video streaming: QoE‐driven bandwidth sharing framework
WO2012072276A1 (en) Transport bit-rate adaptation in a multi-user multi-media conference system
EP3398369A1 (en) Data network management
KR20130048442A (ko) 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템
KR20100078470A (ko) 무선 인터넷 환경에서의 스트리밍 콘텐츠 전송 방법
Abdelsalam et al. Analysis of DASH performance over time-varying end-to-end links
Hoßfeld et al. Close to optimum?

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