CN115052190B - 视频播放方法及装置 - Google Patents

视频播放方法及装置 Download PDF

Info

Publication number
CN115052190B
CN115052190B CN202210642058.0A CN202210642058A CN115052190B CN 115052190 B CN115052190 B CN 115052190B CN 202210642058 A CN202210642058 A CN 202210642058A CN 115052190 B CN115052190 B CN 115052190B
Authority
CN
China
Prior art keywords
video
network
resolution
determining
sample
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
CN202210642058.0A
Other languages
English (en)
Other versions
CN115052190A (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 CN202210642058.0A priority Critical patent/CN115052190B/zh
Publication of CN115052190A publication Critical patent/CN115052190A/zh
Application granted granted Critical
Publication of CN115052190B publication Critical patent/CN115052190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/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/440281Processing 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 temporal resolution, e.g. by frame skipping
    • 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/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network

Landscapes

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

Abstract

本申请提供视频播放方法及装置,其中所述视频播放方法包括:响应于视频播放指令,播放目标视频;获取所述目标视频在预设时间区间内的网速信息和网络波动信息;基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率;基于所述目标视频分辨率继续播放所述目标视频,通过视频在播放过程中的网速信息以及网络波动信息自动确定目标视频分辨率,以进行视频分辨率调整,使得视频无卡顿播放,给以用户较好的观看体验,该方式也避免了用户的手动操作,也解决了观看视频时操作繁琐为用户带来不便的问题。

Description

视频播放方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及视频播放方法。本申请同时涉及视频播放装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着视频业务的发展,用户观看网络视频的需求日益上升。不同分辨率的视频,在同一客户端所播放的清晰度和流畅度也会有所差别,同时也影响着用户的观看体验。为了满足不同用户的需求,对于同一个片源可能会配置不同的分辨率,比如标清、高清、超清等。在视频分辨率切换的过程中,需要用户手动切换分辨率,但手动切换后可能会由于网速不支持导致视频播放卡顿,较大地影响用户的观看视频体验。
发明内容
有鉴于此,本申请实施例提供了视频播放方法。本申请同时涉及视频播放装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的手动切换视频播放分辨率,导致的视频播放卡顿问题。
根据本申请实施例的第一方面,提供了一种视频播放方法,包括:
响应于视频播放指令,播放目标视频;
获取所述目标视频在预设时间区间内的网速信息和网络波动信息;
基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率;
基于所述目标视频分辨率继续播放所述目标视频。
根据本申请实施例的第二方面,提供了一种视频播放装置,包括:
第一视频播放模块,被配置为响应于视频播放指令,播放目标视频;
网络信息获取模块,被配置为获取所述目标视频在预设时间区间内的网速信息和网络波动信息;
分辨率确定模块,被配置为基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率;
第二视频播放模块,被配置为基于所述目标视频分辨率继续播放所述目标视频。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述视频播放方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述视频播放方法的步骤。
本申请提供的视频播放方法,响应于视频播放指令,播放目标视频;获取所述目标视频在预设时间区间内的网速信息和网络波动信息;基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率;基于所述目标视频分辨率继续播放所述目标视频。
本申请一实施例通过获取到目标视频在预设时间区间内的网速信息和网络波动信息,并根据网速信息以及网络波动信息确定该目标视频的目标视频分辨率,且该目标视频分辨率所播放的视频能适应于当前的网速信息,使得目标视频能够顺畅地被播放,进而,避免了由于网速不支持而导致视频播放卡顿的情况;同时,通过视频在播放过程中的网速信息以及网络波动信息自动确定目标视频分辨率,以进行视频分辨率调整,使得视频无卡顿播放,给以用户较好的观看体验,该方式也避免了用户的手动操作,也解决了观看视频时操作繁琐为用户带来不便的问题。
附图说明
图1是本申请一实施例提供的一种视频播放方法的场景示意图;
图2是本申请一实施例提供的一种视频播放方法的流程图;
图3是本申请一实施例提供的一种视频播放方法的分辨率分类器训练过程的流程示意图;
图4是本申请一实施例提供的一种视频播放装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
码率:即比特率(Bitrate),指单位时间内传输或处理的比特的数量,单位为bps(bit per second)也可表示为b/s,比特率越高,单位时间传送的数据量(位数)越大。
分辨率:指视频成像产品所形成的图像大小或尺寸,常见的1080P、4K等。
清晰度:在码率一定的情况下,分辨率与清晰度成反比关系;分辨率越高,图像越不清晰,分辨率越低,图像越清晰。在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。
ABR算法:全称为Adaptive BitRate,即码率自适应算法,其主要用于实现流媒体清晰度自动调整。
QoE:全称为Quality of Experience,即用户体验质量。
PiTree(Practical Implementation of ABR Algorithms Using DecisionTrees):使用决策树的ABR算法的实现。
决策树(Decision Tree):是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
本申请实施例提供的视频播放方法,可以理解为一种自适应调整视频清晰度的方式,避免用户手动调整分辨率导致的网速不支持视频播放卡顿的情况发生;目前,针对流媒体清晰度自动调整的方法,多数采用ABR算法,即码率自适应算法,而该ABR算法主要是分为三种:第一种,基于码率的算法(Rate-based ABR Algorithms):基于码率的算法仅根据网络吞吐量进行清晰度决策。代表算法为throughput算法。第二种,基于缓冲的算法(Buffer-based ABR Algorithms):基于缓冲的算法是根据播放器当前缓存水平对清晰度进行决策的算法,代表算法为BOLA算法。第三种,二者相结合的混合信息算法(Rate+Buffer ABRAlgorithms),其中,基于混合信息的算法又分为两类,一种是非机器学习算法,一种是机器学习算法。非机器学习算法的代表算法是MPC(模型预测控制)算法,主要是基于码率调和平均数来进行预测。机器学习方法主要是强化学习,代表算法是本专利所涉及的Pensieve算法。
但基于上述ABR算法,第一种基于码率的算法仅根据网络吞吐量进行清晰度决策,将会存在两个问题:一是网络带宽难于准确预测,尤其是在弱网情况下,二是会导致频繁切换清晰度导致用户感受不佳。第二种基于缓存的算法,由于缓存变化本身并不能体现出用户实际的网络情况以及视频的播放情况,所以基于缓冲的算法在实际应用中也效果不佳。进而,第三种机器学习算法所采集的信息会更全面,分析也会更加准确,但是由于原始算法模型复杂,离线仿真器与真实环境的差异过大,训练耗时较长,所以在实际部署和调试中带来了较大的困难。
另外,除了上述算法选用上的问题,对于评价用户体验的公式也还存在调整的空间,目前ABR算法中的QoE公式主要是将其主要影响因素赋以权重后线性相加,具体为使用当前清晰度的分数、卡顿时长以及切换清晰度带来的惩罚来进行线性累加,可参见下述公式(1):
其中,QoE表示用户体验分数,n表示在视频播放期间第n个视频片段。一般来说,每个视频片段的持续时长大概在3s到5s,在其存续期间视频清晰度保持不变,只有在每个视频片段结束后才会发生视频清晰度的变更。
N表示播放过程中的视频片段总数量。Rn表示第n个视频片段对应的清晰度,而q(Rn)表示用户对第n个视频片段对应清晰度Rn感知到的视频质量分数。Tn表示由于在第n个视频片段以清晰度,Rn表示下载视频而导致的卡顿时间,q(Rn+1)-q(Rn)表示由于切换清晰度而导致不能平滑播放视频带来的损失。
由此可见,上述QoE公式的计算方式,其参数需要切合用户真实体验因此难于选择,另外忽略了对于卡顿后用户体验的上升、不同时间段卡顿对用户体验等的影响。
基于此,本申请实施例提供的视频播放方法,提出了一个更加切合用户感受、更加精准预测也更利于部署的机器学习训练落地方法,一方面根据用户真实反馈来拟合QoE公式,然后利用网络特征对原始代码进行改写,并采用采集到的用户网速信息来进行模型训练,以达到训练效果更贴合用户感受的目的。一方面使用了快速降熵的方法来缩短训练时长。最后,为了实现复杂的ABR算法的落地,解决算法性能和部署开销之间权衡的问题,可将复杂ABR算法转化为轻量级决策树的PiTree算法,更利于线上部署进行实时计算。通过上述对自动调节视频分辨率的方法,以实现避免用户手动调节视频分辨率,而导致的视频卡顿的现象。
在本申请中,提供了视频播放方法,本申请同时涉及视频播放装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本申请一实施例提供的一种视频播放方法的场景示意图。
图1中左半部分(a)为用户观看视频A的示意图,其中,该视频A以480P分辨率进行播放;图1中右半部分(b)为用户观看视频A的另一示意图,其中,该视频A以720P分辨率进行播放;需要说明的是,480P分辨率播放视频的清晰度低于720P分辨率播放视频的清晰度,为了给用户提供较好的观看体验,在不考虑终端网速的情况下,播放视频A以较高分辨率播放的清晰度越好,用户观看效果越好。
实际应用中,本申请一实施例提供的视频播放方法,在视频A以480P分辨率播放时,终端系统可以根据视频A在播放过程中的网速信息以及网络波动信息,对视频A的分辨率进行调整,如图1中的示例,终端系统在获取到的视频A以480P分辨率播放的网速信息以及网络波动信息之后,可进一步地确定后续视频A以720P分辨率播放视频A的展示效果更好,因此,即可将分辨率信息从480P自动调整为720P,该分辨率调整过程用户无感知,同时,也保证了播放视频A的过程中,无卡顿情况发生,提高用户的观看体验。
本申请实施例提供的视频播放方法,通过获取播放视频的网速信息以及网络波动信息,以确定后续视频播放的具体分辨率,既能适应于视频播放的网速等网络状况,保证视频播放时不发生卡顿,又能自动调整视频清晰度,用户无需手动切换,给用户较高的观看体验。
图2示出了根据本申请一实施例提供的一种视频播放方法的流程图,具体包括以下步骤:
步骤202:响应于视频播放指令,播放目标视频。
其中,目标视频可以理解为在终端中可播放任意类型的视频,且该视频还可配置多个分辨率,比如配置有480P、720P、1080P等等,本实施例对视频所配置的分辨率值不做任何限定。
实际应用中,终端系统在接收到针对目标视频的视频播放指令之后,即可在终端播放该目标视频;需要说明的是,终端系统可以为PC(电脑)端、手机客户端等,即能够播放视频的终端均可应用于本方案,在此不做具体限定。
步骤204:获取所述目标视频在预设时间区间内的网速信息和网络波动信息。
其中,网速信息可以理解为播放目标视频(上传和下载数据)的过程中,请求和返回视频数据所用的时间长短,比如,网速为1M、1.5M、2M等。
网络波动信息可以理解为播放目标视频(上传和下载数据)时,网速所发生的波动性信息,比如,T1时刻的网速为0.5M,T2时刻的网速为3M,那么,在T1至T2时刻之间,网速上升了2.5M,若波动的网速标准为2M时,那么该过程可以理解为发生了一次网速波动。
实际应用中,目标视频在终端播放的过程中,终端系统可获取该目标视频在预设时间区间内的网速信息和网络波动信息;需要说明的是,在目标视频播放的过程中,终端系统为了能够实现自动调整分辨率,以为用户提供更好的观看体验,就需要每隔一定时间区间,自动完成分辨率调节的过程,比如,目标视频播放的前30s,目标视频以480P分辨率播放,在第30s的时刻,终端系统需要判断目标视频是否继续以480P分辨率继续播放,或者以720P分辨率继续播放,以此类推,每隔预设时间区间,终端系统就需要对视频的分辨率进行自动调整,保证用户观看视频不发生卡顿,用户对于分辨率的切换过程也毫无感知;需要说明的是,预设时间区间内的网速信息和网络波动信息可以理解为历史视频播放时的网速信息和网络波动信息,即预设时间区间可指代历史的一段时间区间。
进一步地,终端系统可获取到目标视频在预设时间区间内所有的网络数据集合,并从中获取到该时间区间内的网速信息以及网络波动信息;具体的,所述获取所述目标视频在预设时间区间内的网速信息和网络波动信息,包括:
获取所述目标视频在预设时间区间内的网络数据集合;
基于所述网络数据集合确定所述目标视频的网速信息和网络波动信息。
其中,网络数据集合可以理解为目标视频在预设时间区间内进行播放时,所产生的每条网络数据的集合,且网络数据包括但不限定于每秒或者每毫秒确定的网速数据,比如,网络数据集合在5min内将产生200条网络数据。
实际应用中,终端系统可获取到目标视频在预设时间区间内的网络数据集合,即在每段预设时间区间内播放该目标视频的网络数据,比如30s内,播放目标视频的每秒网速信息所组成的网络数据集合;进一步地,终端系统可从获取到的网络数据集合中确定该目标视频在预设时间区间内播放的网速信息和网络波动信息。
本申请实施例通过视频播放过程中所产生网络数据集合,以确定网速信息和网络波动信息,便于后续根据该预设时间区间内的网速信息和网络波动信息确定目标视频所继续播放的视频分辨率。
终端系统在获取到该预设时间区间内的网络数据集合之后,可基于预设时间区间对网络数据集合先进行划分,并根据划分后的每个网络数据子集合确定网速信息和网络波动信息;具体的,所述基于所述网络数据集合确定所述目标视频的网速信息和网络波动信息,包括:
根据预设数据划分规则对所述网络数据集合进行划分,获得多个网络数据子集合;
基于所述多个网络数据子集合确定所述目标视频的网速信息和网络波动信息。
其中,网络数据子集合可以理解为对多条网络数据集合进行划分后的各个子集合,比如,网络数据集合中包括200条网络数据,在对该200条网络数据进行划分后,可获得10个网络数据子集合,每个网络数据子集合中包括20条网络数据。
实际应用中,终端系统可根据预设数据划分规则对网络数据集合进行划分,其中,该预设数据划分规则可以理解为每间隔一定时长对网络数据集合进行划分,或者是每间隔一定网络数据条数对网络数据集合进行划分,本实施例对此不作具体限定;另外,具体实施时,该划分过程还可通过滑窗方法实现,即理解为根据窗口长度(即一定时间)进行划分。进一步地,在获得多个网络数据子集合之后,可根据该多个网络数据子集合确定该目标视频的网速信息和网络波动信息。
进一步地,本申请另一实施例提供的视频播放方法,对如何确定目标视频网速信息进行详细介绍,但并不仅限于下述确定方式;具体的,基于所述多个网络数据子集合确定所述目标视频的网速信息,包括:
计算每个网络数据子集合的平均网速;
统计所述平均网速满足预设网速条件的网络数据子集合的数量,并基于所述网络数据子集合的数量确定所述目标视频的网速信息。
实际应用中,终端系统在获得多个网络数据子集合之后,可计算每个网络数据子集合的平均网速,即在每个滑窗内对网速信息求平均值,比如,一个网络数据子集合中有10条网速数据,分别为1.1M、1.3M、0.7M、1.5M、2.1M、2.4M、1.1M、1.7M、0.1M、2.0M,那么,计算该10条网速数据的平均网速则为1.4M;进一步地,每个网络数据子集合均求得对应的平均网速,再统计该平均网速满足预设网速条件的网络数据子集合的数量,其中,该预设网速条件可以为平均网速的预设阈值,比如平均网速为1.2M,那么,每个网络数据子集合对应的平均网速与1.2M进行比较(比如上述1.4M与1.2M进行比对),统计大于1.2M的平均网速对应的网络数据子集合的数量,以及统计小于等于1.2M的平均网速对应的网络数据子集合的数量;便于后续根据统计后的两种网络数据子集合的数量确定目标视频的网速信息。
例如,大于1.2M的平均网速对应的网络数据子集合的数量为10个,小于等于1.2M的平均网速对应的网络数据子集合的数量为5个,那么可得知,大于1.2M的平均网速对应的网络数据子集合的数量占该预设时间区间内所有网络数据子集合的数量占比为10/(10+5),即0.67;小于等于1.2M的平均网速对应的网络数据子集合的数量占该预设时间区间内所有网络数据子集合的数量占比为5/(10+5),即0.33;若终端系统预先设置平均网速小于1.2M的网络数据子集合的数量占比大于0.7则认为平均网速差,若小于等于0.7则认为平均网速好;因此,根据平均网速的计算可确定目标视频在预设时间区间内的网速信息为高和低两种类型。
更进一步地,本申请另一实施例提供的视频播放方法,对如何确定目标视频的网络波动信息进行详细介绍,但并不仅限于下述确定方式;具体的,基于所述多个网络数据子集合确定所述目标视频的网络波动信息,包括:
计算每个网络数据子集合的网络数据差值,并统计所述网络数据差值满足预设阈值的网络数据子集合的数量;
将所述网络数据子集合的数量确定为所述目标视频的波动次数;
基于所述波动次数以及所述网络数据集合确定所述目标视频在预设时间区间内的网络波动信息。
其中,网络数据差值可以理解为在同一个网络数据子集合中最大的网速数据值与最小的网速数据值的差值,比如,该网络数据子集合中最大的网速数据值为2.3M,最小的网速数据值为0.3M,那么2.3M-0.3M=2M,则网络数据差值为2M。
波动次数可以理解为目标视频在播放时,在每个网络数据子集合中各个网络数据参数值不稳定导致的网速波动对应的次数。
实际应用中,终端系统可计算每个网络数据子集合的网络数据差值,并确定该网络数据差值是否满足预设阈值,再统计满足预设阈值的网络数据差值对应的网络数据子集合的数量,进而确定目标视频在预设时间区间内的波动次数,比如,网络数据子集合的网络数据差值大于1.5M时,则可认为目标数据在播放过程中发生了一次网络波动,进而,在预设时间区间内统计发生网络波动的次数,再确定目标视频在该时间区间内的播放的波动性,具体可参考下述计算公式:波动性=波动次数/网速数据条数(该网速数据条数为网络数据集合中所有的网络数据条数)。
例如,波动性小于等于0.004被认为网速波动性小,波动性大于0.004小于等于0.02被认为波动性中等,大于0.02被认为波动性高;由此可知,对于波动性的计算,可以将目标视频播放过程中的网络数据分为上述三类。
基于此,根据上述计算目标视频的网速信息以及网络波动信息可知,终端系统可预先分六个数据集,数据集1表示波动小于等于0.004且平均网速高,数据集2表示波动性大于0.004小于等于0.02且平均网速高,数据集3表示波动性大于0.02且平均网速高。数据集4表示波动小于等于0.004且平均网速低,数据集5表示波动性大于0.004小于等于0.02且平均网速低,数据集6表示波动性大于0.02且平均网速低。
本申请实施例提供的视频播放方法,通过目标视频播放过程中确定预设时间区间内的网速信息以及网络波动信息,对目标视频的网络数据类型进行分类,以确定属于上述哪一数据集中,便于后续准确地确定该目标视频所切换的目标数视频分辨率。
步骤206:基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率。
实际应用中,终端系统在每个预设时间区间内获取播放目标视频对应的网速信息以及网络波动信息,目的是为了确定该目标视频在下一个预设时间区间内所播放的目标视频分辨率;进而实现终端系统根据当前终端的网络数据自动调整后续播放的视频分辨率,既要保证视频播放过程中无卡顿,也要使得用户对切换清晰度无感,给用户观看目标视频较好的视觉体验。
下述为本申请实施例重点介绍,如何根据目标视频的网速信息和网络波动信息确定目标视频的目标视频分辨率的过程;具体的,所述基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率,包括:
将所述网速信息和所述网络波动信息输入分辨率分类器,确定所述目标视频的目标视频分辨率。
需要说明的是,本申请实施例为了提供一个更加切合用户感受、更精准也更利于部署的机器学习训练落地方法,以训练能够实现自动调整目标视频分辨率的模型,将根据目标视频播放时的网速信息以及网络波动信息所划分出的不用类型的数据集,实现对目标视频分辨率的确定,并且将训练出的模型转化为决策树,更利于线上部署进行实时计算。
其中,分辨率分类器可以理解为确定目标视频分辨率的分类模型,即可根据输入的目标视频对应的网速信息以及网络波动信息,进而输出该目标视频继续播放所对应的视频分辨率。
实际应用中,终端系统可将上述获取到的目标视频在预设时间区间内对应的网速信息以及网络波动信息,输入至分辨率分类器中,由分辨率分类器输出该目标视频在下一预设时间区间内,播放视频所对应的目标视频分辨率,便于后续目标视频以目标视频分辨率继续播放,需要说明的是,该调整视频分辨率的过程为该目标视频播放过程中不断实时调整的过程。
进一步地,本申请实施例中提及的分辨率分类器,为了实现输出目标视频在各个预设时间区间内播放的视频分辨率,可对该分辨率分类器进行预先训练,以使得该分辨率分类器具有相应的分辨率确定功能;具体的,所述分辨率分类器的训练方式如下:
获取并播放样本视频;
计算所述样本视频在预设时间区间内的网速信息和网络波动信息;
将所述样本视频的网速信息和网络波动信息输入分辨率分类器中,获得所述样本视频的样本视频分辨率;
确定所述样本视频在预设时间区间内的当前视频质量分数,其中,所述样本视频基于所述样本视频分辨率进行播放;
基于所述当前视频质量分数对所述分辨率分类器中的参数进行调整,并继续训练所述分辨率分类器,直至达到训练停止条件。
其中,样本视频可以理解为训练分辨率分类器的样本数据,并根据大量的样本数据对分辨率分类器进行多轮训练,以获得能够准确地输出目标视频在下一预设时间区间内的视频播放分辨率。
其中,当前视频质量分数可以理解为用户针对当前分辨率播放视频,进行打分评价的体验分数,即为QoE分数(用户体验分数)。
在模型训练的实际应用中,终端系统可先获取到样本视频,并播放该样本视频,并获取样本视频在预设时间区间内的网速信息和网络波动信息,具体的获取网络信息的方式可参考上述实施例中的描述,在此则不作过多赘述;进一步地,可将样本视频在预设时间区间内的网速信息和网络波动信息输入至分辨率分类器中,进而获得样本视频对应的样本视频分辨率;随后,为了能够实时确定以该样本视频分辨率进行播放时用户观看的体验感受,在模型训练过程中,可利用用户对于样本视频进行打分,确定当前视频质量分数;并且基于该当前视频质量分数对分辨率分类器中的参数进行调整,并继续训练该分辨率分类器,直至达到训练停止条件;另外,对于训练该分辨率分类器的停止条件可以为预设次数或者是预设时间,本实施例对此不作过多赘述。
需要说明的是,该分辨率分类器的训练过程可以理解为强化模型训练的过程,以实现该分辨率分类器能够根据终端当前的网速信息以及网络波动信息,准确地获得目标视频分辨率;由于上述在用户数据采集中对网速信息以及网络波动信息进行了分类,那么该分辨率分类器中也可实现对每一类的网速信息以及网络波动信息进行强化学习,使得对分辨率确定更加具有针对性。
另外,终端系统在对样本视频确定当前视频质量分数时,需要根据播放该样本视频时的卡顿信息确定;具体的,所述确定所述样本视频在预设时间区间内的当前视频质量分数,包括:
基于所述样本视频在预设时间区间内的网络数据集合,确定所述样本视频的视频卡顿信息;
基于所述视频卡顿信息确定所述样本视频的视频处理策略,其中,所述视频处理策略包括卡顿处理策略以及非卡顿处理策略;
基于所述视频处理策略确定所述样本视频的当前视频质量分数。
其中,视频卡顿信息可以理解为样本视频在以样本视频分辨率进行播放时,发生卡顿状况所记录的信息,包括但不限于卡顿时长、卡顿次数等信息。
视频处理策略可以理解为样本视频在播放时发生卡顿状况,所对样本视频的应对策略,比如对于视频卡顿结束后的所对应的处理策略、或者是视频卡顿未结束所对应的处理策略。
实际应用中,终端系统可获取到样本视频在预设时间区间内的网络数据集合,并根据网络数据集合中的网络数据确定样本视频在播放过程中,所发生的视频卡顿的卡顿信息,再根据视频卡顿过程对应的视频卡顿信息确定相应的视频处理策略,进而根据不同的视频处理策略,能够获得不同的样本视频的当前视频质量分数;其中,视频处理策略包括卡顿处理策略及非卡顿处理策略。
需要说明的是,本申请实施例提供的视频播放方法,利用用户真实的反馈,拟合出新的QoE确定方式,取代现有技术中常使用的线性累加方式,以实现用户对于样本视频精准的打分,以决策出相应的视频分辨率来播放样本视频。
进一步地,下述分别对两种视频处理策略所确定当前视频质量分数进行介绍;具体的,在所述视频处理策略为非卡顿处理策略的情况下,所述基于所述视频处理策略确定所述样本视频的当前视频质量分数,包括:
基于所述非卡顿处理策略确定所述样本视频前一采集点对应的视频质量分数;
基于所述样本视频的视频卡顿信息确定所述样本视频的卡顿时长以及卡顿次数;
基于所述卡顿时长、所述卡顿次数以及所述前一采集点对应的视频质量分数确定所述样本视频的当前视频质量分数。
其中,非卡顿处理策略可以理解为样本视频在预设时间区间内卡顿状况已经结束后,所对应的视频处理策略,即计算样本视频的当前视频质量分数的策略。
其中,采集点对应的视频质量分数,可以理解为样本视频在播放过程中某一时刻所播放的样本视频,用户对其进行用户体验打分的分值。
实际应用中,终端系统在确定视频处理策略为非卡顿处理策略时,即可确定前一采集点对应的视频质量分数;再根据样本视频的视频卡顿信息确定样本视频的卡顿时长以及卡顿次数,在该样本视频在播放过程中,该卡顿时长以及卡顿次数则作为对视频质量分数的影响因素;进而,还可根据前一采集点对应的视频质量分数、卡顿时长以及卡顿次数,确定样本视频的当前视频质量分数。
具体实施时,样本视频播放过程中所发生卡顿状况,就会较大地影响用户的观看体验,在用户评分时,卡顿状况的发生即为减分因素,那么,最终用户观看视频的视频质量分数应该减去卡顿状况带来的惩罚分数,才能保证视频质量分数的准确性;具体的,所述基于所述卡顿时长、所述卡顿次数以及所述前一采集点对应的视频质量分数确定所述样本视频的当前视频质量分数,包括:
基于所述卡顿时长以及所述卡顿次数确定所述样本视频的视频质量分数;
基于所述样本视频前一采集点对应的视频质量分数以及所述视频质量惩罚分数,确定所述样本视频的当前视频质量分数,其中,所述当前视频质量分数为当前采集点对应的用户体验分数(QoE分数)。
其中,视频质量惩罚分数可以理解为样本视频在播放过程中,发生的卡顿状况对应的用户评价的惩罚分数。
实际应用中,终端系统在播放样本视频时,用户可根据该样本视频在播放时所发生的卡顿状况,确定相应的卡顿时长以及卡顿系数,进而确定该样本视频的视频质量惩罚分数;最后,当前视频质量分数则可理解为用前一采集点对应的视频质量分数减去视频质量惩罚分数而获得的分数,其中,当前视频质量分数为当前样本视频播放过程中采集点对应的视频质量分数。
进一步地,所述基于所述卡顿时长以及所述卡顿次数确定所述样本视频的视频质量惩罚分数,包括:
基于所述卡顿时长确定所述样本视频的时长惩罚分数,基于所述卡顿次数确定所述样本视频的次数惩罚分数;
根据所述时长惩罚分数以及所述次数惩罚分数,确定所述样本视频的视频质量惩罚分数。
其中,时长惩罚分数可以理解为针对卡顿状况中的卡顿时长,用户所评价的时长惩罚分数;次数惩罚分数可以理解为针对卡顿状况中的卡顿次数,用户所评价的次数惩罚分数。
实际应用中,终端系统可利用前一采集点对应的视频质量分数分别减去时长惩罚分数和次数惩罚分数,进而才能获得样本视频的当前视频质量分数。
下述为视频播放过程中,卡顿状况结束之后的当前视频质量分数的计算逻辑:若视频卡顿结束,当前视频质量分数即可利用前一采集点的视频质量分数的基础上,减去此次卡顿时长的惩罚分数以及预设时间区间内卡顿次数对应的惩罚分数;需要说明的是,起播一秒内发生卡顿并且卡顿时长小于等于3s,则认为是首帧卡顿,只记录卡顿次数,不扣除分数,具体分数计算按照非卡顿结束时间进行计算。
卡顿时长惩罚分数的确定过程:确定当前次卡顿时长,若该当前次卡顿时长小于等于3s时,卡顿时长的惩罚分数(bufferTimePunish)=1.62*此次卡顿时长+3.24;若该当前次卡顿时长大于3s时,卡顿时长的惩罚分数(bufferTimePunish)=2.7*此次卡顿时长;上述具体分数计算所涉及的数值仅为参考示例,本实施例在具体应用过程中,可采用其他数值计算,对此不作具体限定。
卡顿次数惩罚分数的确定过程:确定最近30s内卡顿次数(时间间隔为过往卡顿结束时间和当前时间的差值);若最近30s内卡顿次数小于等于2,则卡顿次数惩罚分数(bufferCountPunish)=3.12*最近30s内卡顿次数;若最近30s内卡顿次数大于2(大于10依旧按10计算),则卡顿次数惩罚分数(bufferCountPunish)=2.16*最近30s内卡顿次数。
综上可知,在样本视频播放过程中卡顿结束后,所述样本视频的当前视频质量分数=前一采集点对应的视频质量分数-卡顿时长惩罚分数-卡顿次数惩罚分数。
本申请实施例提供的视频播放方法,在确定当前视频质量分数过程中,考虑到视频发生卡顿时的惩罚分数,以更能精准地计算当前采集点视频质量分数,避免了目前采用线性累加的方式,不仅能够节省计算资源,还能获得准确地视频质量分数,便于后续对分辨率分类器的调参处理。
本申请另一实施例提供了在视频卡顿处理策略为卡顿处理策略时,样本视频的当前视频质量分数的确定过程如下;具体的,在所述视频卡顿处理策略为卡顿处理策略的情况下,所述基于所述视频处理策略确定所述样本视频的当前视频质量分数,包括:
基于所述卡顿处理策略确定所述样本视频当前采集点与前一采集点之间的视频卡顿间隔时长;
基于所述视频卡顿间隔时长确定所述样本视频的当前视频质量分数。
其中,卡顿处理策略可以理解为样本视频在预设时间区间内卡顿状况未结束,所对应的视频处理策略,即计算样本视频的当前视频质量分数的策略。
实际应用中,终端系统可根据卡顿处理策略确定样本视频,当前采集点与前一采集点之间的视频卡顿间隔时长,即此次卡顿事件与上次卡顿事件的时间差(单位为秒);进一步地,还可根据该视频卡顿间隔时长计算样本视频的当前视频质量分数。
下述为视频播放过程中,卡顿状况未结束的当前视频质量分数的计算逻辑:若当前卡顿事件距离上次卡顿事件发生不足30s,或者上次计算分数减去目标值的绝对值大于1,此时认为用户的分数是在逐步恢复的,该期间中每一秒的视频质量分数=0.9*上一秒视频质量分数+0.1*目标视频质量分数,即公式可参考如下:powValue=pow(0.9,视频卡顿间隔时长),表示0.9的视频卡顿间隔时长次方,或者表达为当前视频质量分数=powValue*上一次卡顿时间的视频质量分数+(1-powValue)*目标视频质量分数。
需要说明的是,用户在认为当前样本视频播放已经恢复正常,即不再发生卡顿状况时,当前视频质量分数为当前播放视频清晰度(分辨率)对应的用户体验分数,其中,360P对应的分数为56、480P对应的分数为73.8、720P对应的分数为79.6、1080P及以上对应分数为81.5。
基于此,对于当前视频质量分数的拟合过程,通过收集到的信息,可以得到以下结论:1、视频清晰度越高,用户体验越好,用户体验呈现边界递减效果。2、在固定某一清晰度情况下,随着用户观看时长增加,观看体验逐渐收敛到确定值。3、随着卡顿次数增多,卡顿次数带来的惩罚逐渐增多,但是增加到某一确定值后,惩罚维持不变。4、随着卡顿时间增多,卡顿时间带来的惩罚逐渐增多,但是增加到某一确定值后,惩罚维持不变。5、比起后续播放过程中产生的卡顿,视频刚起播发生卡顿对用户体验的影响较小。6、由于记忆效应,卡顿结束后用户体验会随着时间逐步恢复。7、切换清晰度后,用户体验会升高/降低至当下播放时间新的清晰度曲线对应的分数。
本申请实施例提供的视频播放方法,在确定当前视频质量分数过程中,还可根据卡顿事件的前后间隔时间差进行计算,以更能精准地计算当前采集点视频质量分数,便于后续对分辨率分类器的调参处理。
另外,本申请另一实施例提供的视频播放方法,为了更快地得到模型(分辨率分类器),节省训练时间,本实施例还可提供了一种快速降熵的方法,以提高模型训练的时长;具体的,所述基于所述当前视频质量分数对所述分辨率分类器中的参数进行调整,包括:
在所述当前视频质量分数满足预设衰减条件的情况下,对所述分辨率分类器中的参数进行衰减处理。
其中,预设衰减条件可以理解为在对模型中的熵的权重进行衰减处理的条件,该条件可以为训练的轮次,也可以为时长,在此不作具体限定。
原有算法熵权重每20000次更新一次,需要20万甚至更多轮的训练模型才能完全收敛,如果熵能自适应的调整并且不影响最终训练的模型性能,将有效的提高训练速度。因此,本实施例在实际应用中,修改为在当前熵权重下模型的没有明显收敛(600轮内训练集的QoE值没有提升)就对熵的权重做一次衰减;即理解为在当前视频质量分数满足预设衰减条件的情况下,就对分辨率分类器中的参数进行衰减处理。
需要说明的是,快速降熵方法将原始的每个模型训练需要二十多小时缩减为七八个小时,大大缩短了训练时间,同时训练得到的效果并没有得到影响;上述表述的具体训练次数仅为示例性描述,不作任何具体的限定。
步骤208:基于所述目标视频分辨率继续播放所述目标视频。
实际应用中,终端系统在根据上述训练过程中获得的分辨率分类器,可获得目标视频在预设时间区间后所继续播放的目标视频分辨率之后,即可按照新确定的目标视频分辨率继续播放该目标视频。
需要说明的是,在一个预设时间区间内可确定后一段时间区间内的视频分辨率,依次不断地确定每一段时间区间所播放目标视频对应的目标视频分辨率,完成对目标视频的继续播放。
综上,本申请实施例提供的视频播放方法,通过使用用户真实反馈视频播放的感受,来拟合出新的QoE公式,以替代取代目前常使用的线性累加公式;并且在视频数据采集时,使用用户当前终端的真实网络数据,即根据真实用户网速数据以及网速波动性划分出来的六种网络数据集,针对不同数据集分别进行训练,以训练出来的分辨率分类器更有针对性,能够对六种不同的网络数据集进行分类确定对应的分辨率,以替代常用的通用开源数据库;另外,在对分辨率分类器进行模型训练的过程中,还使用了快速降熵方法以加快训练速度,在模型效果并未得到影响的前提下,大大缩短了模型训练时长。
参见图3,图3示出了本申请一实施例提供的一种视频播放方法的分辨率分类器训练过程的流程示意图。
图3中主要涉及到数据采集分类模块、QoE公式拟合模块、模型训练模块以及转决策树线上部署模块这四个部分,以完成对分辨率分类器的模型训练过程,从而保证能够得到一个更加切合用户感受、更精确预测也更利于部署的机器学习算法。
图3中所涉及的数据采集分类模块主要实现对用户真实网络数据进行采集以及分类的工作,通过不同特征真实数据的训练,可以得到更有针对性的算法模型。
具体实施时,在网络数据采集方面,主要使用了埋点上报方法,用埋点记录视频起播十分钟内产生的每一条网速信息;然后对用户进行随机采样得到其网络情况,得到数据后需要对网速信息进行分类,分类时主要关注用户的平均网速以及网速的波动情况,并通过滑窗方法对平均网速以及网速波动性进行计算。并且在训练时使用同一数据集里面的数据进行训练和测试,得到的模型针对对应网速特征的用户,清晰度的预测效果更符合用户预期。
图3中的QoE公式拟合模块,为了更好的获取用户对视频过程中卡顿以及清晰度等情况的感受,先后组织几次分发视频让用户进行打分的活动,通过新的QoE拟合公式以替代原有的线性累加公式。
图3中的模型训练模块,在当前熵权重下模型的没有明显收敛(600轮内训练集的QoE值没有提升)就对熵的权重做一次衰减。通过该快速降熵方法将原始的每个模型训练需要二十多小时缩减为七八个小时,大大缩短了训练时间,同时训练得到的效果并没有得到影响。
图3中的转决策树线上部署模块,主要实现了将训练得到的模型转化为决策树,并部署到线上的工作。由于得到的模型体量过大因此使用了Pitree框架,最终得到针对不同网络特征的决策树代码。
实际应用中,数据采集分类模块对用户数据进行采集,采集到样本视频对应的网速信息以及网络波动信息,并对上述信息进行分为六类,分别为数据集1、数据集2、数据集3、数据集4、数据集5、数据集6,然后分别将这六类数据集输入至模型训练模块;该模型训练模块通过快速降熵方法对这六类数据集的数据进行模型训练,此外,在训练的过程中,还需要QoE公式拟合模块对QoE公式进行拟合获得当前视频质量分数,具体的,用户可观看视频进行打分,以完成对视频质量分数的拟合处理,获得各类视频播放时对应的视频质量分数。
通过该种模型训练方式可获得每类数据集对应的数据集模型,分别为数据集1的模型、数据集2的模型、数据集3的模型、数据集4的模型、数据集5的模型、数据集6的模型;进一步地,转决策树线上部署模块可将该六类数据集对应的模型转化为决策树进行线上部署,该种轻量级决策树的部署方式更有利于机器学习训练方法的落地。
综上,本申请实施例提供的一种视频播放方法的分辨率分类器训练的示意过程,即完成了对机器学习训练方法的落地部署,进而,解决了对视频自动调整分辨率的ABR算法,所带来的算法性能和部署开销之间的权衡问题,以较小的部署开销实现较大的算法性能的体现。
与上述方法实施例相对应,本申请还提供了视频播放装置实施例,图4示出了本申请一实施例提供的一种视频播放装置的结构示意图。如图4所示,该装置包括:
第一视频播放模块402,被配置为响应于视频播放指令,播放目标视频;
网络信息获取模块404,被配置为获取所述目标视频在预设时间区间内的网速信息和网络波动信息;
分辨率确定模块406,被配置为基于所述网速信息和所述网络波动信息确定所述目标视频的目标视频分辨率;
第二视频播放模块408,被配置为基于所述目标视频分辨率继续播放所述目标视频。
可选地,所述网络信息获取模块404,进一步被配置为:
获取所述目标视频在预设时间区间内的网络数据集合;
基于所述网络数据集合确定所述目标视频的网速信息和网络波动信息。
可选地,所述网络信息获取模块404,进一步被配置为:
根据预设数据划分规则对所述网络数据集合进行划分,获得多个网络数据子集合;
基于所述多个网络数据子集合确定所述目标视频的网速信息和网络波动信息。
可选地,所述网络信息获取模块404,进一步被配置为:
计算每个网络数据子集合的平均网速;
统计所述平均网速满足预设网速条件的网络数据子集合的数量,并基于所述网络数据子集合的数量确定所述目标视频的网速信息。
可选地,所述网络信息获取模块404,进一步被配置为:
计算每个网络数据子集合的网络数据差值,并统计所述网络数据差值满足预设阈值的网络数据子集合的数量;
将所述网络数据子集合的数量确定为所述目标视频的波动次数;
基于所述波动次数以及所述网络数据集合确定所述目标视频在预设时间区间内的网络波动信息。
可选地,所述分辨率确定模块406,进一步被配置为:
将所述网速信息和所述网络波动信息输入分辨率分类器,确定所述目标视频的目标视频分辨率。
可选地,所述装置还包括分类器训练模块,被配置为:
获取并播放样本视频;
计算所述样本视频在预设时间区间内的网速信息和网络波动信息;
将所述样本视频的网速信息和网络波动信息输入分辨率分类器中,获得所述样本视频的样本视频分辨率;
确定所述样本视频在预设时间区间内的当前视频质量分数,其中,所述样本视频基于所述样本视频分辨率进行播放;
基于所述当前视频质量分数对所述分辨率分类器中的参数进行调整,并继续训练所述分辨率分类器,直至达到训练停止条件。
可选地,所述分类器训练模块,进一步被配置为:
基于所述样本视频在预设时间区间内的网络数据集合,确定所述样本视频的视频卡顿信息;
基于所述视频卡顿信息确定所述样本视频的视频处理策略,其中,所述视频处理策略包括卡顿处理策略以及非卡顿处理策略;
基于所述视频处理策略确定所述样本视频的当前视频质量分数。
可选地,所述分类器训练模块,进一步被配置为:
基于所述非卡顿处理策略确定所述样本视频前一采集点对应的视频质量分数;
基于所述样本视频的视频卡顿信息确定所述样本视频的卡顿时长以及卡顿次数;
基于所述卡顿时长、所述卡顿次数以及所述前一采集点对应的视频质量分数确定所述样本视频的当前视频质量分数。
可选地,所述分类器训练模块,进一步被配置为:
基于所述卡顿时长以及所述卡顿次数确定所述样本视频的视频质量惩罚分数;
基于所述样本视频前一采集点对应的视频质量分数以及所述视频质量惩罚分数,确定所述样本视频的当前视频质量分数,其中,所述当前视频质量分数为当前采集点对应的视频质量分数。
可选地,所述分类器训练模块,进一步被配置为:
基于所述卡顿时长确定所述样本视频的时长惩罚分数,基于所述卡顿次数确定所述样本视频的次数惩罚分数;
根据所述时长惩罚分数以及所述次数惩罚分数,确定所述样本视频的视频质量惩罚分数。
可选地,所述分类器训练模块,进一步被配置为:
基于所述卡顿处理策略确定所述样本视频当前采集点与前一采集点之间的视频卡顿间隔时长;
基于所述视频卡顿间隔时长确定所述样本视频的当前视频质量分数。
可选地,所述分类器训练模块,进一步被配置为:
在所述当前视频质量分数满足预设衰减条件的情况下,对所述分辨率分类器中的参数进行衰减处理。
本申请实施例提供的视频播放装置,通过获取到目标视频在预设时间区间内的网速信息和网络波动信息,并根据网速信息以及网络波动信息确定该目标视频的目标视频分辨率,且该目标视频分辨率所播放的视频能适应于当前的网速信息,使得目标视频能够顺畅地被播放,进而,避免了由于网速不支持而导致视频播放卡顿的情况;同时,通过视频在播放过程中的网速信息以及网络波动信息自动确定目标视频分辨率,以进行视频分辨率调整,使得视频无卡顿播放,给以用户较好的观看体验,该方式也避免了用户的手动操作,也解决了观看视频时操作繁琐为用户带来不便的问题。
上述为本实施例的一种视频播放装置的示意性方案。需要说明的是,该视频播放装置的技术方案与上述的视频播放方法的技术方案属于同一构思,视频播放装置的技术方案未详细描述的细节内容,均可以参见上述视频播放方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520执行所述计算机指令时实现所述的视频播放方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的视频播放方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述视频播放方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述视频播放方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的视频播放方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述视频播放方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (15)

1.一种视频播放方法,其特征在于,包括:
响应于视频播放指令,播放目标视频;
获取所述目标视频在预设时间区间内的网速信息和网络波动信息;
将所述网速信息和所述网络波动信息输入分辨率分类器,确定所述目标视频的目标视频分辨率,其中,所述分辨率分类器根据视频处理策略训练获得,所述视频处理策略包括卡顿处理策略及非卡顿处理策略,所述卡顿处理策略为在样本视频处于预设时间区间内的卡顿状况未结束的情况下根据样本视频的卡顿间隔时长训练所述分辨率分辨器,所述非卡顿处理策略为在样本视频处于预设时间区间内的卡顿状况已经结束的情况下根据样本视频的卡顿时长、卡顿次数以及前一采集点对应的视频质量分数训练所述分辨率分辨器;
基于所述目标视频分辨率继续播放所述目标视频。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标视频在预设时间区间内的网速信息和网络波动信息,包括:
获取所述目标视频在预设时间区间内的网络数据集合;
基于所述网络数据集合确定所述目标视频的网速信息和网络波动信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述网络数据集合确定所述目标视频的网速信息和网络波动信息,包括:
根据预设数据划分规则对所述网络数据集合进行划分,获得多个网络数据子集合;
基于所述多个网络数据子集合确定所述目标视频的网速信息和网络波动信息。
4.根据权利要求3所述的方法,其特征在于,基于所述多个网络数据子集合确定所述目标视频的网速信息,包括:
计算每个网络数据子集合的平均网速;
统计所述平均网速满足预设网速条件的网络数据子集合的数量,并基于所述网络数据子集合的数量确定所述目标视频的网速信息。
5.根据权利要求3所述的方法,其特征在于,基于所述多个网络数据子集合确定所述目标视频的网络波动信息,包括:
计算每个网络数据子集合的网络数据差值,并统计所述网络数据差值满足预设阈值的网络数据子集合的数量;
将所述网络数据子集合的数量确定为所述目标视频的波动次数;
基于所述波动次数以及所述网络数据集合确定所述目标视频在预设时间区间内的网络波动信息。
6.根据权利要求1所述的方法,其特征在于,所述分辨率分类器的训练方式如下:
获取并播放样本视频;
计算所述样本视频在预设时间区间内的网速信息和网络波动信息;
将所述样本视频的网速信息和网络波动信息输入分辨率分类器中,获得所述样本视频的样本视频分辨率;
确定所述样本视频在预设时间区间内的当前视频质量分数,其中,所述样本视频基于所述样本视频分辨率进行播放;
基于所述当前视频质量分数对所述分辨率分类器中的参数进行调整,并继续训练所述分辨率分类器,直至达到训练停止条件。
7.根据权利要求6所述的方法,其特征在于,所述确定所述样本视频在预设时间区间内的当前视频质量分数,包括:
基于所述样本视频在预设时间区间内的网络数据集合,确定所述样本视频的视频卡顿信息;
基于所述视频卡顿信息确定所述样本视频的视频处理策略,其中,所述视频处理策略包括卡顿处理策略以及非卡顿处理策略;
基于所述视频处理策略确定所述样本视频的当前视频质量分数。
8.根据权利要求7所述的方法,其特征在于,在所述视频处理策略为非卡顿处理策略的情况下,所述基于所述视频处理策略确定所述样本视频的当前视频质量分数,包括:
基于所述非卡顿处理策略确定所述样本视频前一采集点对应的视频质量分数;
基于所述样本视频的视频卡顿信息确定所述样本视频的卡顿时长以及卡顿次数;
基于所述卡顿时长、所述卡顿次数以及所述前一采集点对应的视频质量分数确定所述样本视频的当前视频质量分数。
9.根据权利要求8所述的方法,其特征在于,所述基于所述卡顿时长、所述卡顿次数以及所述前一采集点对应的视频质量分数确定所述样本视频的当前视频质量分数,包括:
基于所述卡顿时长以及所述卡顿次数确定所述样本视频的视频质量惩罚分数;
基于所述样本视频前一采集点对应的视频质量分数以及所述视频质量惩罚分数,确定所述样本视频的当前视频质量分数,其中,所述当前视频质量分数为当前采集点对应的用户体验分数。
10.根据权利要求9所述的方法,其特征在于,所述基于所述卡顿时长以及所述卡顿次数确定所述样本视频的视频质量惩罚分数,包括:
基于所述卡顿时长确定所述样本视频的时长惩罚分数,基于所述卡顿次数确定所述样本视频的次数惩罚分数;
根据所述时长惩罚分数以及所述次数惩罚分数,确定所述样本视频的视频质量惩罚分数。
11.根据权利要求7所述的方法,其特征在于,在所述视频卡顿处理策略为卡顿处理策略的情况下,所述基于所述视频处理策略确定所述样本视频的当前视频质量分数,包括:
基于所述卡顿处理策略确定所述样本视频当前采集点与前一采集点之间的视频卡顿间隔时长;
基于所述视频卡顿间隔时长确定所述样本视频的当前视频质量分数。
12.根据权利要求6所述的方法,其特征在于,所述基于所述当前视频质量分数对所述分辨率分类器中的参数进行调整,包括:
在所述当前视频质量分数满足预设衰减条件的情况下,对所述分辨率分类器中的参数进行衰减处理。
13.一种视频播放装置,其特征在于,包括:
第一视频播放模块,被配置为响应于视频播放指令,播放目标视频;
网络信息获取模块,被配置为获取所述目标视频在预设时间区间内的网速信息和网络波动信息;
分辨率确定模块,将所述网速信息和所述网络波动信息输入分辨率分类器,确定所述目标视频的目标视频分辨率,其中,所述分辨率分类器根据视频处理策略训练获得,所述视频处理策略包括卡顿处理策略及非卡顿处理策略,所述卡顿处理策略为在样本视频处于预设时间区间内的卡顿状况未结束的情况下根据样本视频的卡顿间隔时长训练所述分辨率分辨器,所述非卡顿处理策略为在样本视频处于预设时间区间内的卡顿状况已经结束的情况下根据样本视频的卡顿时长、卡顿次数以及前一采集点对应的视频质量分数训练所述分辨率分辨器;
第二视频播放模块,被配置为基于所述目标视频分辨率继续播放所述目标视频。
14.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-12任意一项所述视频播放方法的步骤。
15.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-12任意一项所述视频播放方法的步骤。
CN202210642058.0A 2022-06-08 2022-06-08 视频播放方法及装置 Active CN115052190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210642058.0A CN115052190B (zh) 2022-06-08 2022-06-08 视频播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210642058.0A CN115052190B (zh) 2022-06-08 2022-06-08 视频播放方法及装置

Publications (2)

Publication Number Publication Date
CN115052190A CN115052190A (zh) 2022-09-13
CN115052190B true CN115052190B (zh) 2024-04-02

Family

ID=83161081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210642058.0A Active CN115052190B (zh) 2022-06-08 2022-06-08 视频播放方法及装置

Country Status (1)

Country Link
CN (1) CN115052190B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112740A (zh) * 2023-01-19 2023-05-12 深圳大学 一种视频播放方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106792169A (zh) * 2016-12-12 2017-05-31 深圳Tcl数字技术有限公司 网络视频播放处理方法及装置
CN110753266A (zh) * 2019-10-23 2020-02-04 深圳市酷开网络科技有限公司 视频清晰度的调整方法、装置和存储介质
CN111225397A (zh) * 2020-01-18 2020-06-02 温州大学大数据与信息技术研究院 一种基于物联网的企业无线网络优化计算机分析系统
CN112291620A (zh) * 2020-09-22 2021-01-29 北京邮电大学 视频播放方法、装置、电子设备及存储介质
CN112887795A (zh) * 2021-01-26 2021-06-01 脸萌有限公司 视频播放方法、装置、设备和介质
CN112954464A (zh) * 2021-01-21 2021-06-11 百果园技术(新加坡)有限公司 一种基于网络异常预测的视频清晰度选择方法及装置
CN113055749A (zh) * 2021-03-16 2021-06-29 安徽全采智能科技有限公司 一种基于5g传输视频的分辨率自动切换系统
CN113518250A (zh) * 2020-08-07 2021-10-19 腾讯科技(深圳)有限公司 一种多媒体数据处理方法、装置、设备及可读存储介质
CN114007142A (zh) * 2021-11-03 2022-02-01 北京雷石天地电子技术有限公司 视频播放方法、装置、电子设备及可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106792169A (zh) * 2016-12-12 2017-05-31 深圳Tcl数字技术有限公司 网络视频播放处理方法及装置
CN110753266A (zh) * 2019-10-23 2020-02-04 深圳市酷开网络科技有限公司 视频清晰度的调整方法、装置和存储介质
CN111225397A (zh) * 2020-01-18 2020-06-02 温州大学大数据与信息技术研究院 一种基于物联网的企业无线网络优化计算机分析系统
CN113518250A (zh) * 2020-08-07 2021-10-19 腾讯科技(深圳)有限公司 一种多媒体数据处理方法、装置、设备及可读存储介质
CN112291620A (zh) * 2020-09-22 2021-01-29 北京邮电大学 视频播放方法、装置、电子设备及存储介质
CN112954464A (zh) * 2021-01-21 2021-06-11 百果园技术(新加坡)有限公司 一种基于网络异常预测的视频清晰度选择方法及装置
CN112887795A (zh) * 2021-01-26 2021-06-01 脸萌有限公司 视频播放方法、装置、设备和介质
CN113055749A (zh) * 2021-03-16 2021-06-29 安徽全采智能科技有限公司 一种基于5g传输视频的分辨率自动切换系统
CN114007142A (zh) * 2021-11-03 2022-02-01 北京雷石天地电子技术有限公司 视频播放方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN115052190A (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN109740499B (zh) 视频分割方法、视频动作识别方法、装置、设备及介质
Seufert et al. “To pool or not to pool”: A comparison of temporal pooling methods for HTTP adaptive video streaming
US10541894B2 (en) Method for assessing the perceived quality of adaptive video streaming
JP2019512991A (ja) ストリーミング・ビデオの自動体感品質測定のための方法及びシステム
CN107454446A (zh) 基于体验质量分析的视频帧管理方法及其装置
CN115052190B (zh) 视频播放方法及装置
CN112887795B (zh) 视频播放方法、装置、设备和介质
CN114245209B (zh) 视频分辨率确定、模型训练、视频编码方法及装置
US20230319292A1 (en) Reinforcement learning based rate control
Gao et al. Content-aware personalised rate adaptation for adaptive streaming via deep video analysis
CN113411643A (zh) 一种视频质量优化方法、系统、电子设备及存储介质
EP3073736B1 (en) Method and device for measuring quality of experience of mobile video service
Li et al. DAVS: Dynamic-chunk quality aware adaptive video streaming using apprenticeship learning
CN113630625A (zh) 视频分发系统和视频分发方法
US20230011528A1 (en) Methods, systems, and media for selecting formats for streaming media content items
Zhang et al. A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http
CN114945097B (zh) 视频流处理方法及装置
CN113660488B (zh) 对多媒体数据进行流控及流控模型训练方法、以及装置
CN111031347A (zh) 一种视频处理的方法及装置、电子设备、存储介质
Naresh et al. PPO-ABR: Proximal Policy Optimization based Deep Reinforcement Learning for Adaptive BitRate streaming
Chen et al. Multiclass live streaming video quality classification based on convolutional neural networks
Meng et al. Fastconv: Fast learning based adaptive bitrate algorithm for video streaming
Zhou et al. Vibra: Neural adaptive streaming of VBR-encoded videos
CN113420165A (zh) 二分类模型的训练、多媒体数据的分类方法及装置
Baskaran et al. Dominant speaker detection in multipoint video communication using Markov chain with non-linear weights and dynamic transition window

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