CN113423009A - 一种视频进度调整方法、装置及电子设备 - Google Patents
一种视频进度调整方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113423009A CN113423009A CN202110964776.5A CN202110964776A CN113423009A CN 113423009 A CN113423009 A CN 113423009A CN 202110964776 A CN202110964776 A CN 202110964776A CN 113423009 A CN113423009 A CN 113423009A
- Authority
- CN
- China
- Prior art keywords
- video frame
- current
- decoding
- frame
- decoding result
- 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 120
- 230000008569 process Effects 0.000 claims description 63
- 230000001960 triggered effect Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000007 visual effect Effects 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/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/44—Processing 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种视频进度调整方法、装置及电子设备,其中,该方法包括:获取对当前视频的进度调整事件,进度调整事件用于定位到当前视频的目标视频帧;确定目标视频帧所处的目标区间;若当前解码视频帧位于目标区间内,在当前解码结果的基础上,执行确定目标视频帧的解码结果的第一操作,并显示第一操作对应的解码结果。通过本发明实施例提供的视频进度调整方法、装置及电子设备,无需从目标视频帧的前关键帧依次解码至目标视频帧,能直接在当前解码视频帧的解码结果的基础上执行第一操作,利于快速得到目标视频帧的解码结果,减少了解码帧数,提高了解码速度。且相对于传统的快速定位法,本方法能够解码至目标视频帧,准确地显示解码结果。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种视频进度调整方法、装置、电子设备及计算机可读存储介质。
背景技术
随着计算机技术及流媒体技术的发展,视频播放器逐渐成为电子设备中必不可少的一款应用软件。视频播放器不仅能提供浏览、观看等基础功能,还可以通过将播放器进度移动到指定位置的定位功能实现对视频播放进度的调整。比如,通过用户手动拖条的方式触发定位功能进行快进或快退操作,根据用户设置拖条结束时的视频帧,以确定自己所要观看的视频节点。
目前,实现定位功能主要有两种方法,快速定位及精准定位。快速定位是指当视频播放器检测到进度调整事件时,播放器需要查找到离该事件的时间点最近的前一个关键帧,将该关键帧作为该事件结束时的视频帧,并解码显示在播放器屏幕上。该方案虽然可以快速实现定位功能并播放视频内容,但所显示的结果只是与进度调整事件结束时的视频帧相邻近的关键帧所对应的画面,显示结果并不精准。而精准定位是指当视频播放器检测到进度调整事件时,播放器查找到离该事件的时间点最近的前一个关键帧,从该关键帧开始向后逐帧读取并解码,直至到达该事件结束时的视频帧,将该视频帧准确显示在播放器屏幕上。该方法虽然能够实现精准定位,但在连续拖条进行定位时,此方法由于每次定位都需要完成一次从关键帧逐帧解码的过程,需要解码的视频帧数较多,且比较耗时,导致播放器解码效率低、不能快速起播。
因此,上述两种传统方法在以定位功能调整视频播放进度的过程中,视频播放器会存在显示画面不精准或解码速度慢、不能快速起播的问题。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种视频进度调整方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例提供了一种视频进度调整方法,包括:获取对当前视频的进度调整事件,所述进度调整事件用于定位到所述当前视频的目标视频帧;确定所述目标视频帧所处的目标区间,所述目标区间为两个相邻的关键帧之间的区间;若当前解码视频帧位于所述目标区间内,在当前解码结果的基础上,执行确定所述目标视频帧的解码结果的第一操作,并显示所述第一操作对应的解码结果。
可选地,进度调整事件包括对所述当前视频快进和/或快退;所述第一操作包括:在所述进度调整事件为对所述当前视频快进的情况下,基于所述当前解码视频帧的解码结果,从所述当前解码视频帧向所述目标视频帧解码;其中,所述当前解码结果包括所述当前解码视频帧的解码结果;在所述进度调整事件为对所述当前视频快退的情况下,从所述当前解码结果中提取所述目标视频帧所对应的解码结果;其中,所述当前解码结果包括所述目标区间的前关键帧到所述当前解码视频帧之间的解码结果。
可选地,从所述当前解码视频帧向所述目标视频帧解码包括:从所述当前解码视频帧向所述目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定所述目标视频帧的解码结果,且所述第一操作对应的解码结果包括所述目标视频帧的解码结果;在从所述当前解码视频帧向所述目标视频帧解码的过程中,在触发新进度调整事件时,结束从所述当前解码视频帧向所述目标视频帧解码的过程,并确定第一结束视频帧的解码结果,所述第一结束视频帧为结束从所述当前解码视频帧向所述目标视频帧解码的过程时所对应的视频帧,且所述第一操作对应的解码结果包括所述第一结束视频帧的解码结果。
可选地,该方法还包括:若当前解码视频帧不位于所述目标区间内,在所述目标区间的前关键帧的基础上,执行确定所述目标视频帧的解码结果的第二操作,并显示所述第二操作对应的解码结果。
可选地,第二操作包括:从所述前关键帧向所述目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定所述目标视频帧的解码结果,且所述第二操作对应的解码结果包括所述目标视频帧的解码结果;在从所述前关键帧向所述目标视频帧解码的过程中,在触发新进度调整事件时,结束从所述前关键帧向所述目标视频帧解码的过程,并确定第二结束视频帧的解码结果,所述第二结束视频帧为结束从所述前关键帧向所述目标视频帧解码的过程时所对应的视频帧,且所述第二操作对应的解码结果包括所述第二结束视频帧的解码结果。
可选地,进度调整事件为通过对所述当前视频进度条的光标执行拖动和/或点击操作所触发的事件。
第二方面,本发明实施例提供了一种视频进度调整装置,包括:获取模块、定位模块及处理模块。
获取模块用于获取对当前视频的进度调整事件,所述进度调整事件用于定位到所述当前视频的目标视频帧。
定位模块用于确定所述目标视频帧所处的目标区间,所述目标区间为两个相邻的关键帧之间的区间。
处理模块用于若当前解码视频帧位于所述目标区间内,在当前解码结果的基础上,执行确定所述目标视频帧的解码结果的第一操作,并显示所述第一操作对应的解码结果。
可选地,进度调整事件包括对所述当前视频快进和/或快退;所述处理模块包括能够执行第一操作的第一解码单元和第二解码单元。
第一解码单元用于在所述进度调整事件为对所述当前视频快进的情况下,基于所述当前解码视频帧的解码结果,从所述当前解码视频帧向所述目标视频帧解码;其中,所述当前解码结果包括所述当前解码视频帧的解码结果。
第二解码单元用于在所述进度调整事件为对所述当前视频快退的情况下,从所述当前解码结果中提取所述目标视频帧所对应的解码结果;其中,所述当前解码结果包括所述目标区间的前关键帧到所述当前解码视频帧之间的解码结果。
第三方面,本发明实施例提供了一种电子设备,包括:总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现如上所述的进度调整事件方法中的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:可读存储介质上存储的计算机程序;所述计算机程序被处理器执行时实现如上所述的进度调整事件方法中的步骤。
本发明实施例提供的视频进度调整方法、装置、电子设备及计算机可读存储介质,在当前解码视频帧处于目标区间内的情况下,基于当前解码结果,在其基础上确定目标视频帧的解码结果。本方法不需要从该目标视频帧的前关键帧依次解码至目标视频帧,能直接在当前解码视频帧的解码结果的基础上执行第一操作,进而利于快速得到目标视频帧的解码结果,减少了需要解码的视频帧数,提高了在进度调整过程中的解码速度,进而可以在播放器屏幕上快速显示目标视频帧的解码结果所对应的画面。并且,相对于传统的快速定位法直接解码与该目标视频帧相邻的前关键帧,令前关键帧的解码结果显示在播放器屏幕上,本方法能够解码至目标视频帧,进而可以显示准确地解码结果。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1示出了本发明实施例所提供的一种视频进度调整方法的流程图;
图2示出了本发明实施例所提供的视频进度调整方法中,第一操作的示意图;
图3示出了本发明实施例所提供的视频进度调整方法的一种详细流程图;
图4示出了本发明实施例所提供的视频进度调整装置的结构示意图;
图5示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1示出了本发明实施例所提供的一种视频进度调整方法的流程图。如图1所示,该方法包括步骤101-103。
步骤101:获取对当前视频的进度调整事件,进度调整事件用于定位到当前视频的目标视频帧。
本发明实施例中,当前视频为用户当前操作播放器所显示的视频,该视频可以是正在播放的视频,也可以是处于播放暂停期间的视频。当需要快进或快退该当前视频时,用户可以通过执行进度调整的操作,该进度调整操作例如可以是对当前视频进度条的光标执行拖动和/或点击操作,基于该进度调整的操作可以触发相应的事件,即进度调整事件;并且,进度调整的操作会指向当前视频中的某个视频帧,该视频帧为用户需要定位到的视频帧,本实施例将其称为目标视频帧;一般情况下,目标视频帧是该进度调整事件结束时间点所对应的视频帧。在获取到当前视频的进度调整事件之后,通过后续的定位处理,即可将当前视频所显示的画面调整至相应的画面,例如目标视频帧所表示的画面。
例如,通过用户对当前视频的进度条进行拖拽,或者直接在当前视频的进度条上进行点击的方式,可以改变目标视频帧在进度条上所对应的位置,在经过后续的定位处理后,从而能够将当前视频所显示的画面调整为目标视频帧的解码结果所对应的画面,使播放器能够将与用户所调位置相对应的视频帧的解码结果显示在屏幕上,该过程即可称为进度调整事件。
步骤102:确定目标视频帧所处的目标区间,目标区间为两个相邻的关键帧之间的区间。
视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉,从而在人眼中形成连贯流畅的影像动画。视频帧的解码结果就是影像动画中最小单位的单幅影像画面,一个单独的视频帧经过解码只是一副静止的画面,而快速连续地显示多个视频帧的解码结果便形成了运动的假象,在人眼中呈现为影像动画,如人们所观看的视频等。其中,视频中一般包含多个关键帧和多个非关键帧,关键帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像帧便可独立进行解码,可以简单理解为一张静态画面,具体可以是角色或者物体运动或变化中的关键动作所处的那一帧。非关键帧则需要基于其他图像帧才可进行解码,例如,非关键帧可以是P帧、B帧。可以确定当前视频中的所有关键帧,进而确定目标视频帧位于哪两个相邻的关键帧之间,基于该两个相邻的关键帧可以确定目标区间。由于当前视频可以有多个关键帧,因此可以存在多个由两个相邻关键帧所确定的区间。
本发明实施例中,通过获取到的进度调整事件能够确定目标视频帧在当前视频的进度条上所处的位置,选取在进度条上时间戳早于该目标视频帧的时间戳、且与该目标视频帧相邻的关键帧作为前关键帧;选取在进度条时间戳上晚于该目标视频帧的时间戳、且与该目标视频帧相邻的关键帧作为后关键帧;将上述前关键帧与后关键帧之间的区间作为目标区间,该目标区间表示该进度调整事件所处的区间,且该目标区间内包含目标视频帧。例如,用户拖动进度条光标,并将该光标从当前视频第3分钟的位置定位至该当前视频第4分钟的位置,其中,该当前视频第4分钟的位置所对应的视频帧为该进度调整事件的目标视频帧。将包含当前视频的进度条上第4分钟所对应的视频帧的前关键帧及后关键帧之间的区间作为目标区间。
步骤103:若当前解码视频帧位于目标区间内,在当前解码结果的基础上,执行确定目标视频帧的解码结果的第一操作,并显示第一操作对应的解码结果。
解码就是将经过压缩编码的视频还原成非压缩视频的过程。其中,当前解码视频帧表示在接收到进度调整事件时,当前正在解码的视频帧。如果当前解码视频帧在进度条上的位置处于本次进度调整事件所对应的目标区间中,即有当前解码视频帧与目标视频帧在同一前关键帧及同一后关键帧之间,表示本次进度调整事件的范围小且没有涉及其他相邻关键帧所确定的区间。在这种情况下,基于当前解码结果对当前视频执行确定该目标视频帧的解码结果的第一操作。本发明实施中,当前解码结果可以包括当前解码视频帧的解码结果,或者前关键帧到该当前解码视频帧之间的某一视频帧的解码结果。
执行第一操作的过程可以包括从当前解码视频帧开始向目标视频帧逐帧解码,直至对目标视频帧进行解码,并得到该目标视频帧的解码结果;在得到该目标视频帧的解码结果后,结束该第一操作。第一操作对应的解码结果指的是第一操作结束时所得到的解码结果。其中,当通过该第一操作得到目标视频帧的解码结果后,第一操作对应的解码结果为该目标视频帧的解码结果,可以将该目标视频帧的解码结果对应的画面显示在播放器屏幕上。例如,用户通过操作进度条光标,将处于当前视频中的若干视频帧里、正在被解码的第3帧(即当前解码视频帧)对应的光标位置移动至第5帧所对应的位置,即进度调整事件所定位到的目标视频帧为第5帧;根据与该第5帧前后相邻的两个关键帧,如前关键帧是第1帧、后关键帧是第6帧,能够确定该目标区间为第1帧到第6帧之间的区间,即目标区间为[1,6];由此可知,第3帧(当前解码视频帧)与第5帧(目标视频帧)处于相同目标区间。此时,基于当前已经解码的第3帧的解码结果执行解码操作,可以确定第5帧的解码结果,该过程即可称为第一操作;若得到第5帧的解码结果,可以将第5帧的解码结果所对应的画面显示在播放器屏幕上。
本发明实施例在当前解码视频帧处于目标区间内的情况下,基于当前解码结果,在其基础上确定目标视频帧的解码结果。本方法不需要从该目标视频帧的前关键帧依次解码至目标视频帧,能直接在当前解码视频帧的解码结果的基础上执行第一操作,进而利于快速得到目标视频帧的解码结果,减少了需要解码的视频帧数,提高了在进度调整过程中的解码速度,进而可以在播放器屏幕上快速显示目标视频帧的解码结果所对应的画面。并且,相对于传统的快速定位法直接解码与该目标视频帧相邻的前关键帧,令前关键帧的解码结果显示在播放器屏幕上,本方法能够解码至目标视频帧,进而可以显示准确地解码结果。
可选地,当用户对当前视频的播放进度进行调整时,其所触发的进度调整事件可以是对当前视频进行快进操作,也可以是对当前视频进行快退操作,故进度调整事件包括对当前视频快进和/或快退;参见图2所示,上述步骤103中记载的“第一操作”包括以下步骤1031或步骤1032。
步骤1031:在进度调整事件为对当前视频快进的情况下,基于当前解码视频帧的解码结果,从当前解码视频帧向目标视频帧解码;其中,当前解码结果包括当前解码视频帧的解码结果。
其中,在进度调整事件是对当前视频快进的情况下,当前解码视频帧在进度条上的位置一定比目标视频帧在进度条上的位置靠前,即目标视频帧位于当前解码视频帧之后,目标视频帧还未被解码,此时的当前解码结果包括该当前解码视频帧的解码结果,且需要基于当前解码视频帧的解码结果执行解码操作,以得到目标视频帧的解码结果。本发明实施例中,第一操作可以是从当前解码视频帧开始向后逐帧解码,对于是否解码到目标视频帧本实施例对此不做限定。
可选地,从当前解码视频帧向目标视频帧解码可以包括以下步骤A1或步骤A2。
步骤A1:从当前解码视频帧向目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定目标视频帧的解码结果,且第一操作对应的解码结果包括目标视频帧的解码结果。
本发明实施例中,若当前解码视频帧位于目标区间内,且为快进的情况下,第一操作可以为从当前解码视频帧开始沿进度条向后逐帧解码,若在解码过程中没有触发新进度调整事件,则可以持续解码,直至解码到目标视频帧,并完成对目标视频帧的解码。例如,当目标区间为[1,6]、当前解码视频帧为第3帧、目标视频帧为第5帧,且本次进度调整事件为快进时,由于当前视频已经解码至第3帧,因此无需从第1帧开始重新解码,可以直接从第3帧开始继续向第5帧方向解码,依次得到第3帧、第4帧和第5帧的解码结果,该第5帧的解码结果就是目标视频帧的解码结果,其也是可以显示的第一操作对应的解码结果。
步骤A2:在从当前解码视频帧向目标视频帧解码的过程中,在触发新进度调整事件时,结束从当前解码视频帧向目标视频帧解码的过程,并确定第一结束视频帧的解码结果,第一结束视频帧为结束从当前解码视频帧向目标视频帧解码的过程时所对应的视频帧,且第一操作对应的解码结果包括第一结束视频帧的解码结果。
其中,在执行第一操作的过程中,也就是从当前解码视频帧向目标视频帧解码的过程中,当该第一操作还未执行到对目标视频帧进行解码的时候,若用户触发了新进度调整事件,即此时在当前视频中存在多个进度调整事件,或者为连续触发的进度调整事件,例如,用户在拖动当前视频进度条的过程中,播放器可以周期性读取进度条的位置,所确定的每个位置对应一个需要调整到的位置,且所确定的每个位置分别对应一个进度调整事件。例如,用户将当前视频进度条从第1帧连续拖动到第100帧的过程中,若中间可以读取到第20帧、第60帧,则在当前视频进度条移动至第20帧、第60帧时也分别触发相应的进度调整事件,且进度调整事件对应的目标视频帧分别为第20帧、第60帧。本发明实施例在触发新进度调整事件的时刻,一方面开始对新进度调整事件进行处理,另一方面立即停止正在执行的第一操作,并确定该第一操作停止时刻的视频帧所对应的解码结果,将其作为第一结束视频帧的解码结果,该第一结束视频帧的解码结果是该第一操作对应的解码结果。
例如,如目标区间为[6,15],用户第一次触发的进度调整事件为将当前视频的播放进度从第7帧定位到第10帧,其中第7帧为该进度调整事件中的当前解码视频帧,第10帧为该进度调整事件中的目标视频帧;在当前正在执行的第一操作执行到解码第9帧时,即从第7帧解码到第9帧时,用户继续触发了新进度调整事件,该新进度调整事件为将当前视频的播放进度从第10帧定位到第14帧,其中,第14帧为该新进度调整事件中的目标视频帧。在本发明实施例中,一方面即刻停止该第一操作的过程,即停止从第7帧向第10帧解码的过程中还未执行的、从第9帧到第10帧的解码过程,不再继续解码至第10帧,即使第10帧是该进度调整事件中的目标视频帧。同时,将触发新进度调整事件的时刻所对应的第一操作结束时刻的视频帧(即第9帧)作为第一结束视频帧,确定第9帧的解码结果,并且第9帧的解码结果是该第一操作对应的解码结果;另一方面对新进度调整事件进行处理,由于对于新进度调整事件来说,当前解码视频帧为第9帧,因此可以根据第9帧的解码结果向第14帧(新的目标视频帧)进行解码。
本发明实施中,在从当前解码视频帧向目标视频帧解码的过程中,若触发新进度调整事件,则无论是否解码到目标视频帧,均停止第一操作,此时当前解码视频帧与目标视频帧之间的某个视频帧作为第一结束视频帧,并将第一结束视频帧的解码结果进行渲染,以在播放器中显示;该方式直接停止当前的第一操作,不影响后续新进度调整事件中的解码过程,且该方式不需要解码第一结束视频帧与目标视频帧之间的视频帧,减少了解码帧数,能够提高解码效率。此外,与传统的快速定位法相比,在播放器中显示第一结束视频帧,也能够比较准确地显示进度调整事件所定位的视频帧。
步骤1032:在进度调整事件为对当前视频快退的情况下,从当前解码结果中提取目标视频帧所对应的解码结果;其中,当前解码结果包括目标区间的前关键帧到当前解码视频帧之间的解码结果。
其中,在进度调整事件是对当前视频快退的情况下,当前解码视频帧在进度条上的位置一般比目标视频帧在进度条上的位置靠后,即目标视频帧位于当前解码视频帧之前,故目标视频帧大概率已经被解码。本发明实施例中,若当前解码视频帧位于目标区间内,基本可以确定,当前视频已经完成目标区间中的前关键帧至当前解码视频帧的全部解码过程,并已得到从前关键帧开始到当前解码视频帧中每一帧的解码结果。将从前关键帧开始到当前解码视频帧中每一帧的解码结果作为当前解码结果。由于进度调整事件是快退,目标视频帧位于本目标区间的前关键帧与当前解码视频帧之间,故目标视频帧的解码结果也已经通过上述解码过程获取到了,该目标视频帧的解码结果为本目标区间内从前关键帧开始到当前解码视频帧的多个当前解码结果中的一个。因此,在本发明实施例中,可以直接从上述当前解码结果中提取目标视频帧所对应的解码结果。例如,当目标区间为[1,6]、当前解码视频帧为第5帧、目标视频帧为第3帧,且本次进度调整事件为快退时,由于当前视频已经从第1帧解码至第5帧,其中包含第3帧的解码结果,因此可以直接从第1帧至第5帧的当前解码结果中提取第3帧的解码结果,该第3帧的解码结果就是目标视频帧的解码结果,且是第一操作对应的解码结果。
其中,由于播放视频时需要对大量视频帧进行解码,通常情况下视频解码后不会将视频帧对应的解码结果保存下来,以避免占用大量缓存空间;因此为了使视频在播放时同时兼顾画面流畅及节省存储空间,在视频解码时可以通过缓存的方式保存较小范围内的所有视频帧的解码结果,比如当前解码视频帧所处区间内的所有已经解码的视频帧的解码结果。
本发明实施例通过将进度调整事件进行分类,利用快进和快退两种情况下当前解码视频帧与目标视频帧位置关系的区别,采用两种不同手段执行第一操作。当进度调整事件是快进时,令当前解码视频帧直接向目标视频帧进行解码,以得到目标视频帧的解码结果。在这种情况下,由于可以直接从当前解码视频帧开始解码,避免了从前关键帧重新解码至当前当前解码视频帧的重复过程,减少了解码的视频帧数,从而提高了解码速度。当进度调整事件是快退时,直接从当前解码结果中提取已经解码完成且暂时缓存在播放器中的目标视频帧的解码结果,无需重新解码任何视频帧,大大提高了播放器显示解码结果所对应的画面的速度。
可选地,该方法还包括:若当前解码视频帧不位于目标区间内,在目标区间的前关键帧的基础上,执行确定目标视频帧的解码结果的第二操作,并显示第二操作对应的解码结果。
其中,如果当前解码视频帧并未处于本次进度调整事件所对应的目标区间中,即有当前解码视频帧与目标视频帧不在同一前关键帧及同一后关键帧之间,表示本次进度调整事件的范围已经涉及其他相邻关键帧所确定的区间。在这种情况下,基于该目标区间的前关键帧对当前视频执行确定该目标视频帧的解码结果的第二操作,且不论进度调整事件是快进或者快退,均可以执行该第二操作以得到目标视频帧的解码结果。
例如,当前视频的关键帧依次为第1帧、第6帧、第15帧……当进度调整事件是快进时,用户通过控制进度条光标,将处于当前视频中[1,6]区间内正在被解码的第3帧(即当前解码视频帧)所对应的光标位置移动到第10帧(即目标视频帧)所对应的位置,即本次进度调整事件为将目标视频帧定位到其前关键帧为第6帧,后关键帧为第15帧的目标区间[6,15]中。此时,基于该目标视频帧的前关键帧(即第6帧),能够执行确定该目标视频帧的解码结果的过程,该过程即可称为第二操作,并在确定第10帧的解码结果后,将第10帧的解码结果显示在播放器屏幕上。
或者,在进度调整事件是快退时,用户通过控制进度条光标,将处于当前视频中[6,15]区间内正在被解码的第10帧(即当前解码视频帧)所对应的光标位置移动到第3帧(即目标视频帧)所对应的位置,即本次进度调整事件为将目标视频帧定位到其前关键帧为第1帧、后关键帧为第6帧的目标区间[1,6]中。此时,基于该目标视频帧的前关键帧(即第1帧),能够执行确定该目标视频帧的解码结果的过程,该过程即可称为第二操作,最后也可以将第3帧的解码结果显示在播放器屏幕上。
本发明实施例不仅在当前正在解码的当前解码视频帧与进度调整后的目标视频帧处于同一目标区间内的情况下可以实现对视频进度的调整,也同样适用于目标视频帧与当前解码视频帧分别处于不同区间内的情况,在这种情况下,本方法可以根据目标视频帧所处的目标区间内的前关键帧,执行确定目标视频帧所对应的解码结果的第二操作。该第二操作可以只从目标视频帧的前关键帧开始解码,并且对于进度调整事件是快进或是快退都没有任何干扰,能够准确地在目标视频帧的前关键帧的基础上进而获得该目标视频帧的解析结果,使播放器定位后所显示的画面更为精准。
可选地,上述记载的第二操作包括以下步骤B1或步骤B2。
步骤B1:从前关键帧向目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定目标视频帧的解码结果,且第二操作对应的解码结果包括目标视频帧的解码结果。
其中,若当前解码视频帧与目标视频帧不在同一区间内,即当前正在解码的视频帧不在目标区间内,第二操作为从该目标视频帧的前关键帧开始向后逐帧解码,直至解码到目标视频帧,并完成对目标视频帧的解码。例如,当前解码视频帧为第3帧,目标视频帧为第10帧,且当前解码视频帧所在的区间为[1,6],而目标区间为[6,15],二者并不处于相同区间。因此,当从第3帧移动至第10帧时,只需要从第10帧所处的目标区间[6,15]中的前关键帧第6帧开始,向目标关键帧第10帧逐帧解码,从而得到第6帧至第10帧的解码结果,该过程即可称为第二操作,并将目标视频帧第10帧的解码结果作为第二操作的解码结果。
步骤B2:在从前关键帧向目标视频帧解码的过程中,在触发新进度调整事件时,结束从前关键帧向目标视频帧解码的过程,并确定第二结束视频帧的解码结果,第二结束视频帧为结束从前关键帧向目标视频帧解码的过程时所对应的视频帧,且第二操作对应的解码结果包括第二结束视频帧的解码结果。
其中,在执行第二操作的过程中,也就是从前关键帧向目标视频帧解码的过程中,当该第二操作还未执行到对目标视频帧进行解码的时候,若用户触发了新进度调整事件,无论该新进度调整事件是快进还是快退,皆立即停止正在执行的该第二操作,并确定该第二操作停止时刻的视频帧所对应的解码结果,将其作为第二结束视频帧的解码结果,该第二结束视频帧的解码结果是该第二操作对应的解码结果。
例如,用户第一次触发的进度调整事件为将当前视频的播放进度从第3帧定位到第10帧,其中,第3帧为该进度调整事件中的当前解码视频帧,其所处的区间为[1,6];第10帧为该进度调整事件中的目标视频帧,其所处的目标区间为[6,15]。由于,当前解码视频帧所处的区间不在本次进度调整事件对应的目标区间中,因此,可以执行从目标视频帧第10帧的前关键帧第6帧开始向第10帧逐帧解码的第二操作。在当前正在执行的第二操作执行到解码第8帧时,若用户继续触发了新进度调整事件,该新进度调整事件为将当前视频的播放进度从第10帧定位到第19帧,其中,第19帧为该新进度调整事件中的目标视频帧,且第二次触发的新进度调整事件中目标视频帧第19帧所处的目标区间为[15,20]。在本发明实施例中,一方面即刻停止前一个进度调整事件所对应的第二操作的过程,即停止从第6帧向第10帧解码的过程中还未执行的、从第8帧到第10帧的解码过程,不再继续解码至第10帧,即使第10帧是该进度调整事件中的目标视频帧。同时,将触发新进度调整事件的时刻所对应的第二操作结束时刻的视频帧(即第8帧)作为第二结束视频帧,确定第8帧的解码结果,并且第8帧的解码结果是该第二操作对应的解码结果。另一方面对新进度调整事件进行处理,由于新进度调整事件中的目标视频帧第19帧与当前正在解码的视频帧第8帧分别处于不同的区间,故可以执行确定新进度调整事件中目标视频帧第19帧的第二操作,即从第19帧的前关键帧第15帧开始向第19帧逐帧解码。
本发明实施中,在从当前解码视频帧向目标视频帧解码的过程中,若触发新进度调整事件,则无论是否解码到目标视频帧,均停止第二操作,此时当前解码视频帧与目标视频帧之间的某个视频帧作为第二结束视频帧,并将第二结束视频帧的解码结果进行渲染,以在播放器中显示;该方式直接停止当前的第二操作,不影响后续新进度调整事件中的解码过程,且该方式不需要解码第二结束视频帧与目标视频帧之间的视频帧,减少了解码帧数,能够提高解码效率。此外,与传统的快速定位法相比,在播放器中显示第二结束视频帧,也能够比较准确地显示进度调整事件所定位的视频帧。
下面通过一个实施例详细介绍该视频进度调整方法流程。该方法应用于视频播放场景,以实现对视频播放进度的调整。参见图3所示,该方法包括以下步骤301-308。
步骤301:获取当前视频的全部关键帧,将当前视频按照每两个相邻关键帧便划分为一个区间的方式,得到多个区间。
步骤302:获取用户通过对当前视频进度条光标的操作所触发的进度调整事件,并确定该进度调整事件的目标视频帧,将该目标视频帧所处的区间作为目标区间。
其中,基于上述步骤102中所描述的过程能够确定该目标区间,具体内容不再赘述。
步骤303:确定触发该进度调整事件时刻所对应的当前解码视频帧。
步骤304:判断当前解码视频帧是否位于目标区间内,若是,进行步骤305;若不是,则进行步骤308。
步骤305:判断进度调整事件是否为快进,若是,进行步骤306,否则进行步骤307。
步骤306:基于当前解码视频帧的解码结果,执行从当前解码视频帧逐帧向目标视频帧解码的第一操作,并显示第一操作对应的解码结果。
其中,可以基于上述步骤A1或A2中所描述的过程执行第一操作,在此不再赘述。
步骤307:从当前解码结果中提取目标视频帧所对应的解码结果,显示目标视频帧对应的解码结果。
步骤308:在目标区间的前关键帧的基础上,执行确定目标视频帧的解码结果的第二操作,并显示第二操作对应的解码结果。
其中,该第二操作的具体实施方式可以参见上述步骤B1、B2中所描述的过程,具体过程不在赘述。
本发明实施例提供了一种视频进度调整装置,参见图4所示,该装置包括:获取模块41、定位模块42和处理模块43。
获取模块41用于获取对当前视频的进度调整事件,所述进度调整事件用于定位到所述当前视频的目标视频帧。
定位模块42用于确定所述目标视频帧所处的目标区间,所述目标区间为两个相邻的关键帧之间的区间。
处理模块43用于若当前解码视频帧位于所述目标区间内,在当前解码结果的基础上,执行确定所述目标视频帧的解码结果的第一操作,并显示所述第一操作对应的解码结果。
可选地,进度调整事件包括对所述当前视频快进和/或快退;处理模块43中包括能够执行第一操作的第一解码单元和第二解码单元。
第一解码单元用于在所述进度调整事件为对所述当前视频快进的情况下,基于所述当前解码视频帧的解码结果,从所述当前解码视频帧向所述目标视频帧解码;其中,所述当前解码结果包括所述当前解码视频帧的解码结果。
第二解码单元用于在所述进度调整事件为对所述当前视频快退的情况下,从所述当前解码结果中提取所述目标视频帧所对应的解码结果;其中,所述当前解码结果包括所述目标区间的前关键帧到所述当前解码视频帧之间的解码结果。
可选地,第一解码单元包括:第一解码子单元和第二解码子单元。
第一解码子单元用于从所述当前解码视频帧向所述目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定所述目标视频帧的解码结果,且所述第一操作对应的解码结果包括所述目标视频帧的解码结果。
第二解码子单元用于在从所述当前解码视频帧向所述目标视频帧解码的过程中,在触发新进度调整事件时,结束从所述当前解码视频帧向所述目标视频帧解码的过程,并确定第一结束视频帧的解码结果,所述第一结束视频帧为结束从所述当前解码视频帧向所述目标视频帧解码的过程时所对应的视频帧,且所述第一操作对应的解码结果包括所述第一结束视频帧的解码结果。
可选地,该装置还包括调整模块。
调整模块用于若当前解码视频帧不位于所述目标区间内,在所述目标区间的前关键帧的基础上,执行确定所述目标视频帧的解码结果的第二操作,并显示所述第二操作对应的解码结果。
可选地,调整模块中包括能够执行第二操作的第三解码单元和第四解码单元。
第三解码单元用于从所述前关键帧向所述目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定所述目标视频帧的解码结果,且所述第二操作对应的解码结果包括所述目标视频帧的解码结果。
第四解码单元用于在从所述前关键帧向所述目标视频帧解码的过程中,在触发新进度调整事件时,结束从所述前关键帧向所述目标视频帧解码的过程,并确定第二结束视频帧的解码结果,所述第二结束视频帧为结束从所述前关键帧向所述目标视频帧解码的过程时所对应的视频帧,且所述第二操作对应的解码结果包括所述第二结束视频帧的解码结果。
可选地,所述进度调整事件为通过对所述当前视频进度条的光标执行拖动和/或点击操作所触发的事件。
本发明实施例提供的一种视频进度调整装置,在当前解码视频帧处于目标区间内的情况下,基于当前解码结果,在其基础上确定目标视频帧的解码结果。本装置不需要从该目标视频帧的前关键帧依次解码至目标视频帧,能直接在当前解码视频帧的解码结果的基础上执行第一操作,进而利于快速得到目标视频帧的解码结果,减少了需要解码的视频帧数,提高了在进度调整过程中的解码速度,进而可以在播放器屏幕上快速显示目标视频帧的解码结果所对应的画面。并且,相对于利用传统快速定位法的装置直接解码与该目标视频帧相邻的前关键帧,令前关键帧的解码结果显示在播放器屏幕上,本装置能够解码至目标视频帧,进而可以显示准确地解码结果。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述视频进度调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图5所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述视频进度调整方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、***总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、***部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如***设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机***的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)***、码分多址(CDMA)***、全球微波互联接入(WiMAX)***、通用分组无线业务(GPRS)***、宽带码分多址(WCDMA)***、长期演进(LTE)***、LTE频分双工(FDD)***、LTE时分双工(TDD)***、先进长期演进(LTE-A)***、通用移动通信(UMTS)***、增强移动宽带(Enhance Mobile Broadband,eMBB)***、海量机器类通信(massive Machine Type of Communication,mMTC)***、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)***等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作***1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作***1151包含各种***程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机***可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频进度调整方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的***、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行***、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种视频进度调整方法,其特征在于,包括:
获取对当前视频的进度调整事件,所述进度调整事件用于定位到所述当前视频的目标视频帧;
确定所述目标视频帧所处的目标区间,所述目标区间为两个相邻的关键帧之间的区间;
若当前解码视频帧位于所述目标区间内,在当前解码结果的基础上,执行确定所述目标视频帧的解码结果的第一操作,并显示所述第一操作对应的解码结果。
2.根据权利要求1所述的方法,其特征在于,所述进度调整事件包括对所述当前视频快进和/或快退;所述第一操作包括:
在所述进度调整事件为对所述当前视频快进的情况下,基于所述当前解码视频帧的解码结果,从所述当前解码视频帧向所述目标视频帧解码;其中,所述当前解码结果包括所述当前解码视频帧的解码结果;
在所述进度调整事件为对所述当前视频快退的情况下,从所述当前解码结果中提取所述目标视频帧所对应的解码结果;其中,所述当前解码结果包括所述目标区间的前关键帧到所述当前解码视频帧之间的解码结果。
3.根据权利要求2所述的方法,其特征在于,所述从所述当前解码视频帧向所述目标视频帧解码包括:
从所述当前解码视频帧向所述目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定所述目标视频帧的解码结果,且所述第一操作对应的解码结果包括所述目标视频帧的解码结果;
在从所述当前解码视频帧向所述目标视频帧解码的过程中,在触发新进度调整事件时,结束从所述当前解码视频帧向所述目标视频帧解码的过程,并确定第一结束视频帧的解码结果,所述第一结束视频帧为结束从所述当前解码视频帧向所述目标视频帧解码的过程时所对应的视频帧,且所述第一操作对应的解码结果包括所述第一结束视频帧的解码结果。
4.根据权利要求1所述的方法,其特征在于,还包括:
若当前解码视频帧不位于所述目标区间内,在所述目标区间的前关键帧的基础上,执行确定所述目标视频帧的解码结果的第二操作,并显示所述第二操作对应的解码结果。
5.根据权利要求4所述的方法,其特征在于,所述第二操作包括:
从所述前关键帧向所述目标视频帧解码,在没有触发新进度调整事件的情况下,直至确定所述目标视频帧的解码结果,且所述第二操作对应的解码结果包括所述目标视频帧的解码结果;
在从所述前关键帧向所述目标视频帧解码的过程中,在触发新进度调整事件时,结束从所述前关键帧向所述目标视频帧解码的过程,并确定第二结束视频帧的解码结果,所述第二结束视频帧为结束从所述前关键帧向所述目标视频帧解码的过程时所对应的视频帧,且所述第二操作对应的解码结果包括所述第二结束视频帧的解码结果。
6.根据权利要求1所述的方法,其特征在于,所述进度调整事件为通过对所述当前视频进度条的光标执行拖动和/或点击操作所触发的事件。
7.一种视频进度调整装置,其特征在于,包括:获取模块、定位模块及处理模块;
所述获取模块用于获取对当前视频的进度调整事件,所述进度调整事件用于定位到所述当前视频的目标视频帧;
所述定位模块用于确定所述目标视频帧所处的目标区间,所述目标区间为两个相邻的关键帧之间的区间;
所述处理模块用于若当前解码视频帧位于所述目标区间内,在当前解码结果的基础上,执行确定所述目标视频帧的解码结果的第一操作,并显示所述第一操作对应的解码结果。
8.根据权利要求7所述的装置,其特征在于,所述进度调整事件包括对所述当前视频快进和/或快退;所述处理模块包括能够执行所述第一操作的第一解码单元和第二解码单元;
所述第一解码单元用于在所述进度调整事件为对所述当前视频快进的情况下,基于所述当前解码视频帧的解码结果,从所述当前解码视频帧向所述目标视频帧解码;其中,所述当前解码结果包括所述当前解码视频帧的解码结果;
所述第二解码单元用于在所述进度调整事件为对所述当前视频快退的情况下,从所述当前解码结果中提取所述目标视频帧所对应的解码结果;其中,所述当前解码结果包括所述目标区间的前关键帧到所述当前解码视频帧之间的解码结果。
9.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的视频进度调整方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的视频进度调整方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110964776.5A CN113423009B (zh) | 2021-08-23 | 2021-08-23 | 一种视频进度调整方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110964776.5A CN113423009B (zh) | 2021-08-23 | 2021-08-23 | 一种视频进度调整方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113423009A true CN113423009A (zh) | 2021-09-21 |
CN113423009B CN113423009B (zh) | 2021-12-24 |
Family
ID=77719110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110964776.5A Active CN113423009B (zh) | 2021-08-23 | 2021-08-23 | 一种视频进度调整方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113423009B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915850A (zh) * | 2022-04-22 | 2022-08-16 | 网易(杭州)网络有限公司 | 一种视频播放控制方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686343A (zh) * | 2012-09-25 | 2014-03-26 | 三星电子(中国)研发中心 | 用于录制视频中的场景定位的方法和设备 |
CN104918136A (zh) * | 2015-05-28 | 2015-09-16 | 北京奇艺世纪科技有限公司 | 视频定位方法和装置 |
US20190272088A1 (en) * | 2018-03-05 | 2019-09-05 | Qingdao Hisense Media Network Technology Co., Ltd. | Playing media |
CN110267096A (zh) * | 2019-06-21 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备及存储介质 |
CN110913272A (zh) * | 2019-12-03 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算机可读存储介质和计算机设备 |
CN111436005A (zh) * | 2019-01-15 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于显示图像的方法和装置 |
US20200267452A1 (en) * | 2015-12-23 | 2020-08-20 | Shenzhen Tcl Digital Technology Ltd. | Method and device for previewing video playback progress |
-
2021
- 2021-08-23 CN CN202110964776.5A patent/CN113423009B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686343A (zh) * | 2012-09-25 | 2014-03-26 | 三星电子(中国)研发中心 | 用于录制视频中的场景定位的方法和设备 |
CN104918136A (zh) * | 2015-05-28 | 2015-09-16 | 北京奇艺世纪科技有限公司 | 视频定位方法和装置 |
US20200267452A1 (en) * | 2015-12-23 | 2020-08-20 | Shenzhen Tcl Digital Technology Ltd. | Method and device for previewing video playback progress |
US20190272088A1 (en) * | 2018-03-05 | 2019-09-05 | Qingdao Hisense Media Network Technology Co., Ltd. | Playing media |
CN111436005A (zh) * | 2019-01-15 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于显示图像的方法和装置 |
CN110267096A (zh) * | 2019-06-21 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备及存储介质 |
CN110913272A (zh) * | 2019-12-03 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (2)
Title |
---|
WENHAO WU: "Multi-Agent Reinforcement Learning Based Frame Sampling for Effective Untrimmed Video Recognition", 《2019 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV)》 * |
申志伟: "流媒体客户端的分析与研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915850A (zh) * | 2022-04-22 | 2022-08-16 | 网易(杭州)网络有限公司 | 一种视频播放控制方法、装置、电子设备及存储介质 |
CN114915850B (zh) * | 2022-04-22 | 2023-09-12 | 网易(杭州)网络有限公司 | 一种视频播放控制方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113423009B (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210224022A1 (en) | Cooperative control method for user equipment, user equipment, and communications system | |
CN108737908B (zh) | 一种媒体播放方法、装置及存储介质 | |
US10771565B2 (en) | Sending application input commands over a network | |
CN108079578B (zh) | 一种基于云游戏的码率调整方法、装置及存储介质 | |
CN111436005B (zh) | 用于显示图像的方法和装置 | |
EP3739895A1 (en) | Media playback | |
EP4145837A1 (en) | Video processing method and apparatus, device and medium | |
CN112437345B (zh) | 视频倍速播放方法、装置、电子设备及存储介质 | |
CN113766313A (zh) | 视频数据处理方法及装置、电子设备和存储介质 | |
EP3410290B1 (en) | Audio processing method, server, user equipment, and system | |
CN107608601B (zh) | 一种视频回放方法、移动终端及计算机可读存储介质 | |
CN113423009B (zh) | 一种视频进度调整方法、装置及电子设备 | |
WO2012092725A1 (zh) | 视频播放时快进快退处理方法、装置以及移动终端 | |
WO2017080241A1 (zh) | 延时摄影方法和装置 | |
CN111147942A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN112711477B (zh) | 一种切换应用程序的方法、装置及电子设备 | |
CN114666666B (zh) | 视频跳转播放方法、装置、终端设备及存储介质 | |
KR20110099414A (ko) | 휴대용 단말기에서 애니메이션 효과를 제공하기 위한 장치 및 방법 | |
CN113301424A (zh) | 播放控制方法、设备、存储介质及程序产品 | |
CN113473215B (zh) | 录屏方法、装置、终端及存储介质 | |
CN111526381B (zh) | 一种优化直播资源的方法、装置及电子设备 | |
CN113873319A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN114827454A (zh) | 视频的获取方法及装置 | |
CN112764709B (zh) | 一种声卡数据的处理方法、装置及电子设备 | |
CN112468679B (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 |