CN111510771B - 清晰度切换算法的选择方法、系统、设备及介质 - Google Patents

清晰度切换算法的选择方法、系统、设备及介质 Download PDF

Info

Publication number
CN111510771B
CN111510771B CN201910092652.5A CN201910092652A CN111510771B CN 111510771 B CN111510771 B CN 111510771B CN 201910092652 A CN201910092652 A CN 201910092652A CN 111510771 B CN111510771 B CN 111510771B
Authority
CN
China
Prior art keywords
switching algorithm
historical
video
definition
preset condition
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
CN201910092652.5A
Other languages
English (en)
Other versions
CN111510771A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910092652.5A priority Critical patent/CN111510771B/zh
Priority to EP19912501.4A priority patent/EP3905706A4/en
Priority to PCT/CN2019/128455 priority patent/WO2020155962A1/zh
Publication of CN111510771A publication Critical patent/CN111510771A/zh
Priority to US17/373,464 priority patent/US11671656B2/en
Application granted granted Critical
Publication of CN111510771B publication Critical patent/CN111510771B/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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/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/23439Processing 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 for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本公开提供了一种清晰度切换算法的选择方法,其特征在于,该方法包括:获取多条关联关系,其中,关联关系包括清晰度切换算法和历史卡顿率;从多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,目标清晰度切换算法用于切换视频的清晰度。本公开还提供了一种清晰度切换算法的选择系统、一种计算机设备及一种计算机可读存储介质。

Description

