CN109982110B - 用于视频播放的方法和装置 - Google Patents

用于视频播放的方法和装置 Download PDF

Info

Publication number
CN109982110B
CN109982110B CN201711462674.3A CN201711462674A CN109982110B CN 109982110 B CN109982110 B CN 109982110B CN 201711462674 A CN201711462674 A CN 201711462674A CN 109982110 B CN109982110 B CN 109982110B
Authority
CN
China
Prior art keywords
video
rate
code rate
bitrate
sending
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
CN201711462674.3A
Other languages
English (en)
Other versions
CN109982110A (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 CN201711462674.3A priority Critical patent/CN109982110B/zh
Publication of CN109982110A publication Critical patent/CN109982110A/zh
Application granted granted Critical
Publication of CN109982110B publication Critical patent/CN109982110B/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种用于视频播放的方法和装置,该方法包括:接收客户端的视频播放请求,该视频播放请求包括视频参数,该视频参数包括视频的缓冲量和视频分片的码率;根据该视频参数和服务器负载,确定发送该视频分片的速率;以该速率向该客户端发送该视频分片。本申请实施例有助于服务器在用户体验大致不变的情况下减少更多带宽成本,或者在相同带宽成本的情况下,提供更高的用户体验。

Description

用于视频播放的方法和装置
技术领域
本申请涉及图像显示领域,并且更具体地,涉及用于视频播放的方法和装置。
背景技术
伴随着视频内容的不断丰富和用户接入网络带宽的不断增加,互联网视频流量正在经历爆发式增长。由于互联网的异构特质,用户的接入带宽参差不齐,为了保证用户体验,内容提供商一般提供多种码率,从几百k到数十M的码率,并保存在服务器侧。这样用户就可以根据自身接入带宽选择合适的码率进行访问。
通常情况下,对于每一个视频内容,服务器保留一份该视频内容的索引文件。该索引文件中记录了该视频一共有多少种不同的码率,每个码率的具体数值有多少,该视频的长度为多少等。当用户请求一个视频内容时,视频播放器会先去服务器侧请求该视频内容的索引文件,然后用户可以根据该索引文件中的码率信息从中选择指定的视频码率进行视频播放,或者用户选择码率自适应模式,则播放器自动的从索引文件中的视频码率选择视频码率进行视频播放。
服务器带宽成本通常以服务器发送的总带宽的峰值计价。传统方案中,为了减少带宽成本,服务器通常根据播放器中的视频的缓冲量,采取限速的方法来减少带宽成本。例如,在视频的缓冲量大时,尽量加大限速;在视频的缓冲量小时,尽量减少限速。但是,传统方案中,由于限速方式根据缓冲量采用离散区间限速,限速方式不够精细,存在用户体验不佳或带宽成本较高的问题。
发明内容
本申请提供一种用于视频播放的方法和装置,能够有助于减少带宽成本或提高用户体验。
第一方面,提供了一种用于视频播放的方法,该方法包括:接收客户端的视频播放请求,该视频播放请求包括视频参数,该视频参数包括视频的缓冲量和视频分片的码率;根据该视频参数和服务器负载,确定发送该视频分片的速率;以该速率向该客户端发送该视频分片。
服务器接收包括视频的缓冲量和视频分片的码率的视频参数,并根据该视频参数和服务器负载确定发送视频分片的速率,进而以该速率发送该视频分片,从而有助于服务器在用户体验大致不变的情况下减少更多带宽成本,或者在相同带宽成本的情况下,提供更高的用户体验。
在一些可能的实现方式中,该根据该视频参数和服务器负载,确定发送该视频分片的速率包括:根据该视频的缓冲量和该服务器负载,确定发送该视频分片的速率与该视频分片的码率的比值;根据该比值和该视频分片的码率,确定发送该视频分片的速率。
视频参数包括视频的缓冲量和视频分片的码率,这样服务器可以根据视频的缓冲量和服务器负载确定发送视频分片的速率与视频分片的码率的比值,再根据该比值和视频分片的码率确定发送该视频分片的速率,这样有助于服务器提供更高的用户体验。
在一些可能的实现方式中,该视频参数还包括视频播放模式,其中,该根据该比值和该视频分片的码率,确定发送该视频分片的速率包括:根据该比值,该视频分片的码率和该视频播放模式,确定发送该视频分片的速率。
服务器可以为不同的视频播放模式确定不同的视频分片的速率,提高了可用带宽的利用率,进而提高了视频播放质量。
在一些可能的实现方式中,该根据该视频的缓冲量和该服务器负载,确定发送该视频分片的速率与该视频分片的码率的比值包括:根据λ和η,确定
Figure BDA0001530613570000021
其中,λ表示该视频的缓冲量,η表示服务器负载,N表示发送该视频分片的速率与该视频分片的码率的比值,A,B和C为预设值。
本申请实施例通过设置A,B和C的值,在保证用户体验大致不变的情况下可以在用户访问量为高峰时加大限速,而在用户访问量处于非高峰时,尽量减少限速,从而提高了带宽利用率。
在一些可能的实现方式中,该根据该比值,该视频分片的码率和该视频播放模式,确定发送该视频分片的速率包括:若该视频播放模式为固定码率播放模式,则D=r*N,其中r表示该视频分片的码率,D表示发送该视频分片的速率。
本申请实施例能够通过指数函数的限速方法,提高限速精细化,平滑视频发送速率,以及减少视频发送速率波动造成的视频码率的频繁切换,从而提高了用户体验。
在一些可能的实现方式中,该根据该比值,该视频分片的码率和该视频播放模式,确定发送该视频分片的速率包括:在该视频播放模式为码率自适应播放模式的情况下,确定该视频分片的码率是否为索引文件中的最高等级的码率,该索引文件包括该视频的多个等级的码率;若该视频分片的码率是该索引文件中的最高等级的码率,则D=r*N,其中r表示该视频分片的码率,D表示发送该视频分片的速率;若该视频分片的码率不是该索引文件中的最高等级的码率,则D=r+*N,其中,r+表示高于该视频分片的码率至少一个等级的码率。
由于服务器确定的视频分片的发送速率小于为该视频分片的码率,本申请实施例根据高于该视频分片的码率至少一个等级的码率确定发送该视频分片的速率,有助于提高可用带宽的利用率。
第二方面,提供了一种用于视频播放的装置,该装置可以是终端设备,也可以是该终端设备内的芯片。该用于视频播放的装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。
在一种可能的设计中,当该用于视频播放的装置为终端设备时,终端设备包括:处理模块和收发模块,所述处理模块例如可以是处理器,所述收发模块例如可以是收发器,所述收发器包括射频电路,可选地,所述终端设备还包括存储模块,该存储模块例如可以是存储器。当终端设备包括存储模块时,该存储模块用于存储计算机执行指令,该处理模块与该存储模块连接,该处理模块执行该存储模块存储的计算机执行指令,以使该终端设备执行上述第一方面任意一项的用于视频播放的方法。
在另一种可能的设计中,当该装置为终端设备内的芯片时,该芯片包括:处理模块和收发模块,所述处理模块例如可以是处理器,所述收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等。该处理模块可执行存储模块存储的计算机执行指令,以使该终端设备内的芯片执行上述第一方面任意一项的用于视频播放的方法。可选地,所述存储模块为所述芯片内的存储模块,如寄存器、缓存等,所述存储模块还可以是所述终端设备内的位于所述芯片外部的存储模块,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。
其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述第一方面的用于视频播放的方法的程序执行的集成电路。
第三方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码用于指示执行上述第一方面或其任意可能的实现方式中的方法的指令。
第四方面,提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机执行上述第一方面或其任意可能的实现方式中的方法。
基于上述方案,服务器接收包括视频的缓冲量和视频分片的码率的视频参数,并根据该视频参数和服务器负载确定发送视频分片的速率,进而以该速率发送该视频分片,从而有助于服务器在用户体验大致不变的情况下减少更多带宽成本,或者在相同带宽成本的情况下,提供更高的用户体验。
附图说明
图1是传统方案中用于视频播放的方法的示意性流程图;
图2是固定码率播放模式下视频分片传输的示意图;
图3是自适应码率播放模式下视频分片传输的示意图;
图4是播放器的视频缓冲大小与视频分片的发送速率的对应关系的示意图;
图5是本申请实施例的用于视频播放的方法的示意性流程图;
图6是本申请实施例中视频分片发送速率与视频缓冲量的映射关系的示意图;
图7是不同时段的用户访问量的示意图;
图8是本申请实施例中不同服务器负载情况下视频分片发送速率与视频缓冲量的映射关系的示意图;
图9是本申请另一个实施例的用于视频播放的方法的示意性流程图;
图10是本申请实施例的用于视频播放的装置的示意性框图;
图11是本申请实施例的用于视频播放的装置的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例可以应用于包括视频播放器的终端设备中,例如,终端设备可以是具有显示功能的多种处理设备。例如,可以是具有显示功能的用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理、用户装置或用户设备(UE,User Equipment),还可以是智能手机、个人电脑、平板电脑、无绳电话、手持设备、车载设备等其它计算机设备,但本申请并不限于此。
图1示出了传统方案中用于视频播放的方法的示意性流程图。
101,播放器向服务器发送视频索引文件请求;
102,服务器将视频索引文件(mpd)反馈给播放器;
视频索引文件包括视频的至少一个码率。具体地,视频索引文件可以包括与该视频相关的各种描述信息,例如,时延,码率,播放器标识等。
例如,视频索引文件的内容可以如下:
bandwidth=“760472”,duration=“4000”,id=“video/1”
103,播放器解析该视频索引文件,并根据该视频索引文件确定视频分片的码率;
一个视频可以划分为多个视频分片,每个视频分片的时间长度相同,即视频的大小可以通过视频分片的多少来表示。其中,视频分片通常为2s-10s的时长。
视频播放模式包括固定码率播放模式和自适应码率播放模式。其中,固定码率播放模式是指一个视频的每个视频分片采用的码率相同;自适应码率播放模式是指不同的视频分片可以分别根据网络质量情况采用不同的码率。
在用户需求固定码率播放模式的情况下,视频分片的码率不会随着视频传输带宽而变化。例如,图2是用户请求8000kbps的码率的播放模式下的视频分片传输的示意图。
在用户需求自适应码率播放模式的情况下,视频分片的码率会随着视频传输带宽而变化。如图3所示,播放器可以在视频索引文件中为不同的视频分片选择不同的码率,例如,播放器可以根据当前接入带宽请求合适的码率,网络质量越好,选择越高的码率进行视频播放。
104,播放器向服务器发送视频参数,该视频参数包括视频分片的码率,以及播放器中的视频缓冲量;
若视频播放模式为固定码率播放模式,则播放器可以仅指示一个视频分片的码率,其他视频分片的码率与指示的码率相同,视频缓冲量是指播放器当前缓存的视频时长。
105,服务器根据该视频参数,确定该视频分片的发送速率;
服务器可以设定N个离散区间,并确定视频参数中的视频缓冲量所属的离散区间,这样服务器可以根据该视频缓冲量所属的离散区间和视频分片的码率确定该视频分片的发送速率。
例如,如图4所示,服务器可以设定3个离散区间,当播放器的视频缓冲量小于阈值1时,服务器发送该视频分片的发送速率为该视频分片码率的5倍;当播放器的视频缓冲量大于阈值1且小于阈值2时,服务器发送该视频分片的发送速率为该视频分片码率的2倍;当播放器的视频缓冲量小于阈值2时,服务器发送该视频分片的发送速率为该视频分片码率的1倍。
其中,阈值1可以为30s,阈值2为100s。
106,服务器根据每个视频分片的发送速率发送相应地的视频分片。
服务器带宽成本通常以服务器发送的总带宽的峰值计价。传统方案中,为了减少带宽成本,服务器通常根据播放器中的视频的缓冲量,采取限速的方法来减少带宽成本。例如,在视频的缓冲量大时,尽量加大限速;在视频的缓冲量小时,尽量减少限速。但是,传统方案中,存在用户体验不佳或带宽成本较高的问题。
图5示出了本申请实施例的用于视频播放的方法的示意性流程图。
501,服务器接收视频参数,该视频参数包括视频的缓冲量和视频分片的码率。
可选地,该视频参数可以携带在视频播放请求中,也可以携带在其他信息中,本申请对此不进行限定。
播放器检测当前时刻已经缓冲的视频的缓冲量,即可播放的视频时长,该视频时长可以以视频分片为单位。播放器向服务器发送视频参数,该视频参数包括播放器检测到的视频的缓冲量,以及播放器想要为某一个视频分片请求的码率。
502,服务器根据该视频参数和服务器负载,确定发送该视频分片的速率。
具体地,服务器负载可以是服务器的用户访问量。服务器可以在用户访问量高峰时加大限速;服务器在用户访问量处于非高峰时减小限速。这样本申请实施例能够在用户体验大致不变的情况下减少更多带宽成本,或者在相同带宽成本的情况下,提供更高的用户体验。
应理解,该发送视频分片的速率即服务器分配给该视频分片的带宽。
可选地,视频参数包括视频的缓冲量和视频分片的码率,这样服务器可以根据视频的缓冲量和服务器负载确定发送视频分片的速率与视频分片的码率的比值,再根据该比值和视频分片的码率确定发送该视频分片的速率。
可选地,服务器可以根据该比值和视频分片的码率,以及结合视频播放模式,确定发送该视频分片的速率。该视频播放模式为固定码率播放模式或码率自适应播放模式,也就是说,服务器可以为不同的视频播放模式确定不同的视频分片的速率。
具体地,该视频播放模式可以通过一个参数值m表示,例如,m=0表示该播放模式为固定码率播放模式,m=1表示该播放模式为码率自适应播放模式。
可选地,服务器可以根据λ和η,确定
Figure BDA0001530613570000051
其中,λ表示该视频的缓冲量,η表示服务器负载,N表示发送该视频分片的速率与该视频分片的码率的比值,A,B和C为预设值。
具体地,λ和N的函数关系可以通过图6所示。其中,A,B和C各自的预设值在不同的视频播放模式的情况下可以全部不同,部分不同或者全部相同,本申请对此不进行限定。例如,在视频播放模式为固定码率播放模式的情况下的A,B和C的取值与在视频播放模式为自适应播放模式的情况下的A,B和C的取值相同;或者固定码率播放模式的A、B的取值与自适应播放模式的A、B的取值相同,而固定码率播放模式的C的取值与自适应播放模式的C的取值不同。
应理解,A,B和C的预设值可以是根据经验和体验指标设定的。
传统方案中,服务器根据播放器的视频缓冲量将发送视频分片的发送速率划分为多级发送速率阈值,若发送速率阈值设置偏少,则服务器可用带宽由于缺乏精细化划分降低了服务带宽的有效利用,若发送速率阈值设置偏多,则服务器会存在调优困难。此外,多级发送速率阈值还可能导致播放器视频缓冲处于阈值临界区时,视频发送速率波动较大,这样对于采用自适应播放模式的播放器可能会出现码率频繁切换,从而使得用户体验降低,本申请实施例能够通过上述指数函数的限速方法,提高限速精细化,平滑视频发送速率,以及减少视频发送速率波动造成的视频码率的频繁切换,从而提高了用户体验。
例如,如图7所示,用户访问量通常呈现出浪涌现象(例如,晚高峰)或具有突发性(例如,热点视频的上线),而服务器带宽成本通常以服务器发送视频分片的总带宽的峰值计价,因此,本申请实施例中在保证用户体验大致不变的情况下可以在用户访问量为高峰时加大限速,而在用户访问量处于非高峰时,尽量减少限速,如图8所示,这样提高了带宽利用率。
下面以A,B和C的预设值在不同的视频播放模式的情况下可以全部相同为例进行说明。
可选地,服务器根据发送该视频分片的速率与该视频分片的码率的比值,该视频分片的码率和该视频播放模式,确定发送该视频分片的速率具体可以是:在视频播放模式为固定码率播放模式的情况下,发送该视频分片的速率D=r*N,其中r表示该视频分片的码率。
可选地,在视频播放模式为码率自适应播放模式的情况下,服务器确定该视频分片的码率是否为索引文件中的最高等级的码率,若是最高等级的码率,则发送该视频分片的速率D=r*N;若不是最高等级的码率,则发送该视频分片的速率D=r+*N,其中,r+表示高于该视频分片的码率至少一个等级的码率。
具体地,索引文件包括某一个视频的多个等级的码率,例如,码率等级依次降低8000kbps,3000kbps,2000kbps,1000kbps和500kbps。服务器确定发送视频分片的速率时,若该视频播放模式为码率自适应播放模式的情况下,服务器先确定该视频分片的码率是否为该索引文件中的最高等级的码率。若该视频分片的码率是索引文件中的最高等级的码率,则D=r*N。通常情况下,服务器确定的视频分片的发送速率小于为该视频分片的码率,这样可能导致服务器并不能充分利用可用带宽。因此,若该视频分片的码率不是索引文件的最高等级的码率,则D=r+*N,其中,r+表示高于该视频分片的码率至少一个等级的码率,从而有助于提高可用带宽的利用率。
此外,本申请实施例可以对不同的视频播放模式采用不同的限速策略,尤其对于码率自适应播放模式的情况下,服务器能够考虑视频分片的码率与视频分片的发送速率的关系,提高了可用带宽的利用率,从而提高了视频播放质量。
需要说明的是,r+具体是高于该视频分片的码率一个等级,还是几个等级,服务器可以预先设定,或者可以随机选择,本申请对此不进行限定。
可选地,若A,B和C各自的预设值在固定码率播放模式和自适应播放模式的情况下部分不同或全部不同,则不论在固定码率播放模式还是自适应播放模式的情况下,D=r*N。
503,服务器以发送该视频分片的速率发送该视频分片。相应地,播放器接收该视频分片。
播放器接收到该视频分片,即增加该视频的缓冲,进而可以播放该视频分片。
因此,本申请实施例的用于视频播放的方法,服务器接收包括视频的缓冲量和视频分片的码率的视频参数,并根据该视频参数和服务器负载确定发送视频分片的速率,进而以该速率发送该视频分片,从而有助于服务器在用户体验大致不变的情况下减少更多带宽成本,或者在相同带宽成本的情况下,提供更高的用户体验。
图9示出了本申请实施例的用于视频播放的方法的流程图。
901,播放器向服务器发送视频索引文件请求,相应地,服务器接收播放器发送的视频索引文件;
902,该视频索引文件请求触发服务器确定当前时刻的服务器负载,并根据当前时刻的服务器负载确定目标索引文件,即服务器根据服务器负载确定目标索引文件包括的码率。
903,服务器将目标索引文件反馈给播放器;
可选地,服务器在步骤901之后,可以直接执行903,即目标索引文件可以包括种类固定的码率,这样服务器在收到视频索引文件请求后,直接反馈目标索引文件。
904,播放器解析该视频索引文件以获知该视频索引文件包括的码率,并选择该视频分片的码率;
播放器可以在目标索引文件中为该视频分片选择合适的码率。
905,播放器向服务器发送视频参数,该视频参数包括该视频分片的码率和播放器中的视频缓冲大小;
可选地,该视频参数可以携带在视频播放请求中。
可选地,该视频参数还可以包括视频播放模式,该视频播放模式可以是固定码率播放模式或自适应码率播放模式。
906,服务器根据该视频参数和服务器负载,确定该视频分片的发送速率;
具体地,在视频播放模式为固定码率播放模式的情况下,服务器可以根据下述公式确定该视频分片的发送速率:
Figure BDA0001530613570000071
以及D=r*N;
在视频播放模式为自适应码率播放模式的情况下,服务器可以根据下述公式确定该视频分片的发送速率:
Figure BDA0001530613570000072
以及D=r+*N。
907,服务器根据该视频分片的发送速率向播放器发送该视频分片,进而使得播放器可以播放该视频分片。
应理解,本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中详细描述了根据本申请实施例的用于视频播放的方法,下面将描述本申请实施例的用于视频播放的装置。
图10示出了本申请实施例的用于视频播放的装置1000的示意性框图。该用于视频播放的装置1000可以为上述服务器。
应理解,该用于视频播放的装置1000可以对应于上述方法实施例中的服务器,可以具有方法中的服务器的任意功能。
该装置1000包括:
收发模块1010,用于接收客户端的视频播放请求,该视频播放请求包括视频参数,该视频参数包括视频的缓冲量和视频分片的码率;
处理模块1020,用于根据该视频参数和服务器负载,确定发送该视频分片的速率;
该收发模块1010,还用于以该速率向该客户端发送该视频分片。
可选地,该处理模块1020具体用于:
根据该视频的缓冲量和该服务器负载,确定发送该视频分片的速率与该视频分片的码率的比值;
根据该比值和该视频分片的码率,确定发送该视频分片的速率。
可选地,该视频参数还包括视频播放模式,该处理模块1020具体用于:
根据该比值,该视频分片的码率和该视频播放模式,确定发送该视频分片的速率。
可选地,该处理模块1020具体用于:
根据λ和η,确定
Figure BDA0001530613570000081
其中,λ表示该视频的缓冲量,η表示服务器负载,N表示发送该视频分片的速率与该视频分片的码率的比值,A,B和C为预设值。
可选地,该处理模块具体用于:
若该视频播放模式为固定码率播放模式,则D=r*N,其中r表示该视频分片的码率,D表示发送该视频分片的速率。
可选地,该处理模块1020具体用于:
在该视频播放模式为码率自适应播放模式的情况下,确定该视频分片的码率是否为索引文件中的最高等级的码率,该索引文件包括该视频的多个等级的码率;
若该视频分片的码率是该索引文件中的最高等级的码率,则D=r*N,其中r表示该视频分片的码率,D表示发送该视频分片的速率;
若该视频分片的码率不是该索引文件中的最高等级的码率,则D=r+*N,其中,r+表示高于该视频分片的码率至少一个等级的码率。
可选地,本申请实施例的用于视频播放的装置1000可以是终端设备,也可以是终端设备内的芯片。
应理解,根据本申请实施例的用于视频播放的装置1000可对应于图5和图9的实施例的用于视频播放的方法中的终端设备,并且用于视频播放的装置1000中的各个模块的上述和其它管理操作和/或功能分别为了实现前述各个方法的相应步骤,为了简洁,在此不再赘述。
可选地,若该用于视频播放的装置1000为终端设备,则本申请实施例中的收发模块1020可以由收发器1110实现,处理模块1010可以由处理器1120实现。如图11所示,用于视频播放的装置1100可以包括收发器1110,处理器1120和存储器1130。其中,存储器1130可以用于存储指示信息,还可以用于存储处理器1120执行的代码、指令等。所述收发器1110可以包括射频电路,可选地,所述终端设备还包括存储模块。
该存储模块例如可以是存储器。当终端设备包括存储模块时,该存储模块用于存储计算机执行指令,该处理模块与该存储模块连接,该处理模块执行该存储模块存储的计算机执行指令,以使该终端设备执行上述用于视频播放的方法。
可选地,若该用于视频播放的装置1000为终端设备内的芯片,则该芯片包括处理模块1010和收发模块1020。收发模块1020可以由收发器1110实现,处理模块1010可以由处理器1120实现。所述收发模块例如可以是输入/输出接口、管脚或电路等。该处理模块可执行存储模块存储的计算机执行指令。所述存储模块为所述芯片内的存储模块,如寄存器、缓存等,所述存储模块还可以是所述终端内的位于所述芯片外部的存储模块,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
应理解,处理器1120可以是集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器1130可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质可以存储用于指示上述任一种方法的程序指令。
可选地,该存储介质具体可以为存储器1130。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种用于视频播放的方法,其特征在于,包括:
接收客户端的视频播放请求,所述视频播放请求包括视频参数,所述视频参数包括视频的缓冲量和视频分片的码率,所述视频分片为视频中的多个视频分片中的其中一个;
根据所述视频参数和服务器负载,确定发送所述视频分片的速率;
以所述速率向所述客户端发送所述视频分片;
其中,所述根据所述视频参数和服务器负载,确定发送所述视频分片的速率包括:
根据所述视频的缓冲量和所述服务器负载,确定发送所述视频分片的速率与所述视频分片的码率的比值;
根据所述比值和所述视频分片的码率,确定发送所述视频分片的速率。
2.根据权利要求1所述的方法,其特征在于,所述根据所述视频的缓冲量和所述服务器负载,确定发送所述视频分片的速率与所述视频分片的码率的比值包括:
根据λ和η,确定
Figure FDA0002689579530000011
其中,λ表示所述视频的缓冲量,η表示服务器负载,N表示发送所述视频分片的速率与所述视频分片的码率的比值,A,B和C为预设值。
3.根据权利要求2所述的方法,其特征在于,所述视频参数还包括视频播放模式,其中,所述根据所述比值和所述视频分片的码率,确定发送所述视频分片的速率包括:
根据所述比值,所述视频分片的码率和所述视频播放模式,确定发送所述视频分片的速率。
4.根据权利要求3所述的方法,其特征在于,所述根据所述比值,所述视频分片的码率和所述视频播放模式,确定发送所述视频分片的速率包括:
若所述视频播放模式为固定码率播放模式,则D=r*N,其中r表示所述视频分片的码率,D表示发送所述视频分片的速率。
5.根据权利要求3所述的方法,其特征在于,所述根据所述比值,所述视频分片的码率和所述视频播放模式,确定发送所述视频分片的速率包括:
在所述视频播放模式为码率自适应播放模式的情况下,确定所述视频分片的码率是否为索引文件中的最高等级的码率,所述索引文件包括所述视频的多个等级的码率;
若所述视频分片的码率是所述索引文件中的最高等级的码率,则D=r*N,其中r表示所述视频分片的码率,D表示发送所述视频分片的速率;
若所述视频分片的码率不是所述索引文件中的最高等级的码率,则D=r+*N,其中r+表示高于所述视频分片的码率至少一个等级的码率。
6.一种用于视频播放的装置,其特征在于,包括:
收发模块,用于接收客户端的视频播放请求,所述视频播放请求包括视频参数,所述视频参数包括视频的缓冲量和视频分片的码率,所述视频分片为视频中的多个视频分片中的其中一个;
处理模块,用于根据所述视频参数和服务器负载,确定发送所述视频分片的速率;
所述收发模块,还用于以所述速率向所述客户端发送所述视频分片;
其中,所述处理模块具体用于:
根据所述视频的缓冲量和所述服务器负载,确定发送所述视频分片的速率与所述视频分片的码率的比值;
根据所述比值和所述视频分片的码率,确定发送所述视频分片的速率。
7.根据权利要求6所述的装置,其特征在于,所述处理模块具体用于:
根据λ和η,确定
Figure FDA0002689579530000021
其中,λ表示所述视频的缓冲量,η表示服务器负载,N表示发送所述视频分片的速率与所述视频分片的码率的比值,A,B和C为预设值。
8.根据权利要求7所述的装置,其特征在于,所述视频参数还包括视频播放模式,所述处理模块具体用于:
根据所述比值,所述视频分片的码率和所述视频播放模式,确定发送所述视频分片的速率。
9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
若所述视频播放模式为固定码率播放模式,则D=r*N,其中r表示所述视频分片的码率,D表示发送所述视频分片的速率。
10.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
在所述视频播放模式为码率自适应播放模式的情况下,确定所述视频分片的码率是否为索引文件中的最高等级的码率,所述索引文件包括所述视频的多个等级的码率;
若所述视频分片的码率是所述索引文件中的最高等级的码率,则D=r*N,其中r表示所述视频分片的码率,D表示发送所述视频分片的速率;
若所述视频分片的码率不是所述索引文件中的最高等级的码率,则D=r+*N,其中r+表示高于所述视频分片的码率至少一个等级的码率。
CN201711462674.3A 2017-12-28 2017-12-28 用于视频播放的方法和装置 Active CN109982110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711462674.3A CN109982110B (zh) 2017-12-28 2017-12-28 用于视频播放的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711462674.3A CN109982110B (zh) 2017-12-28 2017-12-28 用于视频播放的方法和装置

Publications (2)

Publication Number Publication Date
CN109982110A CN109982110A (zh) 2019-07-05
CN109982110B true CN109982110B (zh) 2021-03-30

Family

ID=67074897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711462674.3A Active CN109982110B (zh) 2017-12-28 2017-12-28 用于视频播放的方法和装置

Country Status (1)

Country Link
CN (1) CN109982110B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107398A (zh) * 2019-12-27 2020-05-05 深圳市小溪流科技有限公司 一种流媒体数据的传输方法及接收方法、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254441B2 (en) * 2008-08-18 2012-08-28 Sprint Communications Company L.P. Video streaming based upon wireless quality
CN103338393A (zh) * 2013-06-13 2013-10-02 西安交通大学 一种hspa系统下用户体验驱动的视频码率选择方法
CN105306424A (zh) * 2014-07-08 2016-02-03 腾讯科技(深圳)有限公司 一种流媒体传输方法、流媒体发送装置及流媒体传输系统
CN105451075A (zh) * 2014-08-27 2016-03-30 北京大学 视频质量控制方法和装置
CN106162233A (zh) * 2016-07-08 2016-11-23 合网络技术(北京)有限公司 码率推荐方法及装置
CN107071529A (zh) * 2017-03-29 2017-08-18 咪咕视讯科技有限公司 一种hls视频播放方法、终端及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254441B2 (en) * 2008-08-18 2012-08-28 Sprint Communications Company L.P. Video streaming based upon wireless quality
CN103338393A (zh) * 2013-06-13 2013-10-02 西安交通大学 一种hspa系统下用户体验驱动的视频码率选择方法
CN105306424A (zh) * 2014-07-08 2016-02-03 腾讯科技(深圳)有限公司 一种流媒体传输方法、流媒体发送装置及流媒体传输系统
CN105451075A (zh) * 2014-08-27 2016-03-30 北京大学 视频质量控制方法和装置
CN106162233A (zh) * 2016-07-08 2016-11-23 合网络技术(北京)有限公司 码率推荐方法及装置
CN107071529A (zh) * 2017-03-29 2017-08-18 咪咕视讯科技有限公司 一种hls视频播放方法、终端及服务器

Also Published As

Publication number Publication date
CN109982110A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN105100876A (zh) 一种流媒体的播放方法及装置
CN109753207B (zh) 一种信息处理方法及其装置、存储介质
CN110636339B (zh) 基于码率的调度方法、装置及电子设备
US9998915B2 (en) Wireless communication device
US20160344646A1 (en) Apparatus and methods for adaptive data compression
CN105376176B (zh) 保障移动互联网视频业务服务质量的方法、装置和系统
CN109996110A (zh) 一种视频播放方法、终端、服务器及存储介质
JP6695980B2 (ja) ネットワーク利用率を向上させるためのネットワーク支援プロトコルの使用
US20150134846A1 (en) Method and apparatus for media segment request retry control
CN104170315B (zh) 用于分配带宽的方法和视频网关
CN110809167A (zh) 一种视频播放方法、装置、电子设备及存储介质
CN108600675B (zh) 通道路数扩展方法、设备、网络录像机及存储介质
CN109982110B (zh) 用于视频播放的方法和装置
CN108494702B (zh) 传输控制方法和装置、存储介质及电子装置
WO2019206033A1 (zh) 服务器配置的方法和装置
CN108023938B (zh) 一种消息发送方法及服务器
CN103530240B (zh) 数据块缓存方法和装置
CN109996092B (zh) 用于视频播放的方法和装置
CN115348656A (zh) 一种MiFi设备及其功率调节方法、电子设备和系统
CN113535606A (zh) 一种数据处理方法及装置
US8791981B2 (en) Bit rate control apparatus and method thereof
US10728911B2 (en) Wireless communication device
CN109152039B (zh) 一种数据传输方法、移动终端及基站
CN114930306A (zh) 带宽均衡方法和装置
KR101637022B1 (ko) 컨텐트를 송신하는 방법 및 장치, 컨텐트를 수신하는 방법 및 장치

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