CN112822522A - 视频播放方法、装置、设备及存储介质 - Google Patents
视频播放方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112822522A CN112822522A CN202011617745.4A CN202011617745A CN112822522A CN 112822522 A CN112822522 A CN 112822522A CN 202011617745 A CN202011617745 A CN 202011617745A CN 112822522 A CN112822522 A CN 112822522A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- playing
- frame information
- information
- 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.)
- Pending
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000009877 rendering Methods 0.000 claims description 17
- 230000002093 peripheral Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000919 ceramic Substances 0.000 description 2
- 230000001960 triggered Effects 0.000 description 2
- 230000003247 decreasing Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 238000011105 stabilization Methods 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/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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- 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
-
- 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
Abstract
本申请公开了一种视频播放方法、装置、设备及存储介质,属于音视频处理技术领域。所述方法包括:存储视频中视频帧的帧信息;在播放视频的过程中,响应于对视频的跳转播放操作结束,根据跳转播放操作指示的播放进度确定当前需要播放的目标视频帧;响应于目标视频帧为非关键帧,确定帧信息中的参考帧信息,参考帧信息对应的参考视频帧包括从目标视频帧之前最近的关键帧开始,到目标视频帧为止的视频帧;根据参考帧信息对参考视频帧进行解码,得到目标视频帧的画面数据;根据画面数据播放目标视频帧。根据目标视频帧的画面数据播放目标视频帧,能够实现从目标视频帧开始继续播放视频,提升了跳转播放的准确性。
Description
技术领域
本申请涉及音视频处理技术领域,特别涉及一种视频播放方法、装置、设备及存储介质。
背景技术
为了压缩视频的大小,计算机设备在对视频编码时会将视频帧分为关键帧和非关键帧。其中,关键帧和非关键帧能够组成画面组(Group of Pictures,GOP)。客户端在播放视频时,关键帧能够单独解码从而渲染出一帧图像,而非关键帧由于只存储了与相邻视频帧之间的差异信息,因此在解码时,需要使用其所在GOP中的相邻视频帧解码出的解码参考信息,才能够渲染出一帧图像。例如,在动态图像专家组(Moving Picture Experts Group,MPEG)发布的标准下,视频包括I帧、P帧以及B帧。其中,I帧为关键帧。P帧以及B帧为非关键帧。
客户端在播放视频时,可能会接收到跳转播放操作(seek)。该跳转播放操作用于指示客户端将当前播放的视频帧,跳转播放为该跳转播放操作所指示的视频帧并继续播放该视频。
然而,当跳转播放的视频帧为非关键帧时。客户端将无法播放出该非关键帧,只能从该非关键帧之前或之后的关键帧开始播放视频。跳转播放的准确性较低。
发明内容
本申请提供了一种视频播放方法、装置、设备及存储介质,可以提升跳转播放的准确性。所述技术方案如下:
根据本申请的一方面,提供了一种视频播放方法,所述方法包括:
存储视频中视频帧的帧信息;
在播放所述视频的过程中,响应于对所述视频的跳转播放操作结束,根据所述跳转播放操作指示的播放进度确定当前需要播放的目标视频帧;
响应于所述目标视频帧为非关键帧,确定所述帧信息中的参考帧信息,所述参考帧信息对应的参考视频帧包括从所述目标视频帧之前最近的关键帧开始,到所述目标视频帧为止的视频帧;
根据所述参考帧信息对所述参考视频帧进行解码,得到所述目标视频帧的画面数据;
根据所述画面数据播放所述目标视频帧。
根据本申请的另一方面,提供了一种视频播放装置,所述装置包括:
存储模块,用于存储视频中视频帧的帧信息;
确定模块,用于在播放所述视频的过程中,响应于对所述视频的跳转播放操作结束,根据所述跳转播放操作指示的播放进度确定当前需要播放的目标视频帧;
所述确定模块,还用于响应于所述目标视频帧为非关键帧,确定所述帧信息中的参考帧信息,所述参考帧信息对应的参考视频帧包括从所述目标视频帧之前最近的关键帧开始,到所述目标视频帧为止的视频帧;
解码模块,用于根据所述参考帧信息对所述参考视频帧进行解码,得到所述目标视频帧的画面数据;
播放模块,用于根据所述画面数据播放所述目标视频帧。
在一个可选的设计中,所述存储模块,用于:
在播放所述视频的过程中,根据所述视频的播放进度存储所述视频中已播放的视频帧的帧信息。
在一个可选的设计中,所述存储模块,用于:
响应于在播放所述视频的过程中接收到跳转播放操作,存储所述跳转播放操作的开始时刻对应的播放进度到所述跳转播放操作的结束时刻对应的播放进度之间,所包括的视频帧的帧信息。
在一个可选的设计中,所述视频包括至少一个画面组,每个所述画面组对应一个帧信息组,所述帧信息组包括对应的画面组中的视频帧的帧信息,所述帧信息组中的帧信息的排列顺序与对应的画面组中的视频帧的排列顺序相同。
在一个可选的设计中,所述帧信息用于指示所述帧信息对应的视频帧是否为关键帧以及所述帧信息对应的视频帧的渲染信息的读取位置;所述确定模块,用于:
响应于所述目标视频帧的帧信息指示所述目标视频帧为非关键帧,确定所述目标视频帧的帧信息所在的目标帧信息组;
在所述目标帧信息组中,将所述目标视频帧的帧信息以及所述目标视频帧的帧信息之前的帧信息确定为所述参考帧信息;
所述解码模块,用于:
根据所述参考帧信息指示的读取位置对所述参考视频帧的渲染信息依次进行解码,得到所述画面数据。
在一个可选的设计中,所述帧信息还用于指示是否经过所述跳转播放操作;所述确定模块,用于:
在播放所述视频的过程中,在恢复播放所述视频的时刻根据所述帧信息确定是否经过所述跳转播放操作;
响应于所述帧信息指示经过所述跳转播放操作,确定检测到所述跳转播放操作结束。
在一个可选的设计中,所述帧信息存储在计算机设备的缓存中。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的视频播放方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上方面所述的视频播放方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的视频播放方法。
本申请提供的技术方案带来的有益效果至少包括:
通过在跳转播放到的目标视频帧为非关键帧时,能够根据存储的视频中视频帧的帧信息,对从目标视频帧之前最近的关键帧开始到目标视频帧为止的视频帧进行解码,从而得到目标视频帧的画面数据。根据目标视频帧的画面数据能够实现从目标视频帧开始继续播放视频,提升了跳转播放的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的视频播放方法的流程示意图;
图2是本申请另一个示例性实施例提供的视频播放方法的流程示意图;
图3是本申请一个示例性实施例提供的视频播放界面的示意图;
图4是本申请一个示例性实施例提供的存储的帧信息的数据结构的示意图;
图5是本申请一个示例性实施例提供的视频播放装置的结构示意图;
图6是本申请一个示例性实施例提供的终端的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请一个示例性实施例提供的视频播放方法的流程示意图。该方法可以用于计算机设备或计算机设备上的客户端。如图1所示,该方法包括:
步骤101:存储视频中视频帧的帧信息。
该帧信息用于指示该帧信息对应的视频帧是否为关键帧以及该视频帧的渲染信息的读取位置。例如该帧信息包括IsKeyFrame字段,当帧信息中的IsKeyFrame字段的值为true时,表示该帧信息对应的视频帧为关键帧。该帧信息指示的该视频帧的渲染信息的读取位置指视频帧在视频中的相对偏移(Offset)以及帧大小(FrameSize)。
客户端在播放视频时,会解析该视频的文件,从而得到视频中全部视频帧的帧信息。客户端在播放视频的过程中,会按照播放的进度存储已播放的视频帧的帧信息,并且,在播放视频的过程中当客户端接收到跳转播放操作时,客户端会存储跳转播放操作的开始时刻对应的播放进度到跳转播放操作的结束时刻对应的播放进度之间,所包括的视频帧的帧信息。该跳转播放操作指用户改变视频的播放进度的操作。客户端在播放视频时,还能够存储视频中全部视频帧的帧信息。
可选地,客户端将视频帧的帧信息存储在客户端所在计算机设备的缓存(cache)中、随机存取存储器(Random Access Memory,RAM)中或只读存储器(Read-Only Memory,ROM)中。该客户端为具有视频播放功能的车载客户端,该计算机设备为车载终端,该车载客户端安装在车载终端上,该车载终端是安装在车辆中的终端。
步骤102:在播放视频的过程中,响应于对视频的跳转播放操作结束,根据跳转播放操作指示的播放进度确定当前需要播放的目标视频帧。
当客户端接收到的跳转播放操作指示改变视频当前的播放进度时,客户端确定该跳转播放操作结束。或者,客户端存储的帧信息还用于指示是否经过跳转播放操作。客户端在恢复播放视频时,能够根据存储的帧信息确定是否接收到跳转播放操作,若根据帧信息确定接收到跳转播放操作,则确定跳转播放操作结束。示例地,当接收到跳转播放操作时客户端会在帧信息中存储用于指示经过跳转播放操作的信息。客户端恢复播放视频指客户端在播放视频从而显示视频的视频画面的过程中,在一段时间内未显示新的视频画面之后又开始继续显示视频画面。包括客户端暂停播放视频后又开始播放视频,客户端退出视频的播放后,再次开始播放该视频,以及,客户端在跳转播放操作结束时,客户端继续播放视频。
客户端根据跳转播放操作结束时指示的播放进度,选择与该播放进度最近的视频时间戳所对应的视频帧,作为目标视频帧。该视频时间戳在播放进度反映的时间戳之前或之后,该视频时间戳包括开始时间戳以及结束时间戳。
步骤103:响应于目标视频帧为非关键帧,确定帧信息中的参考帧信息。
客户端根据当前最新存储的帧信息(即目标视频帧的帧信息),能够确定该帧信息对应的视频帧是否为关键帧,从而确定出目标视频帧是否为关键帧。该参考帧信息对应的参考视频帧包括从目标视频帧之前最近的关键帧开始,到目标视频帧为止的视频帧。客户端根据已存储的帧信息的存储顺序(即视频帧在视频中的排列顺序)以及帧信息所指示的帧信息对应的视频帧是否为关键帧,能够从帧信息中确定出参考帧信息。
步骤104:根据参考帧信息对参考视频帧进行解码,得到目标视频帧的画面数据。
客户端能够根据参考帧信息确定参考视频帧的渲染信息的读取位置,之后依次对参考视频帧的渲染信息进行解码,直至解码到目标视频帧,从而能够得到该目标视频帧的画面数据,该画面数据用于播放(显示)目标视频帧。
步骤105:根据画面数据播放目标视频帧。
客户端根据该画面数据,能够播放该目标视频帧。之后基于该画面数据,能够对目标视频帧之后的视频帧继续进行解码,从而实现继续播放目标视频帧之后的视频帧。
综上所述,本实施例提供的方法,在跳转播放到的目标视频帧为非关键帧时,能够根据存储的视频中视频帧的帧信息,对从目标视频帧之前最近的关键帧开始到目标视频帧为止的视频帧进行解码,从而得到目标视频帧的画面数据。根据目标视频帧的画面数据能够实现从目标视频帧开始继续播放视频,提升了跳转播放的准确性。
图2是本申请另一个示例性实施例提供的视频播放方法的流程示意图。该方法可以用于计算机设备或计算机设备上的客户端。如图2所示,该方法包括:
步骤201:存储视频中视频帧的帧信息。
该帧信息用于指示该帧信息对应的视频帧是否为关键帧以及该视频帧的渲染信息的读取位置。客户端在播放视频时,会解析该视频的文件,从而得到视频中全部视频帧的帧信息。可选地,客户端在播放视频的过程中,会根据视频的播放进度存储视频中已播放的视频帧的帧信息。并且,响应于在播放视频的过程中接收到跳转播放操作,客户端会存储跳转播放操作的开始时刻对应的播放进度到跳转播放操作的结束时刻对应的播放进度之间,所包括的视频帧的帧信息。可选地,客户端还能够在播放视频时存储视频的全部视频帧的帧信息。
该跳转播放操作指用户改变视频当前播放进度的操作。示例地,图3是本申请一个示例性实施例提供的视频播放界面的示意图。如图3所示,客户端通过显示视频播放界面301实现播放视频,该视频播放界面301中显示有播放视频得到的视频画面302,以及反映视频播放进度的进度条303,该进度条中显示有进度控件304。当客户端接收到针对该进度控件304的拖动操作时,确定接收到该跳转播放操作,该拖动操作是通过手指或鼠标等触发的。其中,客户端开始接收到针对该进度控件拖动操作的时刻为跳转播放操作的开始时刻,之后客户端会继续接收到针对该进度控件的拖动操作,当在目标时长内该拖动操作未改变进度控件的位置时,客户端确定此时为跳转播放操作的结束跳转时刻。以及,当客户端接收到针对该进度条303的点击操作时,确定接收到该跳转播放操作,该点击操作是通过手指或鼠标等触发的。其中,客户端在接收到该点击操作从而改变视频的播放进度之前的播放进度为跳转播放操作开始时刻对应的播放进度,客户端在接收到该点击操作从而改变的播放进度为跳转播放操作的结束时刻对应的播放进度。
例如,客户端当前播放的视频的播放进度为01:15:23,此时客户端已存储从00:00:00到01:15:23之间所包括的视频帧的帧信息。客户端根据用户针对进度控件204向加快播放进度方向的拖动操作,确定改变后的播放进度为01:30:23。则客户端会存储01:15:23到01:30:23之间所包括的视频帧的帧信息。
客户端播放的该视频包括至少一个画面组,每个画面组对应一个帧信息组。该帧信息组包括对应的画面组中的视频帧的帧信息,帧信息组中的帧信息的排列顺序与对应的画面组中的视频帧的排列顺序相同。
示例地,图4是本申请一个示例性实施例提供的存储的帧信息的数据结构的示意图。如图4所示,视频中的画面组401包括画面组1至画面组n。客户端在存储视频中视频帧的帧信息403时,会将属于同一个画面组401的视频帧的帧信息403存储在画面组401对应的帧信息组402中,且存储的顺序与视频帧在画面组401中的排列顺序相同,多个帧信息组402能够形成帧信息队列。通常画面组401中的第一视频帧为关键帧,且每个画面组401包括一个关键帧。客户端存储的每个视频帧的帧信息403,用于指示该视频帧是否为关键帧以及该视频帧的渲染信息的读取位置。例如该帧信息403包括IsKeyFrame字段,当帧信息403中的IsKeyFrame字段的值为true时,表示该帧信息403对应的视频帧为关键帧。该帧信息403指示的视频帧的渲染信息的读取位置指视频帧在视频中的相对偏移(Offset)以及帧大小(FrameSize)。
可选地,该帧信息存储在计算机设备的cache中,还能够存储在计算机设备的RAM中以及ROM中。该计算机设备安装有上述客户端。
步骤202:在播放视频的过程中,接收对视频的跳转播放操作。
该跳转播放操作指用户改变视频当前播放进度的操作。
步骤203:确定是否检测到跳转播放操作结束。
当客户端接收到的对进度控件的拖动操作,在目标时长内未改变拖动位置时,客户端确定检测到跳转播放操作结束,该目标时长是客户端确定的。以及,当客户端接收到的对进度条的点击操作指示改变视频的播放进度时,客户端确定检测到跳转播放操作结束。
可选地,该帧信息还用于指示是否经过跳转播放操作。在播放视频的过程中,客户端在恢复播放视频的时刻能够根据帧信息确定是否经过跳转播放操作。响应于帧信息指示经过跳转播放操作,客户端确定检测到跳转播放操作结束。
客户端恢复播放视频指客户端在播放视频从而显示视频的视频画面的过程中,在一段时间内未显示新的视频画面之后又开始继续显示视频画面。包括客户端暂停播放视频后又开始播放视频,客户端退出视频的播放后,再次开始播放该视频,以及,客户端在确定跳转播放操作结束时,客户端继续播放视频。
示例地,当客户端接收到跳转播放操作时客户端会在帧信息中存储用于指示经过跳转播放操作的信息。继续参照图4,客户端会在当前存储的帧信息304所在的帧信息组302中的第一个帧信息304(关键帧的帧信息)中存储该指示经过跳转播放操作的信息。该信息对应字段为IsSeek,当IsSeek的值为true时,表示经过跳转播放操作。客户端能够根据当前存储的帧信息的帧信息组中的关键帧的帧信息,确定是否经过跳转播放操作。
步骤204:响应于跳转播放操作结束,根据跳转播放操作指示的播放进度确定当前需要播放的目标视频帧。
客户端根据跳转播放操作结束时指示的播放进度,选择与该播放进度最近的视频时间戳所对应的视频帧,作为目标视频帧。该视频时间戳在播放进度反映的时间戳之前或之后,该视频时间戳包括开始时间戳以及结束时间戳。
步骤205:响应于目标视频帧为非关键帧,确定帧信息中的参考帧信息。
客户端根据当前最新存储的帧信息(即目标视频帧的帧信息),能够确定该帧信息对应的视频帧是否为关键帧,从而确定出目标视频帧是否为关键帧。
该参考帧信息对应的参考视频帧包括从目标视频帧之前最近的关键帧开始,到目标视频帧为止的视频帧。该帧信息用于指示帧信息对应的视频帧是否为关键帧。响应于目标视频帧的帧信息指示目标视频帧为非关键帧,客户端确定目标视频帧的帧信息所在的目标帧信息组,之后在目标帧信息组中,将目标视频帧的帧信息以及目标视频帧的帧信息之前的帧信息确定为参考帧信息。示例地,继续参照图4,目标视频帧的帧信息为帧信息组1中的帧信息4,客户端确定的参考帧信息包括帧信息1、帧信息2、帧信息3以及帧信息4。
当目标视频帧为关键帧时,客户端无需使用上述存储的帧信息,只需按照当前读取到的目标视频帧的渲染信息从目标视频帧开始继续播放视频。
步骤206:根据参考帧信息对参考视频帧进行解码,得到目标视频帧的画面数据。
帧信息用于指示帧信息对应的视频帧的渲染信息的读取位置。客户端根据参考帧信息指示的读取位置对参考视频帧的渲染信息依次进行解码,能够得到目标视频帧的画面数据,该画面数据用于播放目标视频帧。。
步骤207:根据画面数据播放目标视频帧。
客户端根据该画面数据,能够播放该目标视频帧。之后基于该画面数据,能够对目标视频帧之后的视频帧继续进行解码,从而实现继续播放目标视频帧之后的视频帧。
响应于未检测到跳转播放操作结束,客户端还会执行步骤208。在步骤208中,客户端会按照步骤201中描述的方式继续存储视频中视频帧的帧信息,之后客户端会继续确定是否检测到跳转播放操作结束。
综上所述,本实施例提供的方法,在跳转播放到的目标视频帧为非关键帧时,能够根据存储的视频中视频帧的帧信息,对从目标视频帧之前最近的关键帧开始到目标视频帧为止的视频帧进行解码,从而得到目标视频帧的画面数据。根据目标视频帧的画面数据能够实现从目标视频帧开始继续播放视频,提升了跳转播放的准确性。
另外,将帧信息存储在计算机设备的缓存中,能够加快读取帧信息的速度,从而加快seek后继续播放视频的速度。并且,在对参考视频帧进行解码时,由于无需进行显示,因此能够实现快速解码出目标视频帧的画面数据,提升了用户seek时的用户体验。存储已播放的视频帧的帧信息,以及跳转播放操作的开始时刻对应的播放进度到跳转播放操作的结束时刻对应的播放进度之间,所包括的视频帧的帧信息,能够实现跳转到视频中任一视频帧时,都能够继续播放视频。确定帧信息中的参考帧信息,能够实现一次性解码得到目标视频帧的画面数据,提升了播放目标视频帧的效率。在恢复播放视频的时刻根据帧信息确定是否经过跳转播放操作,能够避免在非跳转播放的场景下触发跳转播放的流程。
需要说明的是,本申请实施例提供的方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图5是本申请一个示例性实施例提供的视频播放装置的结构示意图。该装置可以用于计算机设备或计算机设备上的客户端。如图5所示,该装置50包括:
存储模块501,用于存储视频中视频帧的帧信息。
确定模块502,用于在播放视频的过程中,响应于对视频的跳转播放操作结束,根据跳转播放操作指示的播放进度确定当前需要播放的目标视频帧。
确定模块502,还用于响应于目标视频帧为非关键帧,确定帧信息中的参考帧信息,参考帧信息对应的参考视频帧包括从目标视频帧之前最近的关键帧开始,到目标视频帧为止的视频帧。
解码模块503,用于根据参考帧信息对参考视频帧进行解码,得到目标视频帧的画面数据。
播放模块504,用于根据画面数据播放目标视频帧。
在一个可选的设计中,存储模块501,用于:
在播放视频的过程中,根据视频的播放进度存储视频中已播放的视频帧的帧信息。
在一个可选的设计中,存储模块501,用于:
响应于在播放视频的过程中接收到跳转播放操作,存储跳转播放操作的开始时刻对应的播放进度到跳转播放操作的结束时刻对应的播放进度之间,所包括的视频帧的帧信息。
在一个可选的设计中,视频包括至少一个画面组,每个画面组对应一个帧信息组,帧信息组包括对应的画面组中的视频帧的帧信息,帧信息组中的帧信息的排列顺序与对应的画面组中的视频帧的排列顺序相同。
在一个可选的设计中,帧信息用于指示帧信息对应的视频帧是否为关键帧以及帧信息对应的视频帧的渲染信息的读取位置。确定模块502,用于:
响应于目标视频帧的帧信息指示目标视频帧为非关键帧,确定目标视频帧的帧信息所在的目标帧信息组。在目标帧信息组中,将目标视频帧的帧信息以及目标视频帧的帧信息之前的帧信息确定为参考帧信息。
解码模块503,用于:
根据参考帧信息指示的读取位置对参考视频帧的渲染信息依次进行解码,得到画面数据。
在一个可选的设计中,帧信息还用于指示是否经过跳转播放操作。确定模块502,用于:
在播放视频的过程中,在恢复播放视频的时刻根据帧信息确定是否经过跳转播放操作。响应于帧信息指示经过跳转播放操作,确定检测到跳转播放操作结束。
在一个可选的设计中,帧信息存储在计算机设备的缓存中。
需要说明的是:上述实施例提供的视频播放装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频播放装置与视频播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请的实施例还提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的视频播放方法。
可选地,该计算机设备为终端。示例地,图6是本申请一个示例性实施例提供的终端的结构示意图。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的视频播放方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端600的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例中还提供了一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,当该至少一条指令、至少一段程序、代码集或指令集由计算机设备的处理器加载并执行时,实现上述各方法实施例提供的视频播放方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的视频播放方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的可读存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种视频播放方法,其特征在于,所述方法包括:
存储视频中视频帧的帧信息;
在播放所述视频的过程中,响应于对所述视频的跳转播放操作结束,根据所述跳转播放操作指示的播放进度确定当前需要播放的目标视频帧;
响应于所述目标视频帧为非关键帧,确定所述帧信息中的参考帧信息,所述参考帧信息对应的参考视频帧包括从所述目标视频帧之前最近的关键帧开始,到所述目标视频帧为止的视频帧;
根据所述参考帧信息对所述参考视频帧进行解码,得到所述目标视频帧的画面数据;
根据所述画面数据播放所述目标视频帧。
2.根据权利要求1所述的方法,其特征在于,所述存储视频中视频帧的帧信息,包括:
在播放所述视频的过程中,根据所述视频的播放进度存储所述视频中已播放的视频帧的帧信息。
3.根据权利要求1所述的方法,其特征在于,所述存储视频中视频帧的帧信息,包括:
响应于在播放所述视频的过程中接收到跳转播放操作,存储所述跳转播放操作的开始时刻对应的播放进度到所述跳转播放操作的结束时刻对应的播放进度之间,所包括的视频帧的帧信息。
4.根据权利要求1至3任一所述的方法,其特征在于,所述视频包括至少一个画面组,每个所述画面组对应一个帧信息组,所述帧信息组包括对应的画面组中的视频帧的帧信息,所述帧信息组中的帧信息的排列顺序与对应的画面组中的视频帧的排列顺序相同。
5.根据权利要求4所述的方法,其特征在于,所述帧信息用于指示所述帧信息对应的视频帧是否为关键帧以及所述帧信息对应的视频帧的渲染信息的读取位置;
所述响应于所述目标视频帧为非关键帧,确定所述帧信息中的参考帧信息,包括:
响应于所述目标视频帧的帧信息指示所述目标视频帧为非关键帧,确定所述目标视频帧的帧信息所在的目标帧信息组;
在所述目标帧信息组中,将所述目标视频帧的帧信息以及所述目标视频帧的帧信息之前的帧信息确定为所述参考帧信息;
所述根据所述参考帧信息对所述参考视频帧进行解码,得到所述目标视频帧的画面数据,包括:
根据所述参考帧信息指示的读取位置对所述参考视频帧的渲染信息依次进行解码,得到所述画面数据。
6.根据权利要求1至3任一所述的方法,其特征在于,所述帧信息还用于指示是否经过所述跳转播放操作;
在所述在播放所述视频的过程中,响应于对所述视频的跳转播放操作结束,根据所述跳转播放操作指示的播放进度确定当前需要播放的目标视频帧之前,所述方法包括:
在播放所述视频的过程中,在恢复播放所述视频的时刻根据所述帧信息确定是否经过所述跳转播放操作;
响应于所述帧信息指示经过所述跳转播放操作,确定检测到所述跳转播放操作结束。
7.根据权利要求1至3任一所述的方法,其特征在于,所述帧信息存储在计算机设备的缓存中。
8.一种视频播放装置,其特征在于,所述装置包括:
存储模块,用于存储视频中视频帧的帧信息;
确定模块,用于在播放所述视频的过程中,响应于对所述视频的跳转播放操作结束,根据所述跳转播放操作指示的播放进度确定当前需要播放的目标视频帧;
所述确定模块,还用于响应于所述目标视频帧为非关键帧,确定所述帧信息中的参考帧信息,所述参考帧信息对应的参考视频帧包括从所述目标视频帧之前最近的关键帧开始,到所述目标视频帧为止的视频帧;
解码模块,用于根据所述参考帧信息对所述参考视频帧进行解码,得到所述目标视频帧的画面数据;
播放模块,用于根据所述画面数据播放所述目标视频帧。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的视频播放方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至7任一所述的视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011617745.4A CN112822522A (zh) | 2020-12-31 | 2020-12-31 | 视频播放方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011617745.4A CN112822522A (zh) | 2020-12-31 | 2020-12-31 | 视频播放方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112822522A true CN112822522A (zh) | 2021-05-18 |
Family
ID=75855806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011617745.4A Pending CN112822522A (zh) | 2020-12-31 | 2020-12-31 | 视频播放方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112822522A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542888A (zh) * | 2021-07-09 | 2021-10-22 | 北京百度网讯科技有限公司 | 视频的处理方法和装置 |
CN114245231A (zh) * | 2021-12-21 | 2022-03-25 | 威创集团股份有限公司 | 一种多视频同步跳转方法、装置、设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076111A (zh) * | 2006-11-15 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种获取视频流中关键帧段定位信息的方法 |
CN102264004A (zh) * | 2011-08-05 | 2011-11-30 | Tcl集团股份有限公司 | 一种防止关键帧缺失而不能seek的方法及装置 |
CN102780919A (zh) * | 2012-08-24 | 2012-11-14 | 乐视网信息技术(北京)股份有限公司 | 通过关键帧进行视频定位和播放的方法 |
CN103024561A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市快播科技有限公司 | 一种拖拽进度条的显示方法及装置 |
CN103544977A (zh) * | 2012-07-16 | 2014-01-29 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
US20140105576A1 (en) * | 2011-11-26 | 2014-04-17 | Huawei Technologies Co., Ltd. | Video processing method apparatus |
CN105872606A (zh) * | 2016-06-17 | 2016-08-17 | 努比亚技术有限公司 | 视频定位方法及装置 |
CN110022489A (zh) * | 2019-05-30 | 2019-07-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 视频播放方法、装置及存储介质 |
CN110248245A (zh) * | 2019-06-21 | 2019-09-17 | 维沃移动通信有限公司 | 一种视频定位方法、装置、移动终端及存储介质 |
-
2020
- 2020-12-31 CN CN202011617745.4A patent/CN112822522A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076111A (zh) * | 2006-11-15 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种获取视频流中关键帧段定位信息的方法 |
CN102264004A (zh) * | 2011-08-05 | 2011-11-30 | Tcl集团股份有限公司 | 一种防止关键帧缺失而不能seek的方法及装置 |
CN103024561A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市快播科技有限公司 | 一种拖拽进度条的显示方法及装置 |
US20140105576A1 (en) * | 2011-11-26 | 2014-04-17 | Huawei Technologies Co., Ltd. | Video processing method apparatus |
CN103544977A (zh) * | 2012-07-16 | 2014-01-29 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
CN102780919A (zh) * | 2012-08-24 | 2012-11-14 | 乐视网信息技术(北京)股份有限公司 | 通过关键帧进行视频定位和播放的方法 |
CN105872606A (zh) * | 2016-06-17 | 2016-08-17 | 努比亚技术有限公司 | 视频定位方法及装置 |
CN110022489A (zh) * | 2019-05-30 | 2019-07-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 视频播放方法、装置及存储介质 |
CN110248245A (zh) * | 2019-06-21 | 2019-09-17 | 维沃移动通信有限公司 | 一种视频定位方法、装置、移动终端及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542888A (zh) * | 2021-07-09 | 2021-10-22 | 北京百度网讯科技有限公司 | 视频的处理方法和装置 |
CN114245231A (zh) * | 2021-12-21 | 2022-03-25 | 威创集团股份有限公司 | 一种多视频同步跳转方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108391171B (zh) | 视频播放的控制方法及装置、终端 | |
CN111147878B (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN107908929B (zh) | 播放音频数据的方法和装置 | |
CN109302538B (zh) | 音乐播放方法、装置、终端及存储介质 | |
CN110022489B (zh) | 视频播放方法、装置及存储介质 | |
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN110572722A (zh) | 视频剪辑方法、装置、设备及可读存储介质 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN112822522A (zh) | 视频播放方法、装置、设备及存储介质 | |
CN111787347A (zh) | 直播时长计算方法、直播显示方法、装置及设备 | |
CN108509127B (zh) | 启动录屏任务的方法、装置及计算机设备 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN109005359B (zh) | 视频录制方法、装置存储介质 | |
CN111711841B (zh) | 图像帧播放方法、装置、终端及存储介质 | |
CN110868642B (zh) | 视频播放方法、装置及存储介质 | |
CN111092991B (zh) | 歌词显示方法及装置、计算机存储介质 | |
CN111083526B (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN110007981B (zh) | 启动应用程序的方法、装置、电子设备及介质 | |
CN108966026B (zh) | 制作视频文件的方法和装置 | |
CN108877845B (zh) | 歌曲播放方法及装置 | |
CN112738607A (zh) | 播放方法、装置、设备及存储介质 | |
CN112616082A (zh) | 视频预览方法、装置、终端及存储介质 | |
CN112104648A (zh) | 数据处理方法、装置、终端、服务器及存储介质 | |
CN111246240A (zh) | 存储媒体数据的方法和装置 | |
CN111641824B (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 |