清晰度切换算法的选择方法、系统、设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种清晰度切换算法的选择方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着视频业务的发展,用户观看网络视频的需求日益上升。视频清晰度和播放流畅度是影响用户体验的关键因素。为了满足不同用户的需求,在流媒体平台上,同一个片源往往存在不同的清晰度,例如:标清、高清、超清等。
现有技术中用户只能手动切换清晰度,且在用户手动切换清晰度后可能会由于网速不支持而导致视频卡顿,用户体验不佳。
目前尚未存在解决上述缺陷的方案存在。
发明内容
本公开的目的是提供一种清晰度切换算法的选择方法、系统、计算机设备及计算机可读存储介质,用于解决现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
本公开的一个方面提供了一种清晰度切换算法的选择方法,其特征在于,上述方法包括:获取多条关联关系,其中,上述关联关系包括清晰度切换算法和历史卡顿率;从上述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及根据上述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,上述目标清晰度切换算法用于切换视频的清晰度。
根据本公开的实施例,上述根据上述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,包括:接收客户端发送的网速,其中,上述客户端用于播放上述视频;以及根据上述符合预设条件的历史卡顿率和上述网速,从上述对应的关联关系中选择出上述目标清晰度切换算法。
根据本公开的实施例,上述根据上述符合预设条件的历史卡顿率和上述网速,从上述对应的关联关系中选择出上述目标清晰度切换算法,包括:获取上述符合预设条件的历史卡顿率的第一权重;获取上述网速的第二权重;以及根据上述符合预设条件的历史卡顿率、上述第一权重、上述网速和上述第二权重,从上述对应的关联关系中选择出上述目标清晰度切换算法。
根据本公开的实施例,上述网速包括上述客户端播放上述视频的平均网速。
根据本公开的实施例,上述网速包括上述客户端播放上述视频使用的CDN对应的历史网速。
根据本公开的实施例,上述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
根据本公开的实施例,上述方法还包括:确定上述客户端播放上述视频的播放时长;确定在上述播放时长内使用上述目标清晰度切换算法切换上述视频的清晰度产生的卡顿次数;以及根据上述播放时长和上述卡顿次数,更新上述目标清晰度切换算法对应的历史卡顿率。
本公开的另一个方面还提供了一种清晰度切换算法的选择系统,其特征在于,上述系统包括:获取模块,用于获取多条关联关系,其中,上述关联关系包括清晰度切换算法和历史卡顿率;第一确定模块,用于从上述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及选择模块,用于根据上述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,上述目标清晰度切换算法用于切换视频的清晰度。
根据本公开的实施例,上述选择模块包括:接收单元,用于接收客户端发送的网速,其中,上述客户端用于播放上述视频;以及选择单元,用于根据上述符合预设条件的历史卡顿率和上述网速,从上述对应的关联关系中选择出上述目标清晰度切换算法。
根据本公开的实施例,上述选择单元包括:第一获取子单元,用于获取上述符合预设条件的历史卡顿率的第一权重;第二获取子单元,用于获取上述网速的第二权重;以及选择子单元,用于根据上述符合预设条件的历史卡顿率、上述第一权重、上述网速和上述第二权重,从上述对应的关联关系中选择出上述目标清晰度切换算法。
根据本公开的实施例,上述网速包括上述客户端播放上述视频的平均网速。
根据本公开的实施例,上述网速包括上述客户端播放上述视频使用的CDN对应的历史网速。
根据本公开的实施例,上述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
根据本公开的实施例,上述系统还包括:第二确定模块,用于确定上述客户端播放上述视频的播放时长;第三确定模块,用于确定在上述播放时长内使用上述目标清晰度切换算法切换上述视频的清晰度产生的卡顿次数;以及更新模块,用于根据上述播放时长和上述卡顿次数,更新上述目标清晰度切换算法对应的历史卡顿率。
本公开的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,上述处理器执行上述计算机程序时用于实现如上任一项所述的方法的步骤。
本公开的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,上述计算机程序被处理器执行时用于实现如上任一项所述的方法的步骤。
本公开提供的清晰度切换算法的选择方法,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本公开的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本公开的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本公开的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
附图说明
图1示意性示出了根据本公开实施例的清晰度切换算法的选择方法的流程图;
图2示意性示出了根据本公开另一实施例的清晰度切换算法的选择方法的流程图;
图3示意性示出了根据本公开实施例的清晰度切换算法的选择系统的框图;
图4示意性示出了根据本公开实施例的适于实现清晰度切换算法的选择方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提供的清晰度切换算法的选择方法,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本公开的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本公开的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本公开的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
图1示意性示出了根据本公开实施例的清晰度切换算法的选择方法的流程图。
如图1所示,该清晰度切换算法的选择方法可以包括步骤S101~步骤S103,其中:
步骤S101,获取多条关联关系,其中,关联关系包括清晰度切换算法和历史卡顿率。
本公开实施例提供清晰度切换算法的选择方案可以应用在服务器,在客户端如web端播放视频时,可以请求服务器提供较优的且能够动态切换视频清晰度的清晰度切换算法,此时,服务器可以通过执行本公开实施例提供的方案,选择出目标清晰度切换算法,并将该目标清晰度切换算法返回给客户端,以便客户端能够基于该目标清晰度切换算法动态的切换视频的清晰度。
根据本公开的实施例,可以预先在服务器可中存储的多条关联关系,每条关联关系可以包括一个清晰度切换算法和该应用该清晰度切换算法切换视频的清晰度时对应的历史卡顿率。其中,清晰度切换算法可以是abrThroughput(基于吞吐量(又称为网速)的自适应码率切换算法)、abrBola(基于当前缓冲区的自适应码率切换算法)或者abrDynamic(基于abrThroughput和abrBola动态调整的自适应码率切换算法)。
根据本公开的实施例,对于每个清晰度切换算法对应的历史卡顿率,可以统计出播放视频的总播放时长,并统计利用该清晰度切换算法切换视频的清晰度对应的总卡顿次数,然后将总卡顿次数与总播放时长作除法,可以得出该清晰度切换算法对应的历史卡顿率。为了尽可能保证准确性,每一个清晰度切换算法对应的总播放时长可以是相同的。
步骤S102,从多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率。
在本公开的实施例中,符合预设条件的历史卡顿率可以包括数值最小的历史卡顿率,或者符合预设条件的历史卡顿率也可以包括数值小于预设阈值的历史卡顿率。其中,符合预设条件的历史卡顿率可以包括一个或多个。
步骤S103,根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,目标清晰度切换算法用于切换视频的清晰度。
根据本公开的实施例,若是符合预设条件的历史卡顿率只有一个,则对应的关联关系即为该符合预设条件的历史卡顿率所在的关联关系,目标清晰度切换算法则为该关联关系中的清晰度切换算法。
根据本公开的实施例,若是符合预设条件的历史卡顿率有多个,则对应的关联关系为每一个符合预设条件的历史卡顿率所在的关联关系的集合,选择目标清晰度切换算法则可以是从这个集合的关联关系包括的所有的清晰度切换算法中选择(例如随机选择)一个算法,作为该目标清晰度切换算法。
作为一种可选的实施例,根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,可以包括:接收客户端发送的网速,其中,客户端用于播放所述视频;以及根据符合预设条件的历史卡顿率和网速,从对应的关联关系中选择出目标清晰度切换算法。其中,根据符合预设条件的历史卡顿率和网速,从对应的关联关系中选择出目标清晰度切换算法,包括:获取符合预设条件的历史卡顿率的第一权重;获取网速的第二权重;以及根据符合预设条件的历史卡顿率、第一权重、网速和第二权重,从对应的关联关系中选择出目标清晰度切换算法。
在本公开的实施例中,在符合预设条件的历史卡顿率包括多个时,由于清晰度切换算法和历史卡顿率是一一对应的,则与这多个符合预设条件的历史卡顿率对应的清晰度切换算法也包括多个。若是随机的从这些清晰度切换算法中选择一个作为目标清晰度切换算法,可能会因为客户端的网速问题使得使用目标清晰度切换算法的真实卡顿率远远高于该目标清晰度切换算法对应的历史卡顿率。此时,可以接收客户端发送的网速,然后获取预先设置的第一权重、第二权重,进而可以根据符合预设条件的历史卡顿率、第一权重、网速和第二权重,从对应的关联关系中选择出目标清晰度切换算法。
例如,符合预设条件的历史卡顿率有两个,分别为历史卡顿率1、历史卡顿率2,与历史卡顿率1对应的清晰度切换算法为abrThroughput,与历史卡顿率2对应的清晰度切换算法为abrDynamic。客户端播放的视频为视频A,对应的网速为网速A。则可以将历史卡顿率1和第一权重做乘法,网速A与第二权重做乘法,然后二者求和为数值1;将历史卡顿率2和第一权重做乘法,网速A与第二权重做乘法,然后二者的和为数值2。经过比较,数值2优于数值1,则可以将abrDynamic作为目标清晰度切换算法。
作为一种可选的实施例,客户端提供的网速可以是客户端播放该视频的平均网速。
根据本公开的实施例,客户端可以确定一定时间内下载的视频的数据量,并确定下载这些数据量的视频所消耗的时长,然后将数据量和时长作除法,确定出平均网速。当然,也可以多次计算以确保计算结果的准确性。
作为一种可选的实施例,客户端提供的网速可以是客户端播放该视频使用的CDN(Content Delivery Network,内容分发网络)对应的历史网速。
根据本公开的实施例,客户端可以存储了多个历史网速和每一个历史网速对应的CDN,并且可以把它们存储在一个map中。客户端可以确定本次播放视频使用的CDN,然后确定出该CDN对应的历史网速,其中,历史网速可以包括历史上客户端使用该CDN播放视频时的网速,优选地,可以是上一次客户端使用该CDN播放视频时的平均网速。
例如,已存储的数据格式map包括3个CDN和每个CND对应的历史网速,分别为:'cdna.acgvideo.com':400KB/s;'cdnb.acgvideo.com':500KB/s;'cdnc.acgvideo.com':900KB/s。若本次播放视频使用的CDN为cdna.acgvideo.com,由于cdna.acgvideo.com对应的历史网速为400KB/s,则客户端可以将400KB/s发送给服务器。
作为一种可选的实施例,该清晰度切换算法的选择方法还可以包括:确定客户端播放视频的播放时长;确定在播放时长内使用目标清晰度切换算法切换视频的清晰度产生的卡顿次数;以及根据播放时长和卡顿次数,更新目标清晰度切换算法对应的历史卡顿率。
根据本公开的实施例,在客户端停止播放视频之后,可以主动将播放视频的播放时长和在该播放时长内使用该目标清晰度切换算法切换视频清晰度时产生的卡顿次数反馈给服务器,服务器可以将卡顿次数和播放时长预先存储起来,在后续使用该目标清晰度切换算法的视频的总播放时长达到一定程度后,可以再行计算新的卡顿率,然后根据该卡顿率替换目标清晰度切换算法对应的历史卡顿率。
本公开提供的清晰度切换算法的选择方法,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本公开的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本公开的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本公开的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
图2示意性示出了根据本公开另一实施例的清晰度切换算法的选择方法的流程图。
如图2所示,该清晰度切换算法的选择方法可以包括步骤S201~步骤S206,其中:
步骤S201,查询本地存储的abrMap。
步骤S202,获取abrMap。
步骤S203,判断是否有最佳abr清晰度切换算法,若是则执行步骤S204,若否则执行步骤S205。
步骤S204,使用最佳abr清晰度切换算法。
步骤S205,使用其它abr清晰度切换算法。
步骤S206,播放缓冲率记录,更新abrMap。
在本公开的实施例中,可以查询本次是否存储有abrMap,其中,abrMap中可以存储有abrThroughput和abrThroughput对应的历史卡顿率,abrBola和abrBola对应的历史卡顿率,abrDynamic和abrDynamic对应的历史卡顿率。若查询到了则获取该abrMap,然后判断abrMap中是否有最佳abr(Adaptive Bitrate,又称为自适应比特率/自适应码率)清晰度切换算法。判断abrMap中是否有最佳abr清晰度切换算法可以根据上述实施例所述,在此不再赘述。若abrMap中有则将该最佳abr清晰度切换算法发给客户端,以使客户端基于该最佳abr清晰度切换算法自动切换视频的清晰度。若abrMap中没有最佳abr清晰度切换算法,则可以将abrMap中的其它abr清晰度切换算法中任意一个发送给客户端,以使客户端基于该abr清晰度切换算法自动切换视频的清晰度。进一步,还可以根据客户端播放视频的缓冲率记录如上述实施例所述的播放时长和卡顿次数,更新abrMap中相应的abr清晰度切换算法的历史卡顿率,其中,更新完后,最佳的abr清晰度切换算法可能会发生变化。
图3示意性示出了根据本公开实施例的清晰度切换算法的选择系统的框图。
如图3所示,该视频清晰度确定系统300可以包括获取模块310、第一确定模块320和选择模块330,其中:
获取模块310用于获取多条关联关系,其中,关联关系包括清晰度切换算法和历史卡顿率。
第一确定模块320用于从多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率。
选择模块330用于根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,目标清晰度切换算法用于切换视频的清晰度。
本公开提供的清晰度切换算法的选择系统,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本公开的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本公开的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本公开的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
作为一种可选的实施例,选择模块可以包括:接收单元,用于接收客户端发送的网速,其中,客户端用于播放视频;以及选择单元,用于根据符合预设条件的历史卡顿率和网速,从对应的关联关系中选择出目标清晰度切换算法。
作为一种可选的实施例,选择单元可以包括:第一获取子单元,用于获取符合预设条件的历史卡顿率的第一权重;第二获取子单元,用于获取网速的第二权重;以及选择子单元,用于根据符合预设条件的历史卡顿率、第一权重、网速和第二权重,从对应的关联关系中选择出目标清晰度切换算法。
作为一种可选的实施例,网速可以包括客户端播放视频的平均网速。
作为一种可选的实施例,网速可以包括客户端播放视频使用的CDN对应的历史网速。
作为一种可选的实施例,符合预设条件的历史卡顿率可以包括数值最小的历史卡顿率。
作为一种可选的实施例,系统还可以包括:第二确定模块,用于确定客户端播放视频的播放时长;第三确定模块,用于确定在播放时长内使用目标清晰度切换算法切换视频的清晰度产生的卡顿次数;以及更新模块,用于根据播放时长和卡顿次数,更新目标清晰度切换算法对应的历史卡顿率。
图4示意性示出了根据本公开实施例的适于实现清晰度切换算法的选择方法的计算机设备的硬件架构示意图。本实施例中,计算机设备400是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,计算机设备400至少包括但不限于:可通过系统总线相互通信连接存储器410、处理器420、网络接口430。其中:
存储器410至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器410可以是计算机设备400的内部存储模块,例如该计算机设备400的硬盘或内存。在另一些实施例中,存储器410也可以是计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器410还可以既包括计算机设备400的内部存储模块也包括其外部存储设备。本实施例中,存储器410通常用于存储安装于计算机设备400的操作系统和各类应用软件,例如清晰度切换算法的选择方法的程序代码等。此外,存储器410还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器420在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器420通常用于控制计算机设备400的总体操作,例如执行与计算机设备400进行数据交互或者通信相关的控制和处理等。本实施例中,处理器420用于运行存储器410中存储的程序代码或者处理数据。
网络接口430可包括无线网络接口或有线网络接口,该网络接口430通常用于在计算机设备400与其他计算机设备之间建立通信连接。例如,网络接口430用于通过网络将计算机设备400与外部终端相连,在计算机设备400与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件410-430的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器410中的清晰度切换算法的选择方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器420)所执行,以完成本发明。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的清晰度切换算法的选择方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的清晰度切换算法的选择方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (16)

