CN110198494B - 一种视频播放方法、装置、设备和存储介质 - Google Patents
一种视频播放方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110198494B CN110198494B CN201910580171.9A CN201910580171A CN110198494B CN 110198494 B CN110198494 B CN 110198494B CN 201910580171 A CN201910580171 A CN 201910580171A CN 110198494 B CN110198494 B CN 110198494B
- Authority
- CN
- China
- Prior art keywords
- playing
- video
- segmented
- time
- pause
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000009191 jumping Effects 0.000 claims abstract description 8
- 230000003044 adaptive effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 19
- 238000011897 real-time detection Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/47—End-user applications
- H04N21/472—End-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/47202—End-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
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种视频播放方法、装置、设备和存储介质。其中,该方法包括:根据视频播放指令分段下载待播放视频;根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;如果当前播放时间靠近所述播放卡顿时段,则跳转出所述播放卡顿时段继续播放下一分段视频。本发明实施例提供的技术方案,通过分段下载待播放视频,并根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段,在播放靠近该播放卡顿时段时直接跳过该播放卡顿时段,完全避免视频播放过程中相邻分段视频之间的卡顿现象,无需通过实时检测卡顿进行多次尝试性跳转,保证了卡顿跳转的准确性,提高了视频播放的流畅性。
Description
技术领域
本发明实施例涉及视频处理领域,尤其涉及一种视频播放方法、装置、设备和存储介质。
背景技术
流媒体传输的传输协议包括超文本传输协议(HyperText Transfer Protocol,HTTP),超文本传输协议包括但不限于基于HTTP协议的流媒体网络传输协议(HTTP LiveStreaming,HLS)、国际标准中的动态图像专家组(Moving Picture Experts Group,MPEG)、基于HTTP协议的动态自适应流(Dynamic Adaptive Streaming over HTTP,MPEG-DASH)和微软HTTP视频流(Microsoft Smooth Streaming,MSS)等;按照预设时长将整体的音视频文件切分成多个小视频数据段(ts文件),并对每个小视频数据段采用多种预设码率进行编码,此时每一视频数据段存在多个码率挡位供客户端选择下载;由于将同一视频数据段转码成多个不同码率挡位时采用的编码格式不同,会导致同一视频数据段在不同码率挡位下的起止播放时间戳存在细微差别,使得客户端在通过自适应码率下载播放不同的视频数据段时,如果相邻视频数据段所选择的码率不同,则导致前一视频数据段的终止时间戳与后一视频数据段的起始时间戳不匹配,从而在该时间段内播放时造成视频卡顿。
目前,客户端通过实时检测当前播放位置在预设时长是否发生变化来判断是否出现卡顿,如果出现卡顿则向后跳转指定时长继续播放,如果一次跳转还出现卡顿则继续跳转,直至视频正常播放或者达到跳转上限;现有技术中如果在预设时长内检测到出现卡顿时,此时已经存在当前播放位置在预设时长内未变化带来的卡顿,因此无法完全避免卡顿现象,同时如果卡顿较长还需要进行多次跳转,而且可能达到跳转上限后还无法正常播放视频,会导致永久卡顿,只能通过客户端重启或者刷新才能恢复,严重影响用户观看视频的体验。
发明内容
本发明实施例提供了一种视频播放方法、装置、设备和存储介质,避免视频播放过程中的卡顿,提高视频播放的流畅性。
第一方面,本发明实施例提供了一种视频播放方法,该方法包括:
根据视频播放指令分段下载待播放视频;
根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;
如果当前播放时间靠近所述播放卡顿时段,则跳转出所述播放卡顿时段继续播放下一分段视频。
第二方面,本发明实施例提供了一种视频播放装置,该装置包括:
分段下载模块,用于根据视频播放指令分段下载待播放视频;
卡顿时段确定模块,用于根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;
卡顿跳转播放模块,用于如果当前播放时间靠近所述播放卡顿时段,则跳转出所述播放卡顿时段继续播放下一分段视频。
第三方面,本发明实施例提供了一种视频播放系统,该系统包括:客户端和资源服务端;
所述客户端上设置有如第二方面中所述的视频播放装置;所述资源服务端根据所述客户端的视频播放指令依次向所述客户端下发待播放视频中的分段视频。
第四方面,本发明实施例提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的视频播放方法。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的视频播放方法。
本发明实施例提供了一种视频播放方法、装置、设备和存储介质,通过分段下载待播放视频,并根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段,在播放靠近该播放卡顿时段时直接跳过该播放卡顿时段,完全避免视频播放过程中相邻分段视频之间的卡顿现象,无需通过实时检测卡顿进行多次尝试性跳转,保证了卡顿跳转的准确性,提高了视频播放的流畅性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的一种视频播放方法所适用的应用场景的场景架构图;
图2A为本发明实施例一提供的一种视频播放方法的流程图
图2B为本发明实施例一提供的视频播放过程的原理示意图;
图3A为本发明实施例二提供的一种视频播放方法的流程图;
图3B为本发明实施例二提供的视频播放过程的原理示意图;
图4A为本发明实施例三提供的一种视频播放方法的流程图;
图4B为本发明实施例三提供的视频播放过程的原理示意图;
图5为本发明实施例四提供的一种视频播放装置的结构示意图;
图6为本发明实施例五提供的一种视频播放系统的结构示意图;
图7为本发明实施例六提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本实施例中主要针对通过分段存储视频并采用多种码率对每一分段视频进行编码时,造成的相邻分段视频之间的播放时间戳不匹配,从而导致分段播放视频卡顿的问题,此时采用一种实时自动检测播放卡顿时段的卡顿优化策略,根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段,从而在播放时能够直接跳过该播放卡顿时段,避免卡顿,提高视频播放的流畅性。
图1为本发明实施例提供的一种视频播放方法所适用的应用场景的场景架构图。具体的,参考图1,该应用场景中可以包括客户端10和资源服务端20。
其中,客户端10上配置有用于视频播放的各类播放软件,如支持直播或者点播视频的播放器应用程序等,用户在客户端10上执行对应的直播参与或者视频点播操作,生成对应的视频播放指令,以从资源服务端20中分段下载对应的待播放视频;资源服务端20为任一种采用HTTP协议分段存储各个用户上传的视频数据的文件服务器,该资源服务端20对于任一用户上传的视频数据均会按照预设时长进行切分,同时设定不同分段视频的下载顺序,并对切分后的每一分段视频采用多种码率进行转码编码,使得每一分段视频均对应有多种码率以供客户端播放时选择下载,此时由于同一分段视频在采用不同码率编码时,所采用的编码格式与原始分段视频的编码方式不同,而且不同码率编码的视频帧率也不同,导致同一分段视频在不同码率下的起止播放时间戳存在细微差别,使得如果客户端下载的相邻分段视频的码率不同,则会在播放相邻分段视频时出现播放卡顿。
具体的,本实施例中客户端10根据用户对待播放视频执行播放操作生成对应的视频播放指令,并发送给资源服务端20;资源服务端20查找到该视频播放指令指定播放的待播放视频经过切分且多码率编码后得到的各个分段视频,并按照对应的下载顺序分别在每一分段视频对应的多码率下选取出一个不同特定码率下的分段视频下发给客户端10,如图1所示,并告知客户端10每个分段视频在该对应特定码率下的起止播放时间戳;客户端10根据接收到的分段视频的起止播放时间戳分别确定出各个相邻分段视频之间的播放卡顿时段,以在播放时直接跳过该播放卡顿时段,从而避免视频播放过程中的卡顿,提高视频播放的流畅性。
本实施例对于客户端10确定播放卡顿时段的具体操作在下述视频播放方法中进行详细的解释说明,在此不作具体介绍。
实施例一
图2A为本发明实施例一提供的一种视频播放方法的流程图,本实施例可应用于通过任一种播放器进行网络直播或者视频点播的情况中。本实施例提供的一种视频播放方法可以由本发明实施例提供的视频播放装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的设备中,该设备可以是配置有任一种用于网络直播或视频点播的播放应用的客户端,该客户端可以是手机、平板电脑或笔记本等任一种智能终端。
具体的,参考图2A,该方法可以包括如下步骤:
S210,根据视频播放指令分段下载待播放视频。
具体的,本实施例主要针对通过分段存储视频并采用多种码率对每一分段视频进行编码时,所造成的相邻分段视频之间的播放时间戳不匹配,从而导致分段播放视频卡顿的问题,此时资源服务端中对用户上传的任一视频进行分段存储,如用户直播上传的视频、录制分享给其他用户的小视频或者各类影视作品等,资源服务端按照预设时长对各个视频进行分段,并采用多种预设码率对每一分段视频进行重新编码,此时任一视频中的每一分段视频均存在多种码率挡位供客户端在播放该视频时选择下载。
可选的,用户通过在客户端的某一视频页面中选择本次待播放的视频,如图2B所示,通过点击该页面中待播放视频的播放按钮,生成对应的视频播放指令,进而将该视频播放指令发送给资源服务端,资源服务端查找出该视频播放指令指定的待播放视频分段存储后的各个分段视频,进而按照对应的分段顺序下发给客户端,使得客户端分段下载本次指定的待播放视频。
S220,根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段。
具体的,由于资源服务端在对视频分段存储后,针对每一分段视频,均会采用多种预设码率进行重新编码,使得每一分段视频均存在多种码率挡位供客户端选择下载,而由于对每一分段视频采用不同码率进行重新编码时,所采用的编码格式与原始分段视频的编码方式不同,而且不同码率编码的视频帧率也不同,导致同一分段视频在不同码率挡位下的播放时间戳存在细微差别;其中,播放时间戳为在视频播放过程中为各个分段视频指定的对应播放位置,包括起始播放时间戳和终止播放时间戳;如分段视频1在采用码率1进行重新编码后对应的起止播放时间戳可以为0-6s,在采用码率2进行重新编码后对应的起止播放时间戳可以为0-5.6s;而分段视频2在采用码率1进行重新编码后对应的起止播放时间戳可以为6-12s,在采用码率2进行重新编码后对应的起止播放时间戳可以为5.6-11.8s等。
具体的,客户端在分段下载待播放视频时,会在每一分段视频对应的多种码率挡位中选择一个码率挡位进行下载,此时资源服务端在向客户端下发对应码率挡位下的各个分段视频时,还会通知客户端各个分段视频在该码率挡位下的起止播放时间戳;进而根据各个分段视频的起始播放时间戳和终止播放时间戳分别判断每一相邻分段视频之间是否存在播放卡顿的情况,并确定相邻分段视频之间的播放卡顿时段,该播放卡顿时段包括出现卡顿的起始播放时间点和终止播放时间点;示例性的,上述采用不同码率重新编码的分段视频1和分段视频2,如果客户端下载采用码率2进行重新编码的分段视频1和采用码率1进行重新编码的分段视频2,此时客户端得到分段视频1的起止播放时间戳可以为0-5.6s,分段视频2的起止播放时间戳可以为6-12s,则在该分段视频1和分段视频2之间存在0.4s的空白,进而确定分段视频1和分段视频2之间的播放卡顿时段为5.6-6s。
S230,如果当前播放时间靠近播放卡顿时段,则跳转出播放卡顿时段继续播放下一分段视频。
可选的,本实施例会按照分段下载的各个分段视频的顺序依次播放待播放视频中的各个分段视频,此时如果当前播放时间靠近相邻分段视频之间的播放卡顿时段,也就是待播放视频当前将要播放至相邻分段视频之间的卡顿区域时,如图2B所示,则控制待播放视频的播放进度条向后跳转出该相邻分段视频之间的播放卡顿时段,进而继续播放相邻分段视频中的下一分段视频,从而避免待播放视频中由于不同分段视频的码率挡位不同而造成的播放卡顿,提高视频播放过程中的相邻分段视频之间的流畅性。
需要说明的是,本实施例中的分段下载和播放可以同时执行,对S210-S230的执行顺序不作具体限定;示例性的,客户端在下载分段视频1后可以直接播放,同时开始下载分段视频2,在下载分段视频2后确定分段视频1和分段视频2之间的播放卡顿时段,同时继续下载分段视频3;此时由于相比视频播放,下载时间较短,因此在分段视频1的播放过程中,已经下载好分段视频2,并确定出分段视频1和分段视频2之间的播放卡顿时段,进而能够完全避免待播放视频中相邻分段视频之间的播放卡顿。
本实施例提供的技术方案,通过分段下载待播放视频,并根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段,在播放靠近该播放卡顿时段时直接跳过该播放卡顿时段,完全避免视频播放过程中相邻分段视频之间的卡顿现象,无需通过实时检测卡顿进行多次尝试性跳转,保证了卡顿跳转的准确性,提高了视频播放的流畅性。
实施例二
图3A为本发明实施例二提供的一种视频播放方法的流程图,图3B为本发明实施例二提供的视频播放过程的原理示意图。本实施例是在上述实施例的基础上进行优化,本实施例主要待播放视频中的相邻分段视频之间的播放卡顿时段的具体确定过程进行详细的解释说明。
可选的,如图3A所示,本实施例可以包括如下步骤:
S310,根据视频播放指令分段下载待播放视频。
S320,如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定从当前分段视频的终止播放时间戳开始,到下一分段视频的起始播放时间戳结束的播放时段为当前分段视频与下一分段视频之间的播放卡顿时段。
具体的,本实施例在每次下载一个分段视频后,均会判断该分段视频与上一时刻下载的分段视频之间是否存在播放卡顿现象,此时将本次下载的分段视频作为相邻分段视频中的下一分段视频,将上一时刻下载的分段视频作为相邻分段视频中的当前分段视频,进而如图3B所示,判断当前分段视频的起止播放时间戳中的终止播放时间戳是否小于下一分段视频的起始播放时间戳,如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,说明从当前分段视频到下一分段视频之间存在一段空白播放区间,从而造成播放卡顿,此时将从当前分段视频的终止播放时间戳开始,到下一分段视频的起始播放时间戳结束的播放时段,确定为当前分段视频与下一分段视频之间的播放卡顿时段,此时该播放卡顿时段的起始播放时间点为当前分段视频的终止播放时间戳,播放卡顿时段的终止始播放时间点为下一分段视频的起始播放时间戳。
需要说明的是,客户端依次下载待播放视频中的各个分段视频,并在每次下载一个分段视频后,均执行上述操作,从而实时得到最新的相邻分段视频之间的播放卡顿时段。
此外,由于经过相同码率进行重新编码的相邻分段视频之间的起止播放时间戳是连续的,因此如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定当前分段视频与下一分段视频的码率不同,才会造成相邻分段视频之间的播放卡顿。
S330,如果当前播放时间与播放卡顿时段的起始播放时间点的时差小于等于预设播放时差阈值,则直接跳转至播放卡顿时段的终止播放时间点继续播放下一分段视频。
可选的,为了在相邻分段视频之间存在播放卡顿时,能够快速跳转出该播放卡顿时段,本实施例可以通过判断当前播放时间与对应的播放卡顿时段的起始播放时间点的时差,确定是否快要播放至当前分段视频对应的相邻分段视频之间的播放卡顿时段,此时可以预先设定一个预设播放时差阈值,以在当前播放时间与播放卡顿时段的起始播放时间点的时差小于等于预设播放时差阈值,也就是当前播放时间距离播放卡顿时段的起始播放时间点还有预设播放时差阈值时,即可执行跳转步骤,直接控制播放进度条跳转至播放卡顿时段的终止播放时间点,也就是该播放卡顿时段对应的相邻分段视频中的下一分段视频的起始播放时间戳的位置,从而继续播放下一分段视频,及时跳过可能出现的卡顿情况。需要说明的是,本实施例中的预设播放时差阈值可以结合具体的播放场景设置,对此不作限定。
示例性的,如果分段视频1的起止播放时间戳为0-5.6s,分段视频2的起止播放时间戳为6-12s,且预设播放时差阈值为0.2s,此时分段视频1和分段视频2之间的播放卡顿时段为5.6-6s,本实施例在播放分段视频1的过程中判断当前播放时间与播放卡顿时段的起始播放时间点之间的时差,在当前播放时间为5.4s时,与播放卡顿时段的起始播放时间点5.6s之间相差0.2s,则直接控制播放进度条跳转至播放卡顿时段的终止播放时间点6s的位置,继续播放分段视频2。
本实施例提供的技术方案,如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定从当前分段视频的终止播放时间戳开始,到下一分段视频的起始播放时间戳结束的播放时段为当前分段视频与下一分段视频之间的播放卡顿时段;同时在当前播放时间与播放卡顿时段的起始播放时间点的时差小于等于预设播放时差阈值时,直接控制跳转至播放卡顿时段的终止播放时间点继续播放下一分段视频,从而避免相邻分段视频之间的播放卡顿,提高视频播放的流畅性。
实施例三
图4A为本发明实施例三提供的一种视频播放方法的流程图,图4B为本发明实施例三提供的视频播放过程的原理示意图。本实施例是在上述实施例的基础上进行优化,本实施例主要对待播放视频的分段下载过程和下载后的每一分段视频的起止播放时间戳的存储过程进行具体说明。
可选的,如图4A所示,本实施例可以包括如下步骤:
S410,根据视频播放指令获取待播放视频的分段下载顺序。
具体的,由于资源服务端在对任一视频进行分段存储时,首先会形成一个索引文件,用于指示该视频中包含的各个分段视频的顺序,客户端在根据用户执行的直播或点播操作生成对应的视频播放指令,并发送给资源服务端,资源服务端根据该视频播放指令将本次指定播放得待播放视频在分段存储时生成的索引文件返回给客户端,使客户端确定待播放视频中包含的各个分段视频的分段下载顺序,以便后续依次下载各个分段视频。
S420,根据分段下载顺序,依次下载待播放视频中的分段视频。
具体的,客户端在确定待播放视频中各个分段视频的分段下载顺序后,按照该分段下载顺序依次向资源服务端请求下载待播放视频中的各个分段视频。
可选的,针对每一分段视频的下载,本实施例中根据视频播放指令分段下载待播放视频,具体可以包括:向资源服务端发送对当前分段视频的下载请求;接收资源服务端下发的在自适应码率下的当前分段视频。
其中,下载请求中携带当前分段视频的自适应码率,该自适应码率由当前网络带宽确定。具体的,客户端在根据分段下载顺序依次下载待播放视频中的每个分段视频时,如图4B所示,首先根据当前的网络带宽等情况确定分段视频中在多码率挡位下的能够最大限度满足网络传输速率的自适应码率,并根据该自适应码率生成当前分段视频的下载请求,以使资源服务端根据每一分段视频对应的下载请求中携带的当前分段视频的自适应码率,在该分段视频对应的多种码率挡位下选择出该自适应码率下的当前分段视频,并下发给客户端,由客户端接收资源服务端下发的在自适应码率下的当前分段视频,并继续根据当前时刻的网络带宽确定下一分段视频对应的自适应码率,并生成对应的下载请求继续发送给资源服务端请求下载,依次循环,直至下载完待播放视频中的最后一个分段视频。
示例性的,根据分段下载顺序首先下载分段视频1,此时根据当前网络带宽确定需要下载的分段视频1的自适应码率1,并根据该自适应码率1生成分段视频1的下载请求发送给资源服务端,由资源服务端选取出自适应码率1下的分段视频1下发给客户端,客户端在下载完成分段视频1后,继续根据当前网络带宽确定需要下载的分段视频2的自适应码率2,按照上述步骤请求资源服务端向客户端下发自适应码率2下的分段视频2,依此类推,直至下载完成待播放视频中的最后一个分段视频n。
此外,本实施例资源服务端在下发待播放视频中的分段视频时,为了准确判断各个分段视频的起止播放时间戳,还可以包括:接收资源服务端下发的在自适应码率下的当前分段视频的起止播放时间戳。
具体的,资源服务端根据每一分段视频的下载请求,将分段视频和该分段视频对应的起止播放时间戳同时下发给客户端,以便客户端及时根据各个分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段。
S430,在预先设定的缓存区中记录下载后的每一分段视频的起止播放时间戳。
可选的,为了后续能够快速方便的查找各个分段视频的起止播放时间戳,本实施例在每次下载完待播放视频中的一个分段视频时,均在预先设定的缓存区中记录本次下载的当前分段视频的起止播放时间戳,从而记录每一分段视频的起止播放时间戳,以便后续确定相邻分段视频之间的播放卡顿时段时,可以直接在该缓存区中查找相邻分段视频的起止播放时间戳,提高播放卡顿时段的确定效率。
S440,根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段。
S450,如果当前播放时间靠近播放卡顿时段,则跳转出播放卡顿时段继续播放下一分段视频。
S460,根据当前播放时间实时更新缓存区中记录的分段视频。
可选的,为了保证缓存区的内存利用率,本实施例根据当前播放时间跳转出对应的播放卡顿时段后,由于后续不再需要查找已播放过的分段视频的信息,因此根据当前播放时间实时舍弃缓存区中记录的对后续播放卡顿分析无实际贡献的分段视频,从而增加缓存区的可用空间。示例性的,根据当前播放时间实时更新缓存区中记录的分段视频,具体可以包括:删除缓存区中位于当前播放时间之前的分段视频的起止播放时间戳。本实施例直接在缓存区中删除位于当前播放时间之前的分段视频的起止播放时间戳,降低分段视频起止播放时间戳的查找时间。
本实施例提供的技术方案,根据针对每一分段视频的下载请求中携带的该分段视频的自适应码率,直接下载自适应码率下的各个分段视频,在满足当前网络带宽的基础上,最大限度的提高分段视频的下载速率,同时通过预设的缓存区存储各个分段视频的起止播放时间戳,提高相邻分段视频之间的播放卡顿时段的准确性。
实施例四
图5为本发明实施例四提供的一种视频播放装置的结构示意图,具体的,如图5所示,该装置可以包括:
分段下载模块510,用于根据视频播放指令分段下载待播放视频;
卡顿时段确定模块520,用于根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;
卡顿跳转播放模块530,用于如果当前播放时间靠近播放卡顿时段,则跳转出播放卡顿时段继续播放下一分段视频。
本实施例提供的技术方案,通过分段下载待播放视频,并根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段,在播放靠近该播放卡顿时段时直接跳过该播放卡顿时段,完全避免视频播放过程中相邻分段视频之间的卡顿现象,无需通过实时检测卡顿进行多次尝试性跳转,保证了卡顿跳转的准确性,提高了视频播放的流畅性。
进一步的,上述卡顿时段确定模块520,具体可以用于:
如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定从当前分段视频的终止播放时间戳开始,到下一分段视频的起始播放时间戳结束的播放时段为当前分段视频与下一分段视频之间的播放卡顿时段。
进一步的,上述卡顿跳转播放模块530,具体可以用于:
如果当前播放时间与所述播放卡顿时段的起始播放时间点的时差小于等于预设播放时差阈值,则直接跳转至所述播放卡顿时段的终止播放时间点继续播放下一分段视频。
进一步的,上述播放卡顿时段的起始播放时间点为相邻分段视频中当前分段视频的终止播放时间戳,上述播放卡顿时段的终止播放时间点为相邻分段视频中下一分段视频的起始播放时间戳。
进一步的,上述视频播放装置,还可以包括:
码率确定模块,用于如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定当前分段视频与下一分段视频的码率不同。
进一步的,上述分段下载模块510,具体可以用于:
根据视频播放指令获取待播放视频的分段下载顺序;
根据分段下载顺序,依次下载待播放视频中的分段视频。
进一步的,上述分段下载模块510,具体还可以用于:
向资源服务端发送对当前分段视频的下载请求,该下载请求中携带当前分段视频的自适应码率,该自适应码率由当前网络带宽确定;
接收资源服务端下发的在自适应码率下的当前分段视频。
进一步的,上述视频播放装置,还可以包括:
时间戳接收模块,用于接收资源服务端下发的在自适应码率下的当前分段视频的起止播放时间戳。
进一步的,上述视频播放装置,还可以包括:
时间戳记录模块,用于在预先设定的缓存区中记录下载后的每一分段视频的起止播放时间戳。
进一步的,上述视频播放装置,还可以包括:
缓存更新模块,用于根据当前播放时间实时更新缓存区中记录的分段视频。
进一步的,上述缓存更新模块,具体可以用于:
删除缓存区中位于当前播放时间之前的分段视频的起止播放时间戳。
本实施例提供的视频播放装置可适用于上述任意实施例提供的视频播放方法,具备相应的功能和有益效果。
实施例五
图6为本发明实施例五提供的一种视频播放系统的结构示意图。参照图6,该视频播放系统包括:客户端610和资源服务端620。
具体的,客户端610上设置有本发明上述实施例中提供的视频播放装置,适用于本发明任意实施例提供的视频播放方法,具体执行过程参见本发明任意实施例中的视频播放方法,具备相应的功能,在此不作详细介绍;资源服务端620根据客户端的视频播放指令依次向客户端下发待播放视频中的分段视频。
实施例六
图7为本发明实施例六提供的一种设备的结构示意图,如图7所示,该设备包括处理器70、存储装置71和通信装置72;设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;设备中的处理器70、存储装置71和通信装置72可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储装置71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中提供的视频播放方法对应的程序指令/模块。处理器70通过运行存储在存储装置71中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述视频播放方法。
存储装置71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置72可用于实现设备间的网络连接或者移动数据连接。
本实施例提供的一种设备可用于执行上述任意实施例提供的视频播放方法,具备相应的功能和有益效果。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的视频播放方法。该方法具体可以包括:
根据视频播放指令分段下载待播放视频;
根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;
如果当前播放时间靠近播放卡顿时段,则跳转出播放卡顿时段继续播放下一分段视频。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的视频播放方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述视频播放装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种视频播放方法,其特征在于,包括:
根据视频播放指令以自适应码率分段下载待播放视频;
根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;
如果当前播放时间靠近所述播放卡顿时段,则跳转出所述播放卡顿时段继续播放下一分段视频。
2.根据权利要求1所述的方法,其特征在于,所述根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段,包括:
如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定从当前分段视频的终止播放时间戳开始,到下一分段视频的起始播放时间戳结束的播放时段为当前分段视频与下一分段视频之间的播放卡顿时段。
3.根据权利要求2所述的方法,其特征在于,如果当前播放时间靠近所述播放卡顿时段,则跳转出所述播放卡顿时段继续播放下一分段视频,包括:
如果当前播放时间与所述播放卡顿时段的起始播放时间点的时差小于等于预设播放时差阈值,则直接跳转至所述播放卡顿时段的终止播放时间点继续播放下一分段视频。
4.根据权利要求3所述的方法,其特征在于,所述播放卡顿时段的起始播放时间点为相邻分段视频中当前分段视频的终止播放时间戳,所述播放卡顿时段的终止播放时间点为相邻分段视频中下一分段视频的起始播放时间戳。
5.根据权利要求2所述的方法,其特征在于,还包括:
如果当前分段视频的终止播放时间戳小于下一分段视频的起始播放时间戳,则确定当前分段视频与下一分段视频的码率不同。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据视频播放指令分段下载待播放视频,包括:
根据视频播放指令获取所述待播放视频的分段下载顺序;
根据所述分段下载顺序,依次下载所述待播放视频中的分段视频。
7.根据权利要求6所述的方法,其特征在于,所述根据视频播放指令分段下载待播放视频,包括:
向资源服务端发送对当前分段视频的下载请求,所述下载请求中携带所述当前分段视频的自适应码率,所述自适应码率由当前网络带宽确定;
接收所述资源服务端下发的在所述自适应码率下的当前分段视频。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收所述资源服务端下发的在所述自适应码率下的当前分段视频的起止播放时间戳。
9.根据权利要求1-5任一项所述的方法,其特征在于,在根据视频播放指令分段下载待播放视频之后,还包括:
在预先设定的缓存区中记录下载后的每一分段视频的起止播放时间戳。
10.根据权利要求9所述的方法,其特征在于,还包括,
根据所述当前播放时间实时更新所述缓存区中记录的分段视频。
11.根据权利要求10所述的方法,其特征在于,根据所述当前播放时间实时更新所述缓存区中记录的分段视频,包括:
删除所述缓存区中位于所述当前播放时间之前的分段视频的起止播放时间戳。
12.一种视频播放装置,其特征在于,包括:
分段下载模块,用于根据视频播放指令以自适应码率分段下载待播放视频;
卡顿时段确定模块,用于根据分段视频的起止播放时间戳确定相邻分段视频之间的播放卡顿时段;
卡顿跳转播放模块,用于如果当前播放时间靠近所述播放卡顿时段,则跳转出所述播放卡顿时段继续播放下一分段视频。
13.一种视频播放系统,其特征在于,包括:客户端和资源服务端;
所述客户端上设置有如权利要求12所述的视频播放装置;所述资源服务端根据所述客户端的视频播放指令依次向所述客户端下发待播放视频中的分段视频。
14.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的视频播放方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一所述的视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580171.9A CN110198494B (zh) | 2019-06-28 | 2019-06-28 | 一种视频播放方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580171.9A CN110198494B (zh) | 2019-06-28 | 2019-06-28 | 一种视频播放方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110198494A CN110198494A (zh) | 2019-09-03 |
CN110198494B true CN110198494B (zh) | 2021-07-20 |
Family
ID=67755481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580171.9A Active CN110198494B (zh) | 2019-06-28 | 2019-06-28 | 一种视频播放方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110198494B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110856034A (zh) * | 2019-11-25 | 2020-02-28 | 西安奥卡云数据科技有限公司 | 一种视频文件的缓存方法及系统 |
CN113014966A (zh) * | 2019-12-19 | 2021-06-22 | 中兴通讯股份有限公司 | Mp4文件虚拟mss分片方法、设备和存储介质 |
CN111083420B (zh) * | 2019-12-31 | 2021-10-29 | 广州市百果园网络科技有限公司 | 一种视频通话系统、方法、设备和存储介质 |
CN115002505A (zh) * | 2022-08-02 | 2022-09-02 | 广州市千钧网络科技有限公司 | 一种中断重连直播流的时移控制方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106688239A (zh) * | 2015-08-25 | 2017-05-17 | 华为技术有限公司 | 视频下载方法、装置及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011150657A1 (zh) * | 2010-12-31 | 2011-12-08 | 华为技术有限公司 | 流媒体中播放时间点跳转后的处理方法及装置 |
US20140226955A1 (en) * | 2013-02-12 | 2014-08-14 | Takes Llc | Generating a sequence of video clips based on meta data |
CN104202684A (zh) * | 2014-08-27 | 2014-12-10 | 珠海全志科技股份有限公司 | 一种分段网络视频无缝播放方法和装置 |
CN104581208A (zh) * | 2015-01-30 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 一种用于视频点播以及用于辅助视频点播的方法和装置 |
US9438945B1 (en) * | 2015-02-24 | 2016-09-06 | Carnegie Technology Investment Limited | Method for continuously playing video clips without regeneration |
CN104811751B (zh) * | 2015-04-28 | 2018-08-28 | 深圳市优网科技有限公司 | 一种流媒体播放时的卡顿识别方法和装置 |
CN105681874A (zh) * | 2015-06-02 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 网络视频在线播放的方法和装置 |
CN105162555B (zh) * | 2015-09-24 | 2019-06-25 | 广州市百果园网络科技有限公司 | 一种码率调整方法及其终端 |
CN109714631A (zh) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | 一种基于http视频流动态自适应码率选择方法 |
-
2019
- 2019-06-28 CN CN201910580171.9A patent/CN110198494B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106688239A (zh) * | 2015-08-25 | 2017-05-17 | 华为技术有限公司 | 视频下载方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
《MPEG/DASH中基于码率预测补偿的自适应调度算法》;王磊;《南京理工大学学报》;20180430;全文 * |
《VTD: A monitoring index of transmission quality for streaming media》;Xilong Mao,Hui Cheng,Jie Tan,Donglai Xu,Tao Li,Qiang Zeng;《2012 2nd International Conference on Consumer Electronics, Communications and Networks (CECNet)》;20120517;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110198494A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110198494B (zh) | 一种视频播放方法、装置、设备和存储介质 | |
US20170085933A1 (en) | Advertising detection in adaptive bitrate streaming | |
JP7096292B2 (ja) | トリックプレイモードにおいて可変速度を提供するためのシステムおよび方法 | |
CN110198495B (zh) | 一种视频下载和播放的方法、装置、设备和存储介质 | |
US10701417B2 (en) | Systems and methods for providing audio content during trick-play playback | |
CN103024456A (zh) | 一种在线视频播放方法及视频播放服务器 | |
CN102761524B (zh) | 一种流媒体存储、播放方法及相应系统 | |
US9986267B2 (en) | Methods and systems for dynamically editing, encoding, posting and updating live video content | |
US20130110980A1 (en) | System and method for predicitive trick play using adaptive video streaming | |
CN111447455A (zh) | 直播视频流回放处理方法、装置及计算设备 | |
US8665963B2 (en) | Communication terminal, content reproduction method, content reproduction program, and content reproduction system for distributing and reproducing video contents with reduced stress | |
US20140115626A1 (en) | Method and system for enhancing redistributed audio/video content | |
CN107634928B (zh) | 一种码流数据的处理方法及装置 | |
CN111385660A (zh) | 视频的点播方法、装置、设备及存储介质 | |
CN110225370B (zh) | 一种多媒体内容个性化呈现的时间线控制方法 | |
CN102594773B (zh) | 一种实现数据获取的方法和系统 | |
CN106231414B (zh) | 基于iptv的播放模式切换的控制方法及装置 | |
US20160173551A1 (en) | System and method for session mobility for adaptive bitrate streaming | |
CN114025201A (zh) | 一种视频播放方法、装置、设备及存储介质 | |
US20170142179A1 (en) | Delivery of media content segments in a content delivery network | |
CN105007521A (zh) | 一种ts视频的播放方法及装置 | |
CN107835180A (zh) | 一种视频倍数播放的方法和系统 | |
CN106657084B (zh) | 一种基于hls协议的视频播放方法及装置 | |
CN115623237A (zh) | 一种列表直播方法、装置、设备及计算机可读存储介质 | |
CN115150675A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220613 Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 511400 floor 5-13, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |