CN107920275A - 视频播放方法、装置、终端及存储介质 - Google Patents
视频播放方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN107920275A CN107920275A CN201711469028.XA CN201711469028A CN107920275A CN 107920275 A CN107920275 A CN 107920275A CN 201711469028 A CN201711469028 A CN 201711469028A CN 107920275 A CN107920275 A CN 107920275A
- Authority
- CN
- China
- Prior art keywords
- video
- video flowing
- prediction
- time point
- time
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 16
- 230000003247 decreasing effect Effects 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 12
- 210000002569 neuron Anatomy 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000003066 decision tree Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 206010016256 fatigue Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4333—Processing operations in response to a pause request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种视频播放方法、装置、终端及存储介质,属于计算机应用技术领域。该方法包括:获取预测视频流,所述预测视频流是当前播放的视频中已缓存且尚未播放的视频流;将所述预测视频流输入预测模型,得到预测的第一暂停时间点,所述预测模型是根据样本视频流和样本时间点训练得到的;在所述视频播放到所述第一暂停时间点时,暂停播放所述视频,通过上述方法,通过获取视频中已缓存且尚未播放的预测视频流。本申请所示的方案通过预先设置好的预测模型从视频流中直接预测出适合暂停的时间点,并在播放到该适合暂停的时间点时暂停等待缓存足够的视频,避免了网络不通畅时在不适合暂停的时间点处发生卡顿的情况,提高了在线视频的播放效果。
Description
技术领域
本申请实施例涉及计算机应用技术领域,特别涉及一种视频播放方法、装置、终端及存储介质。
背景技术
用户通过终端中的视频客户端或者网页点播视频时,视频客户端或者网页中的视频播放器在后台从服务器拉取用户点播的视频流并缓存在本地,同时在前台播放缓存的视频流。
当终端和服务器之间的网络带宽较小时,可能出现视频播放器从服务器拉取视频流的速率低于前台播放的速率的情况。在相关技术中,视频播放器在播放在线视频时,可以定期检测已缓存且未播放的视频流的可播放时长,当可播放时长低于某一门限时,暂停视频播放,以等待后台拉取并缓存更多的视频流。
发明内容
本申请实施例提供的视频播放方法、装置、终端及存储介质。所述技术方案如下:
第一方面,提供了一种视频播放方法,所述方法包括:
获取预测视频流,所述预测视频流是当前播放的视频中已缓存且尚未播放的视频流;
将所述预测视频流输入预测模型,得到预测的第一暂停时间点,所述第一暂停时间点是所述预测视频流对应的播放时间段中的时间点,所述预测模型是根据样本视频流和样本时间点训练得到的;
在所述视频播放到所述第一暂停时间点时,暂停播放所述视频。
第二方面,提供了一种视频播放装置,所述装置包括:
视频流获取模块,用于获取预测视频流,所述预测视频流是当前播放的视频中已缓存且尚未播放的视频流;
预测模块,用于将所述预测视频流输入预测模型,得到预测的第一暂停时间点,所述第一暂停时间点是所述预测视频流对应的播放时间段中的时间点,所述预测模型是根据样本视频流和样本时间点训练得到的;
暂停模块,用于在所述视频播放到所述第一暂停时间点时,暂停播放所述视频。
第三方面,提供了一种终端,所述终端包括处理器、与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现第一方面提供的视频播放方法。
第四方面,一种计算机可读介质,其上存储有程序指令,所述程序指令被处理器执行时实现第一方面提供的视频播放方法。
本申请实施例提供的技术方案带来的有益效果是:
通过获取视频中已缓存且尚未播放的预测视频流,将预测视频流输入预测模型得到预测的第一暂停时间点,并在视频播放到第一暂停时间点时,暂停播放视频,即本申请所示的方案通过预先设置好的预测模型从视频流中直接预测出适合暂停的时间点,并在播放到该适合暂停的时间点时暂停等待缓存足够的视频,避免了网络不通畅时在不适合暂停的时间点处发生卡顿的情况,提高了在线视频的播放效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的在线视频播放***的结构示意图;
图2是本申请一个示例性实施例示出的视频播放方法的流程图;
图3是图2所示实施例涉及的一种对视频流进行降采样的示意图;
图4是图2所示实施例涉及的一种模型预测示意图;
图5是图2所示实施例涉及的另一种模型预测示意图;
图6是本申请一个实施例提供的视频播放装置的结构方框图;
图7是本申请一个实施例提供的终端的结构方框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请涉及的若干名词进行介绍。
预测模型:是一种用于根据输入的数据预测视频中的暂停时间点的机器学习模型。
预测模型是根据样本视频流和样本时间点训练获得的。其中,样本视频流是预先已知对应的播放时间段内哪个或者哪些时间点适合暂停的视频流。样本时间点是指在样本视频流中适合暂停的时间点。其中,样本时间点可以是标注人员预先在样本视频流中标注获得的时间点。
上述预测模型可以是分类模型,比如,该预测模型可以是神经网络模型(比如卷积神经网络模型)以及逻辑回归模型等。
比如,标注人员在样本视频流中标注样本时间点时,可以结合样本视频流中各个视频帧的画面内容和音频内容进行标注,例如,标注人员可以将样本视频流中的预定类型画面对应的播放时间点标注为样本时间点,其中,该预定类型画面可以是纯色画面(比如纯黑)、不包含人物的画面或者不包含字幕的画面等;相应的,标注人员也可以将样本视频流中的预定类型音频内容对应的时间点标注为样本时间点,其中,该预定类型音频内容可以是指无对话的音频内容。其中,上述样本时间点的选取原则,可以是在播放样本视频流时,在上述样本时间点处暂停不会过于影响用户的观看体验,比如,样本时间点可以是两段相对较为独立的剧情之间的某一播放时间点。
可选地,样本视频流和样本时间点存储于样本库。该样本库包括至少一组样本,每组样本包括一段样本视频流以及该段视频流对应的样本时间点。
需要说明的是,如无特殊说明,本申请后续各个实施例中涉及的时间点,均为视频中的播放进度时间点。比如,时间点为0小时0分30秒,指的是视频播放进度中的第30秒。
可选地,预测模型包括但不限于:深度神经网络(Deep Neural Network,DNN)模型、循环神经网络(Recurrent Neural Networks,RNN)模型、卷积神经网络(ConvolutionalNeural Network,CNN)模型、支持向量机(Support Vector Machine,SVM)、嵌入(embedding)模型以及梯度提升决策树(Gradient Boosting Decision Tree,GBDT)模型等模型中的至少一种,本实施例在此不再一一列举。
其中,DNN模型是一种深度学习框架。DNN模型包括输入层、至少一层隐层(或称,中间层)和输出层。可选地,输入层、至少一层隐层(或称,中间层)和输出层均包括至少一个神经元,神经元用于对接收到的数据进行处理。可选地,不同层之间的神经元的数量可以相同;或者,也可以不同。
RNN模型是一种具有反馈结构的神经网络。在RNN模型中,神经元的输出可以在下一个时间戳直接作用到自身,即,第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出。
CNN是一种深度前馈人工神经网络,通常包括巻积层、池化层以及激活函数等处理层,CNN的人工神经元可以响应一部分覆盖范围内的周围单元,在图像处理等场景有很好的表现。
支持向量机是一种基于统计学习理论的分类方法。在给定一组训练样本时,支持向量机通过采用监督式学习进行两类分类。在特征空间上令间隔最大,最终实现将给定的训练样本划分为两类。
embedding模型是基于实体和关系分布式向量表示,将每个三元组实例中的关系看作从实体头到实体尾的翻译。其中,三元组实例包括主体、关系、客体,三元组实例可以表示成(主体,关系,客体);主体为实体头,客体为实体尾。比如:小明的爸爸是大明,则通过三元组实例表示为(小明,爸爸,大明)。
GBDT模型是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结果累加起来作为最终结果。决策树的每个节点都会得到一个预测值,以年龄为例,预测值为属于年龄对应的节点的所有人年龄的平均值。
图1是本申请的一个示例性实施例示出的在线视频播放***的结构示意图,该***包括终端110和服务器120。
终端110具有通信功能,终端110包括但不限于:手机、平板电脑、可穿戴式设备、智能机器人、智能家居设备、膝上型便携计算机和台式计算机中的至少一种。
终端110中安装有操作***111和客户端112。
可选地,操作***111包括但不限于:windows***、Linux***、IOS(iPhone OS)***、安卓(Android)***或者windowsPhone***等。
客户端112具有在线视频播放功能,比如,该客户端112可以是视频播放器客户端或者内嵌视频播放组件的网页客户端等。客户端112在播放在线视频时,向服务器120请求拉取该视频对应的视频流,并将拉取的视频流缓存在本地。在播放视频时,客户端112按照默认或者用户指示的播放进度播放已缓存的视频流。并且,在播放视频过程中,客户端112可以获取预测视频流,该预测视频流是当前播放的视频中已缓存且尚未播放的视频流;客户端112将预测视频流输入预测模型,得到预测的第一暂停时间点,该第一暂停时间点是预测视频流对应的播放时间段中的时间点;客户端112在视频播放到所述第一暂停时间点时,暂停播放该视频。
可选地,终端110通过无线网络或有线网络与服务器120相连。
服务器120可以为独立的一台服务器主机;或者,也可以是多台服务器主机构成的服务器集群。
服务器120用于提供客户端112请求拉取的视频流。
可选地,上述终端110的数量可以为至少一个,服务器120的数量也可以为至少一个,本实施例对此不作限定。
可选地,本申请中,无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(HyperText Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Trassport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
可选地,本申请中各步骤的执行主体为终端中的客户端,该客户端可以是图1所示的在线视频播放***中的客户端112。
图2是本申请的一个示例性实施例示出的视频播放方法的流程图。该视频播放方法包括以下几个步骤。
步骤201,获取预测视频流,该预测视频流是当前播放的视频中已缓存且尚未播放的视频流。
客户端在播放某一在线视频的过程中,可以周期性的执行从当前播放的视频中已缓存且尚未播放的视频流获取预测视频流的步骤。比如,客户端以1min为一个周期,即每分钟获取一次预测视频流,并根据获取到的预测视频流执行后续预测步骤。
在获取预测视频流时,客户端可以将当前播放的视频中已缓存且尚未播放的视频流中,全部或者部分的视频流获取为上述预测视频流。
可选的,在获取预测视频流时,客户端将已缓存且尚未播放的视频流中,播放时间最晚的第一预定时长的视频流获取为预测视频流。
在本申请实施例中,为了降低后续预测的复杂度,同时降低将同一段视频流多次获取为预测视频流的可能性,在获取预测视频流时,客户端可以只获取已缓存的视频流中,播放时间最晚的一小段视频流。比如,客户端在获取预测视频流时,可以将已缓存且未播放的视频流中,播放时间最晚,且播放时长为20s的视频流获取为预测视频流。例如,假设客户端已缓存且尚未播放的视频流的播放时间在整个视频的播放时长中的0小时15分18秒到0小时18分05秒的区间内,则在获取预测视频流时,客户端可以将视频的播放时长中的0小时17分45秒到0小时18分05秒区间对应的视频流获取为预测视频流。
可选的,在获取预测视频流,客户端获取视频的当前播放时间点与视频中已缓存且尚未播放的最晚时间点之间的第一时长;当第一时长处于第一预定时长和第二预定时长之间时,按照预设的获取周期执行获取预测视频流的步骤,其中,该第二预定时长大于第一预定时长。
在实际应用中,当终端和服务器之间的网络状况较好,或者网络带宽较高时,客户端拉取视频流的速率通常不小于视频的播放速率,此时,不需要暂停视频播放以等待视频流的缓存。因此,在本申请实施例中,客户端在获取预测视频流之前,可以获取视频的当前播放时间点与已缓存的视频流的最晚播放时间点之间的第一时长,当该第一时长小于某一个阈值(即上述第二预定时长)时,同时大于要获取的预测视频流的时长(即第一预定时长)时,客户端可以周期性的获取预测视频流。
比如,假设第二预定时长为1分钟,第一预定时长为20s,当可播放时长(即当前播放时间点与已缓存且尚未播放的视频流的最晚时间点)小于1分钟且大于20s时,客户端可以认为暂停等待缓存已经不可避免,此时客户端可以每10s获取一次预测视频流,每次将已缓存的视频流中的最后20s视频流获取为预测视频流,直至可播放时长大于1分钟,或者小于20s。
步骤202,将预测视频流输入预测模型,得到预测的第一暂停时间点。
其中,第一暂停时间点是预测视频流对应的播放时间段中的时间点,预测模型是根据样本视频流和样本时间点训练得到的。
在本申请实施例中,客户端每次获取到预测视频流之后,即可以将预测视频流作为预测数据,输入到预测模型中,通过预测模型预测获得第一暂停时间点。其中,该第一暂停时间点是预测视频流中,预计适合进行暂停的时间点,且暂停时不会过于影响用户观看体验的时间点。
可选的,将预测视频流输入预测模型,得到预测的第一暂停时间点时,客户端对预测视频流进行降采样处理,获得降采样后的视频流,并将降采样后的视频流输入预测模型,得到第一暂停时间点。
在实际应用中,预测视频流中包含的数据量可能比较多,如果根据预测视频流中的所有数据进行预测,则会导致预测模型的预测效率较低,而如果缩小预测视频流的播放长度,则可能会因为预测视频流过短,包含的信息量过少而导致预测结果的准确性降低。因此,为了提高模型的预测效率,同时保证一定的预测效果,在本申请实施例中,可以对预测视频流进行降采样处理,并将降采样处理后的视频流输入预测模型,一方面,通过降采样减少输入预测模型的数据量,另一方面,降采样虽然大幅减少了输入预测模型的数据量,但是降采样后的视频流所包含的有用的信息量不会被大幅降低,从而能够保证一定的预测预测准确性,与不对预测视频流进行降采样而直接输入预测模型的方案相比,将预测视频流降采样后输入预测模型的方案,能够在大幅提高预测效率的同时,保证足够的预测准确性。
可选的,对预测视频流进行降采样处理,获得降采样后的视频流时,客户端对预测视频流进行降帧采样,获得第一视频流,第一视频流中包含按照预设采样率从预测视频流中采集到的各个视频帧,每个视频帧中包含图像帧和音频帧;对各个视频帧中的图像帧进行降分辨率采样,获得降分辨率后的图像帧;对各个视频帧中的音频帧进行降精度采样,获得降精度后的音频帧;将降分辨率后的图像帧以及降精度后的音频帧组合成降采样后的视频流。
由于视频流中除了包含图像帧之外,还包含与图像帧同步播放的音频帧,而本申请实施例中,对于图像帧和音频帧的降采样的方式也有所区别。
请参考图3,其示出了本申请实施例涉及的一种对视频流进行降采样的示意图。如图3所示,视频流可以看作由若干个视频帧组成的流式数据,每个视频帧中包含同步播放的图像帧和音频帧,如图3所示,在对预测视频流进行降帧采样时,首先按照预设的预设采样率,以视频帧为单位,对预测视频流进行降帧采样,比如,当预设采样率为1/4是,客户端可以在每相邻4个视频帧中采样出一个视频帧,并将采样出的各个视频帧组成的视频流作为第一视频流。通过降帧采样,客户端可以在保持信息量不会过多的减少的情况下,大幅度减少视频帧的帧数。
在图3中,客户端通过降帧采样获得第一视频流之后,分别对第一视频流中的每一个图像帧和每一个音频帧进行进一步的采样。
在对第一视频流中的每一图像帧进行采样时,客户端可以对每一图像帧进行降分辨率处理,获得降分辨率后的图像帧,比如,假设每一图像帧的原始分辨率为1080p,客户端可以通过降分辨率采样的方式,将每一图像帧的分辨率从1080p降为480p,在保证图像帧中包含的信息量的情况下,大幅减少每一图像帧的数据量。
在对第一视频流中每一音频帧进行采样时,客户端可以对每一音频帧进行将精度处理,获得降精度后的音频帧,其中,音频帧的精度可以通过位深度来表示,比如,假设每一音频帧的原始位深度为16,客户端可以通过降位深度采样的方式,将每一音频帧的的位深度降为8,在保证音频帧中包含的信息量的情况下,大幅减少每一音频帧的数据量。
在图3中,客户端获得降分辨率后的图像帧和将精度后的音频帧后,组合获得降采样后的视频流。
请参考图4,其示出了本申请实施例涉及的一种模型预测示意图。如图4所示,针对视频流中同时包含图像帧和音频帧的情况,预测模型可以只提取视频流中的图像帧,并根据提取出的图像帧预测获得第一暂停时间点;或者,预测模型也可以只提取视频流中的音频帧,并根据提取出的音频帧预测获得第一暂停时间点;或者,预测模型也可以同时提取视频流中的图像帧和音频帧,并结合视频流中的图像帧和音频帧获得第一暂停时间点。
可选的,预测模型中包含单个机器学习模型,在结合视频流中的图像帧和音频帧获得第一暂停时间点时,客户端将视频流中的图像帧和音频帧一起作为输入数据输入该单个机器学习模型,以获得上述第一暂停时间点。
可选的,预测模型中包含两个机器学习模型,即第一预测模型和第二预测模型,在将预测视频流输入预测模型,得到预测的第一暂停时间点时,客户端将预测视频流中的各个图像帧输入第一预测模型,获得预测的第一时间点集合,第一时间点集合中包含至少一个时间点;并将预测视频流中的各个音频帧输入第二预测模型,获得预测的第二时间点集合,第二时间点集合中包含至少一个时间点;再根据第一时间点集合和第二时间点集合获得第一暂停时间点。
请参考图5,其示出了本申请实施例涉及的另一种模型预测示意图。如图5所示,预测模型中包含第一预测模型和第二预测模型,其中第一预测模型是用于根据图像帧进行暂停时间点预测的模型,第二预测模型是根据音频帧进行暂停时间点预测的模型,在预测过程中,客户端将预测视频流(或者降采样后的视频流)输入预测模型后预测模型从输入的视频流中分别提取出图像帧和音频帧,并将提取到的图像帧输入到第一预测模型,得到由第一预测模型预测出的暂停时间点所组成的第一时间点集合,同时,预测模型将提取到的音频帧输入到第二预测模型,得到由第二预测模型预测出的暂停时间点所组成的第二时间点集合,最后,客户端综合第一时间点集合和第二时间点集合获得第一暂停时间点。
可选的,在根据第一时间点集合和第二时间点集合获得第一暂停时间点时,客户端对于时间点i,确定第二时间点集合中是否存在时间点j,时间点i是第一时间点集合中的任意时间点,时间点j与时间点i之间的时间差小于预设时间差;当第二时间点集合中存在时间点j时,根据时间点i和时间点j获取第一暂停时间点。
在本申请实施例中,在综合第一时间点集合和第二时间集合获得第一暂停时间点时,客户端可以将第一时间集合中的各个时间点与第二时间点集合中的各个时间点进行比对,根据不同时间集合中相近的时间点(相隔不超过预设时间差)来确定第一暂停时间点。
比如,假设上述预设时间差为2s,对于第一时间集合中的某一时间点t1,该时间点t1对应在视频中的播放时间为0小时36分1秒,而在第二时间点集合中存在某一时间点t2,该时间点t2对应在视频中的播放时间为0小时36分2秒,则t1和t2之间的时间差为1s,小于预设时间差,此时,客户端可以根据t1和t2来获得第一暂停时间点。
可选的,在根据时间点i和时间点j获取第一暂停时间点时,客户端将时间点i、时间点j或者时间点i和时间点j的中间时间点获取为第一暂停时间点。
比如,以时间点i为上述t1,时间点j为上述t2为例,客户端可以将t1和t2中的某一个时间点获取为第一暂停时间点,或者,客户端也可以将t1和t2的中间时间点(即0小时36分1秒500毫秒)获取为第一暂停时间点。
可选的,在将预测视频流输入预测模型之前,客户端对预测视频流中的每一个画面帧进行色块化处理,获得色块化处理的视频流,并将色块化处理的视频流输入预测模型。
比如,在上述降采样处理获得降采样后的视频流之后,客户端还可以对降采样后的视频流中的各个图像帧进行色块化处理,获得色块化处理的视频流。
步骤203,在视频播放到第一暂停时间点时,暂停播放该视频。
在本申请实施例中,客户端播放该视频达到上述预测获得的第一暂停时间点时,可以自动暂停该视频的播放,以等待拉取足够数据量或者足够播放时长的视频流。
可选的,在暂停播放视频时,客户端在视频播放到第一暂停时间点时,确定第一暂停时间点之后是否存在第二暂停时间点,第二暂停时间点是通过预测模型得到的另一暂停时间点;当第一暂停时间点之后不存在第二暂停时间点时,执行暂停播放视频的步骤。
在本申请实施例中,客户端可以周期性的获取预测视频流并预测暂停时间点,因此,当客户端从预测获得第一暂停时间点,至播放到第一暂停时间点的过程中,可能会继续预测一个或者一个以上的其它暂停时间点,此时,为了避免频繁的对视频进行暂停,保证用户顺畅的观影体验,客户端可以继续播放视频,直至下一个暂停时间点。
可选的,每次确定第一暂停时间点之后,确定第一暂停时间点之前是否存在尚未播放到的第三暂停时间点,若是,则将第三暂停时间点取消。
在另一种可能的实现方式中,当客户端从预测获得一个暂停时间点,至播放到该暂停时间点的过程中,如果预测到上述第一暂停时间点,则为了避免频繁的对视频进行暂停,保证用户顺畅的观影体验,客户端可以取消上一个暂停时间点,相应的,当客户端从预测获得第一暂停时间点,至播放到第一暂停时间点的过程中,继续预测出一个或者一个以上的其它暂停时间点,则客户端也可以取消该第一暂停时间点。
可选的,客户端在视频播放到第一暂停时间点时,可以获取已缓存且尚未播放的视频流的剩余播放时长,当该剩余播放时长不大于第三预定时长时,客户端执行暂停播放视频的步骤。
在本申请实施例中,当客户端从预测获得第一暂停时间点,至播放到第一暂停时间点的过程中,可能会因为终端和服务器之间的网络环境改善等原因,客户端拉取到了足够多的视频流,此时,不需要对视频进行暂停,因此,当客户端播放视频到达上述第一暂停时间点时,可以首先确定已缓存的视频流的剩余播放时长是否足够长,若是,则客户端可以不暂停播放,而是继续播放视频,直至下一个暂停时间点,反之,若确定已缓存的视频流的剩余播放时长不够长,则客户端可以在第一暂停时间点处暂停视频播放,以等待缓存更多的视频流。
可选的,在本申请实施例中,客户端在第一暂停时间点处暂停视频播放之后,可以周期性检测已缓存且尚未播放的视频流的可播放时长,当该可播放时长大于第四预定时长时,继续播放该视频。
通过本申请实施例所示的方案,客户端对用户观看视频过程中已经接收完成的视频流进行后台处理,利用预先训练好的预测模型,在已缓冲的进度条中确定比较适合暂停播放的暂停时间点;当卡顿已不可避免时,在所确定的暂停时间点处提前暂停播放,以等待缓冲。在一个具体的例子中,对于总时长为30分钟的视频,在剩余已缓冲时长小于2分钟时,客户端每隔10秒钟重新确定一次暂停时间点。确定过程如下:截取缓冲进度条最后20秒的视频流并进行降采样处理,将画面全部降采样的视频流输入至预测模型,预测模型输出这20秒中适合暂停播放的暂停时间点,在剩余已缓冲时长少于20秒时,在目标时间点处自动暂停播放。
其中,上述预测模型根据训练数据训练获得,该训练数据可以是人工提供的标注了暂停时间点的20s视频流,预测模型的训练可以在客户端开发或者设备出厂前完成,并且,该预测模型也可以通过在线进行更新。
综上所述,本申请实施例所示的方案,通过获取视频中已缓存且尚未播放的预测视频流,将预测视频流输入预测模型得到预测的第一暂停时间点,并在视频播放到第一暂停时间点时,暂停播放视频,即本申请所示的方案通过预先设置好的预测模型从视频流中直接预测出适合暂停的时间点,并在播放到该适合暂停的时间点时暂停等待缓存足够的视频,避免了网络不通畅时在不适合暂停的时间点处发生卡顿的情况,提高了在线视频的播放效果。
此外,本申请实施例所示的方案,在播放到达第一暂停时间点时,可以确定该第一暂停时间点之后是否存在其它暂停时间点,或者,确定剩余播放时长是否超过一定的阈值,如果该第一暂停时间点之后不存在其它暂停时间点,或者,剩余播放时长不超过一定的阈值,才执行暂停步骤,避免不必要的暂停操作。
另外,本申请实施例所示的方案,确定出第一暂停时间点之后,可以将第一暂停时间点之前,且尚未播放到的其它暂停时间点取消,以避免不必要的暂停操作。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图6,其示出了本申请一个实施例提供的视频播放装置的结构方框图,该视频播放装置可通过软件、硬件或者两者的结合实现成为终端的部分或者全部。该装置可以包括:视频流获取模块601、预测模块602以及暂停模块603。
视频流获取模块601,用于获取预测视频流,所述预测视频流是当前播放的视频中已缓存且尚未播放的视频流;
预测模块602,用于将所述预测视频流输入预测模型,得到预测的第一暂停时间点,所述第一暂停时间点是所述预测视频流对应的播放时间段中的时间点,所述预测模型是根据样本视频流和样本时间点训练得到的;
暂停模块603,用于在所述视频播放到所述第一暂停时间点时,暂停播放所述视频。
可选的,所述预测模块602,具体用于,
对所述预测视频流进行降采样处理,获得降采样后的视频流;
将所述降采样后的视频流输入所述预测模型,得到所述第一暂停时间点。
可选的,在对所述预测视频流进行降采样处理,获得降采样后的视频流时,所述预测模块602,具体用于,
对所述预测视频流进行降帧采样,获得第一视频流,所述第一视频流中包含按照预设采样率从所述预测视频流中采集到的各个视频帧,每个视频帧中包含图像帧和音频帧;
对所述各个视频帧中的图像帧进行降分辨率采样,获得降分辨率后的图像帧;
对所述各个视频帧中的音频帧进行降精度采样,获得降精度后的音频帧;
将所述降分辨率后的图像帧以及所述降精度后的音频帧组合成所述降采样后的视频流。
可选的,所述预测模型包括第一预测模型和第二预测模型,所述预测模块602,具体用于,
将所述预测视频流中的各个图像帧输入所述第一预测模型,获得预测的第一时间点集合,所述第一时间点集合中包含至少一个时间点;
将所述预测视频流中的各个音频帧输入所述第二预测模型,获得预测的第二时间点集合,所述第二时间点集合中包含至少一个时间点;
根据所述第一时间点集合和所述第二时间点集合获得所述第一暂停时间点。
可选的,在根据所述第一时间点集合和所述第二时间点集合获得所述第一暂停时间点时,所述预测模块602,具体用于,
对于时间点i,确定所述第二时间点集合中是否存在时间点j,所述时间点i是所述第一时间点集合中的任意时间点,所述时间点j与所述时间点i之间的时间差小于预设时间差;
当所述第二时间点集合中存在所述时间点j时,根据所述时间点i和所述时间点j获取所述第一暂停时间点。
可选的,所述视频流获取模块601,具体用于,
将所述已缓存且尚未播放的视频流中,播放时间最晚的第一预定时长的视频流获取为所述预测视频流。
可选的,所述视频流获取模块601,具体用于,
获取所述视频的当前播放时间点与所述视频中已缓存且尚未播放的最晚时间点之间的第一时长;
当所述第一时长处于所述第一预定时长和第二预定时长之间时,按照预设的获取周期执行所述获取预测视频流的步骤,所述第二预定时长大于所述第一预定时长。
本申请还提供一种计算机可读介质,其上存储有程序指令,程序指令被处理器执行时实现上述各个方法实施例提供的视频播放方法。
本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例提供的视频播放方法。
参考图7,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器710和存储器720。
处理器710可以包括一个或者多个处理核心。处理器710利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行终端的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块芯片进行实现。
可选地,处理器710执行存储器720中的程序指令时实现下上述各个方法实施例提供的视频播放方法。
存储器720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器720包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种视频播放方法,其特征在于,所述方法包括:
获取预测视频流,所述预测视频流是当前播放的视频中已缓存且尚未播放的视频流;
将所述预测视频流输入预测模型,得到预测的第一暂停时间点,所述第一暂停时间点是所述预测视频流对应的播放时间段中的时间点,所述预测模型是根据样本视频流和样本时间点训练得到的;
在所述视频播放到所述第一暂停时间点时,暂停播放所述视频。
2.根据权利要求1所述的方法,其特征在于,所述将所述预测视频流输入预测模型,得到预测的第一暂停时间点,包括:
对所述预测视频流进行降采样处理,获得降采样后的视频流;
将所述降采样后的视频流输入所述预测模型,得到所述第一暂停时间点。
3.根据权利要求2所述的方法,其特征在于,所述对所述预测视频流进行降采样处理,获得降采样后的视频流,包括:
对所述预测视频流进行降帧采样,获得第一视频流,所述第一视频流中包含按照预设采样率从所述预测视频流中采集到的各个视频帧,每个视频帧中包含图像帧和音频帧;
对所述各个视频帧中的图像帧进行降分辨率采样,获得降分辨率后的图像帧;
对所述各个视频帧中的音频帧进行降精度采样,获得降精度后的音频帧;
将所述降分辨率后的图像帧以及所述降精度后的音频帧组合成所述降采样后的视频流。
4.根据权利要求1至3任一所述的方法,其特征在于,所述预测模型包括第一预测模型和第二预测模型,所述将所述预测视频流输入预测模型,得到预测的第一暂停时间点,包括:
将所述预测视频流中的各个图像帧输入所述第一预测模型,获得预测的第一时间点集合,所述第一时间点集合中包含至少一个时间点;
将所述预测视频流中的各个音频帧输入所述第二预测模型,获得预测的第二时间点集合,所述第二时间点集合中包含至少一个时间点;
根据所述第一时间点集合和所述第二时间点集合获得所述第一暂停时间点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一时间点集合和所述第二时间点集合获得所述第一暂停时间点,包括:
对于时间点i,确定所述第二时间点集合中是否存在时间点j,所述时间点i是所述第一时间点集合中的任意时间点,所述时间点j与所述时间点i之间的时间差小于预设时间差;
当所述第二时间点集合中存在所述时间点j时,根据所述时间点i和所述时间点j获取所述第一暂停时间点。
6.根据权利要求1至3任一所述的方法,其特征在于,所述获取预测视频流,包括:
将所述已缓存且尚未播放的视频流中,播放时间最晚的第一预定时长的视频流获取为所述预测视频流。
7.根据权利要求6所述的方法,其特征在于,所述获取预测视频流,包括:
获取所述视频的当前播放时间点与所述视频中已缓存且尚未播放的最晚时间点之间的第一时长;
当所述第一时长处于所述第一预定时长和第二预定时长之间时,按照预设的获取周期执行所述获取预测视频流的步骤,所述第二预定时长大于所述第一预定时长。
8.一种视频播放装置,其特征在于,所述装置包括:
视频流获取模块,用于获取预测视频流,所述预测视频流是当前播放的视频中已缓存且尚未播放的视频流;
预测模块,用于将所述预测视频流输入预测模型,得到预测的第一暂停时间点,所述第一暂停时间点是所述预测视频流对应的播放时间段中的时间点,所述预测模型是根据样本视频流和样本时间点训练得到的;
暂停模块,用于在所述视频播放到所述第一暂停时间点时,暂停播放所述视频。
9.一种终端,其特征在于,所述终端包括处理器、与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1至7任一所述的视频播放方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令被处理器执行时实现如权利要求1至7任一所述的视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711469028.XA CN107920275B (zh) | 2017-12-29 | 2017-12-29 | 视频播放方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711469028.XA CN107920275B (zh) | 2017-12-29 | 2017-12-29 | 视频播放方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107920275A true CN107920275A (zh) | 2018-04-17 |
CN107920275B CN107920275B (zh) | 2020-06-09 |
Family
ID=61894453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711469028.XA Expired - Fee Related CN107920275B (zh) | 2017-12-29 | 2017-12-29 | 视频播放方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107920275B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064788A (zh) * | 2019-12-18 | 2020-04-24 | 深圳前海达闼云端智能科技有限公司 | 信号传输方法、机器人及计算机可读存储介质 |
CN111327956A (zh) * | 2020-02-13 | 2020-06-23 | 杭州海康威视***技术有限公司 | 一种视频播放方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905897A (zh) * | 2014-04-23 | 2014-07-02 | 无锡天脉聚源传媒科技有限公司 | 一种视频播放装置及其播放方法 |
JP5643242B2 (ja) * | 2012-02-15 | 2014-12-17 | 日本電信電話株式会社 | メディアプレイヤパラメタ推定装置及び方法及びプログラム |
US8930577B2 (en) * | 2011-09-13 | 2015-01-06 | Microsoft Corporation | Synchronizing streaming video between viewers over a network |
CN104918060A (zh) * | 2015-05-29 | 2015-09-16 | 北京奇艺世纪科技有限公司 | 一种视频广告中插点位置的选择方法和装置 |
CN105979345A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的处理方法及装置 |
CN106028088A (zh) * | 2016-06-16 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 媒体数据的***方法和装置 |
-
2017
- 2017-12-29 CN CN201711469028.XA patent/CN107920275B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930577B2 (en) * | 2011-09-13 | 2015-01-06 | Microsoft Corporation | Synchronizing streaming video between viewers over a network |
JP5643242B2 (ja) * | 2012-02-15 | 2014-12-17 | 日本電信電話株式会社 | メディアプレイヤパラメタ推定装置及び方法及びプログラム |
CN103905897A (zh) * | 2014-04-23 | 2014-07-02 | 无锡天脉聚源传媒科技有限公司 | 一种视频播放装置及其播放方法 |
CN104918060A (zh) * | 2015-05-29 | 2015-09-16 | 北京奇艺世纪科技有限公司 | 一种视频广告中插点位置的选择方法和装置 |
CN105979345A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的处理方法及装置 |
CN106028088A (zh) * | 2016-06-16 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 媒体数据的***方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064788A (zh) * | 2019-12-18 | 2020-04-24 | 深圳前海达闼云端智能科技有限公司 | 信号传输方法、机器人及计算机可读存储介质 |
CN111327956A (zh) * | 2020-02-13 | 2020-06-23 | 杭州海康威视***技术有限公司 | 一种视频播放方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107920275B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712661B (zh) | 一种直播视频处理方法、装置、设备及存储介质 | |
WO2020087974A1 (zh) | 生成模型的方法和装置 | |
US20200005046A1 (en) | Brand safety in video content | |
CN108012162A (zh) | 内容推荐方法及装置 | |
WO2019242222A1 (zh) | 用于生成信息的方法和装置 | |
JP7479750B2 (ja) | 仮想ビデオライブ放送処理方法及び装置、電子機器 | |
US20220222550A1 (en) | Model selection interface | |
US10535371B2 (en) | Speaker segmentation and clustering for video summarization | |
US11245968B2 (en) | Prediction model training via live stream concept association | |
JP6936554B2 (ja) | 自動映像選択装置、自動映像選択方法、コンピュータ可読記録媒体及びコンピューティング装置 | |
US11727265B2 (en) | Methods and apparatus to provide machine programmed creative support to a user | |
JP7475423B2 (ja) | ビデオからの同期した音声生成 | |
US20230206420A1 (en) | Method for detecting defect and method for training model | |
US20230072759A1 (en) | Method and apparatus for obtaining virtual image, computer device, computer-readable storage medium, and computer program product | |
WO2022028304A1 (zh) | 一种多媒体数据处理方法、装置、设备及可读存储介质 | |
US20200311433A1 (en) | Method and system for automatically producing video highlights | |
WO2023116233A1 (zh) | 视频卡顿预测方法、装置、设备和介质 | |
KR20190093722A (ko) | 전자장치, 그 제어방법 및 컴퓨터프로그램제품 | |
CN109448709A (zh) | 一种终端投屏的控制方法和终端 | |
CN105830429B (zh) | 用于处理被相机运动损坏的视频帧的方法和*** | |
CN113438285B (zh) | 一种基于私有云架构的智慧校园综合管理平台模型 | |
CN106535003A (zh) | 处理弹幕信息的方法、装置及*** | |
CN107909023A (zh) | 运动参数的识别方法、装置、终端及存储介质 | |
CN109271929B (zh) | 检测方法和装置 | |
CN107920275A (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 | ||
CB02 | Change of applicant information |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200609 |
|
CF01 | Termination of patent right due to non-payment of annual fee |