1.一种清晰度切换算法的选择方法,其特征在于,所述方法包括:
获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,包括:
接收客户端发送的网速,其中,所述客户端用于播放所述视频;以及
根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法。
3.根据权利要求2所述的方法,其特征在于,所述根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法,包括:
获取所述符合预设条件的历史卡顿率的第一权重;
获取所述网速的第二权重;以及
根据所述符合预设条件的历史卡顿率、所述第一权重、所述网速和所述第二权重,从所述对应的关联关系中选择出所述目标清晰度切换算法。
4.根据权利要求2所述的方法,其特征在于,所述网速包括所述客户端播放所述视频的平均网速。
5.根据权利要求2所述的方法,其特征在于,所述网速包括所述客户端播放所述视频使用的CDN对应的历史网速。
6.根据权利要求1所述的方法,其特征在于,所述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定客户端播放所述视频的播放时长;
确定在所述播放时长内使用所述目标清晰度切换算法切换所述视频的清晰度产生的卡顿次数;以及
根据所述播放时长和所述卡顿次数,更新所述目标清晰度切换算法对应的历史卡顿率。
8.一种清晰度切换算法的选择系统,其特征在于,所述系统包括:
获取模块,用于获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
第一确定模块,用于从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
选择模块,用于根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
9.根据权利要求8所述的系统,其特征在于,所述选择模块包括:
接收单元,用于接收客户端发送的网速,其中,所述客户端用于播放所述视频;以及
选择单元,用于根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法。
10.根据权利要求9所述的系统,其特征在于,所述选择单元包括:
第一获取子单元,用于获取所述符合预设条件的历史卡顿率的第一权重;
第二获取子单元,用于获取所述网速的第二权重;以及
选择子单元,用于根据所述符合预设条件的历史卡顿率、所述第一权重、所述网速和所述第二权重,从所述对应的关联关系中选择出所述目标清晰度切换算法。
11.根据权利要求9所述的系统,其特征在于,所述网速包括所述客户端播放所述视频的平均网速。
12.根据权利要求9所述的系统,其特征在于,所述网速包括所述客户端播放所述视频使用的CDN对应的历史网速。
13.根据权利要求8所述的系统,其特征在于,所述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
14.根据权利要求8所述的系统,其特征在于,所述系统还包括:
第二确定模块,用于确定客户端播放所述视频的播放时长;
第三确定模块,用于确定在所述播放时长内使用所述目标清晰度切换算法切换所述视频的清晰度产生的卡顿次数;以及
更新模块,用于根据所述播放时长和所述卡顿次数,更新所述目标清晰度切换算法对应的历史卡顿率。
15.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至7任一项所述方法的步骤。
CN201910092652.5A 2019-01-30 2019-01-30 清晰度切换算法的选择方法、系统、设备及介质 Active CN111510771B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910092652.5A CN111510771B (zh) 2019-01-30 2019-01-30 清晰度切换算法的选择方法、系统、设备及介质
EP19912501.4A EP3905706A4 (en) 2019-01-30 2019-12-25 DEFINITION SWITCHING ALGORITHM SELECTION METHOD AND SYSTEM, AND DEVICE AND MEDIA
PCT/CN2019/128455 WO2020155962A1 (zh) 2019-01-30 2019-12-25 清晰度切换算法的选择方法、系统、设备及介质
US17/373,464 US11671656B2 (en) 2019-01-30 2021-07-12 Method for selecting resolution switching algorithm, computing device, and computer-program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910092652.5A CN111510771B (zh) 2019-01-30 2019-01-30 清晰度切换算法的选择方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN111510771A CN111510771A (zh) 2020-08-07
CN111510771B true CN111510771B (zh) 2021-10-12

Family

ID=71839938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910092652.5A Active CN111510771B (zh) 2019-01-30 2019-01-30 清晰度切换算法的选择方法、系统、设备及介质

Country Status (4)

Country Link
US (1) US11671656B2 (zh)
EP (1) EP3905706A4 (zh)
CN (1) CN111510771B (zh)
WO (1) WO2020155962A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037986B (zh) * 2021-03-04 2023-06-06 北京字跳网络技术有限公司 视频的自适应播放方法及设备
CN113891155B (zh) * 2021-09-29 2024-04-05 百果园技术(新加坡)有限公司 视频播放档位确定方法、视频播放方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763618A (zh) * 2013-12-27 2014-04-30 乐视网信息技术(北京)股份有限公司 一种清晰度切换方法及电子设备
CN108200470A (zh) * 2017-12-20 2018-06-22 中国联合网络通信集团有限公司 一种视频码率调整方法及设备
CN108769760A (zh) * 2018-05-23 2018-11-06 中国联合网络通信集团有限公司 一种码率调整方法、ue、mec及网络系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656887B (zh) * 2009-09-23 2013-04-10 杭州华三通信技术有限公司 码率控制算法的选择方法和装置
EP2716041A4 (en) * 2011-05-31 2014-10-15 Dolby Lab Licensing Corp VIDEO COMPRESSION WITH RESOLUTION COMPENSATION AND OPTIMIZATION
US10389780B2 (en) * 2012-02-08 2019-08-20 Arris Enterprises Llc Managed adaptive streaming
CN103517143A (zh) * 2013-08-29 2014-01-15 小米科技有限责任公司 网络视频的播放方法、装置及终端设备
US20160011874A1 (en) * 2014-07-09 2016-01-14 Doron Orenstein Silent memory instructions and miss-rate tracking to optimize switching policy on threads in a processing device
US9825834B2 (en) * 2015-03-30 2017-11-21 Airwatch Llc Network speed detection
CN107864402A (zh) * 2017-10-11 2018-03-30 湖南机友科技有限公司 直播视频播放方法及装置
CN108271048B (zh) * 2018-02-09 2020-08-07 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN108810468B (zh) * 2018-06-11 2020-06-16 哈尔滨工程大学 一种优化显示效果的视频传输装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763618A (zh) * 2013-12-27 2014-04-30 乐视网信息技术(北京)股份有限公司 一种清晰度切换方法及电子设备
CN108200470A (zh) * 2017-12-20 2018-06-22 中国联合网络通信集团有限公司 一种视频码率调整方法及设备
CN108769760A (zh) * 2018-05-23 2018-11-06 中国联合网络通信集团有限公司 一种码率调整方法、ue、mec及网络系统

Also Published As

Publication number Publication date
EP3905706A1 (en) 2021-11-03
US20210337271A1 (en) 2021-10-28
EP3905706A4 (en) 2022-03-16
WO2020155962A1 (zh) 2020-08-06
CN111510771A (zh) 2020-08-07
US11671656B2 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
US10609104B2 (en) Live stream manifests for on demand content
KR101781339B1 (ko) 클라이언트를 갱신하기 위한 방법 및 디바이스
CN109819336B (zh) 一种基于播放缓存大小分片下载的方法及系统
US11190566B1 (en) Generating requests for streaming media
US20140052846A1 (en) Adaptive video streaming over a content delivery network
US20080201383A1 (en) System for managing data collection processes
US20130031279A1 (en) Deferred transfer of content to optimize bandwidth usage
US11374843B2 (en) Method for measuring network speed, computing device, and computer-program product
US11463494B2 (en) Balance of initial frame and limitation of traffic
CN111510771B (zh) 清晰度切换算法的选择方法、系统、设备及介质
CN104866339A (zh) Fota数据的分布式持久化管理方法、系统和装置
CN111510789A (zh) 视频播放方法、系统、计算机设备及计算机可读存储介质
US11825165B2 (en) Method of determining video resolution, computing device, and computer-program product
CN113301072A (zh) 服务调度方法及系统、调度设备、客户端
CN111510790B (zh) 视频请求方法、系统、计算机设备及计算机可读存储介质
CN114285838A (zh) 一种文件上传方法、装置、系统、存储介质及电子设备
CN112422604B (zh) 文件上传方法、装置、系统及计算机设备
WO2024082688A1 (zh) 礼物特效资源播放方法及装置
US10666698B1 (en) Bit rate selection for streaming media
CN112491939B (zh) 多媒体资源调度方法及系统
CN109962948B (zh) 一种p2p任务的处理方法及装置
US20220279249A1 (en) Control apparatus, control method and program
CN115190338B (zh) 视频预加载的方法和系统
CN111275473A (zh) 内容项投放方法、装置、服务器及存储介质
CN117793419A (zh) 直播间的热度预测方法和装置

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