CN110636370A - 一种视频处理方法、装置、电子设备和可读介质 - Google Patents
一种视频处理方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN110636370A CN110636370A CN201810662736.3A CN201810662736A CN110636370A CN 110636370 A CN110636370 A CN 110636370A CN 201810662736 A CN201810662736 A CN 201810662736A CN 110636370 A CN110636370 A CN 110636370A
- Authority
- CN
- China
- Prior art keywords
- decoding
- video data
- decoding mode
- time period
- set 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 139
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000009877 rendering Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 abstract description 33
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- PPDBOQMNKNNODG-NTEUORMPSA-N (5E)-5-(4-chlorobenzylidene)-2,2-dimethyl-1-(1,2,4-triazol-1-ylmethyl)cyclopentanol Chemical compound C1=NC=NN1CC1(O)C(C)(C)CC\C1=C/C1=CC=C(Cl)C=C1 PPDBOQMNKNNODG-NTEUORMPSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive 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
- H04N21/44012—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 involving rendering scenes according to scene graphs, e.g. MPEG-4 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/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
- H04N21/4402—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 involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了一种视频处理方法、装置、电子设备和可读介质,以使解码方式的切换不影响视频的播放。所述的方法包括:依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;播放所述设定时间段的视频数据,并调用第二解码方式从所述切换点开始解码视频数据;在播放到达所述切换点时,播放通过第二解码方式解码的视频数据。能够预先缓存一部分解码完的视频数据,从而在播放达到切换点后播放通过第二解码方式解码的视频数据,完成解码方式的切换,且切换过程中视频能够正常播放。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种视频处理方法,一种视频处理装置,一种电子设备以及一种机器可读介质。
背景技术
视频数据往往数据量比较大,因此通常会将视频数据编码压缩后存储、传输,相应的,在播放视频数据时需要对编码压缩的视频数据进行解码,然后播放解码还原的视频数据。
在终端设备中播放视频时,可通过多种解码方式进行解码,如通过软解码方式进行视频数据的解码,又如通过硬解码方式进行视频数据的解码等。
不同种解码方式之间有时需要进行切换,但是,目前的切换通常需要停止目前正在使用的解码方式,然后调用需要切换的解码方式。正在使用的解码方式停止工作会导致视频停止播放,直到切换完成,使用切换的解码方式进行解码才能继续播放视频。
发明内容
本申请实施例提供一种视频处理方法,以使解码方式的切换不影响视频的播放。
相应的,本申请实施例还提供了一种视频处理装置、一种电子设备和一种机器可读介质,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种视频处理方法,包括:依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;播放所述设定时间段的视频数据,并调用第二解码方式从所述切换点开始解码视频数据;在播放到达所述切换点时,播放通过第二解码方式解码的视频数据。
可选的,所述调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点,包括:按照第一解码方式调用解码资源对视频数据进行解码,得到解码的视频数据;在解码达到设定时间段对应指定帧后停止解码,并记录所述指定帧为切换点。
可选的,所述调用第二解码方式从所述切换点开始解码视频数据,包括:依据所述切换点确定对应的指定帧;从所述指定帧开始,按照第二解码方式调用解码资源对视频数据进行解码。
可选的,所述播放所述设定时间段的视频数据,包括:对通过第一方式解码的视频数据进行渲染,并播放渲染的视频数据。
可选的,所述在播放到达所述切换点时,播放通过第二解码方式解码的视频数据,包括:在渲染到所述切换点对应的指定帧时,从所述指定帧开始对通过第二解码方式解码的视频数据进行渲染,并播放渲染的视频数据。
可选的,所述指定帧包括关键帧。
可选的,在播放到达所述切换点后,还包括:释放所述第一解码方式对应的解码资源。
可选的,所述调用第二解码方式从所述切换点开始解码视频数据之前,还包括:创建所述第二解码方式所需的解码资源。
可选的,所述采用第一解码方式解码出设定时间段的视频数据之前,还包括:判断所述第二解码方式是否能够解码所述视频数据对应的视频格式;判断能够解码所述视频数据对应的视频格式后,执行采用第一解码方式解码出设定时间段的视频数据的步骤。
可选的,还包括以下至少一种发出切换指示的步骤:在第二解码方式对应的解码资源空闲后,发出切换指示;依据清晰度调整信息发出切换指示;判断指定视频数据需要通过第一解码方式进行解码,发出切换指示。
可选的,还包括:接收快进指令,并确定所述快进指令对应的图像帧;若所述图像帧在切换点之前,从所述图像帧开始播放通过所述第一解码方式解码的视频数据;若所述图像帧为切换点或所述图像帧在切换点之后,从所述图像帧开始播放通过所述第二解码方式解码的视频数据。
可选的,应用于直播系统,若所述设定时间段内具有关键帧,则将设定时间段的最后一帧关键帧确定为切换点;若所述设定时间段不具有关键帧,则将所述设定时间段的最后一帧确定为切换点。
可选的,所述第一解码方式包括软解码方式;所述第二解码方式包括硬解码方式。
可选的,所述第一解码方式包括硬解码方式;所述第二解码方式包括软解码方式。
本申请实施例还公开了一种视频处理装置,包括:预解码模块,用于依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;播放模块,用于播放所述设定时间段的视频数据;以及在播放到达所述切换点时,播放通过第二解码方式解码的视频数据;解码切换模块,用于调用第二解码方式从所述切换点开始解码视频数。
本申请实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的视频处理方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的视频处理方法。
本申请实施例还公开了一种用于电子设备的操作系统,其特征在于,包括:解码单元,依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;以及调用第二解码方式从所述切换点开始解码视频数;播放单元,播放所述设定时间段的视频数据;以及在播放到达所述切换点时,播放通过第二解码方式解码的视频数据。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例中,依据切换指示对解码方式进行切换时,可调用正在使用的第一解码方式解码出设定时间段的视频数据,并依据该设定时间段确定切换点,从而能够预先缓存一部分解码完的视频数据,再播放该设定时间段的视频数据,并调用需要切换的第二解码方式从该切换点开始解码视频数据,然后可在达到切换点后,播放通过第二解码方式解码的视频数据,此后由第二解码方式进行视频数据的解码,完成解码方式的切换,且切换过程中视频能够正常播放。
附图说明
图1是本申请实施例中解码方式切换过程中数据同步的示意图;
图2是本申请实施例中一种解码切换示例的示意图;
图3是本申请实施例中另一种解码切换示例的示意图;
图4是本申请实施例中又一种解码切换示例的示意图;
图5是本申请实施例中再一种解码切换示例的示意图;
图6是本申请的一种视频处理方法实施例的步骤流程图;
图7是本申请的另一种视频处理方法实施例的步骤流程图;
图8是本申请的一种视频处理装置实施例的结构框图;
图9是本申请的另一种视频处理装置实施例的结构框图;
图10是本申请一实施例提供的电子设备的硬件结构示意图;
图11是本申请另一实施例提供的电子设备的硬件结构示意图;
图12是本申请实施例中一种用于电子设备的操作系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例中解码指的是将压缩过的音/视频文件还原为音/视频原始数据格式的文件。视频的解码方式有多种,如包括软解码方式和硬解码方式,其中,软解码方式也称软件解码方式,指的是使用软件进行解码,可以基于CPU(Central Processing Unit,中央处理器)运行软件的算法,完成对视频数据的解码。硬解码方式也称为硬件解码方式,指的是通过设备的解码芯片进行解码,例如通过GPU(Graphics Processing Unit,图形处理器)进行解码,可以将需要解码的数据输入解码芯片,该解码芯片输出解码后的数据。
本申请实施例中,终端设备中播放视频数据的过程中,将视频数据正在使用的解码方式称为第一解码方式,则视频数据通过第一解码方式进行解码后渲染播放,在该过程中可能存在多种原因需要切换解码方式,相应可发出切换指示,将依据切换指示需要切换的解码方式称为第二解码方式。
在切换解码方式时,采用正在使用的第一解码方式预先解码出设定时间段的视频数据并确定切换点,其中,设定时间段指的是解码方式切换的缓冲时间范围,以实现两种解码方式的流畅切换。从而在渲染播放该设定时间段的视频数据的过程中,采用切换的第二解码方式从切换点开始解码,在达到切换点后,可切换为播放通过第二解码方式解码的视频数据,此后采用第二解码方式进行解码。从而在解码方式的切换过程中,预解码出设定时间段的视频数据,并且第二解码方式在播放到设定时间段的切换点前已经开始解码,使得在播放到切换点时,两种解码方式可以流畅的进行切换,视频数据仍然正常播放。
参照图1,示出了本申请实施例中解码方式切换过程中数据同步的示意图。
解码的视频数据可通过横轴表示,横轴上包括切换点,切换点之前的数据由第一解码方式解码得到,切换点之后视频数据由第二解码方式解码得到。其中,在接收到切换指示后,调用第一解码方式预先解码出设定时间段的视频数据,然后在播放该设定时间段的视频数据的过程中,可调用第二解码方式从切换点开始解码视频数据,在播放到该切换点对应的视频数据时,就能够切换为播放通过第二解码方式解码的视频数据,实现对解码方式的无缝切换,不影响视频数据的正常播放。其中,所述第一解码方式包括软解码方式,则所述第二解码方式包括硬解码方式;所述第一解码方式包括硬解码方式,则所述第二解码方式包括软解码方式。
其中,可通过多种方式触发切换指示的发出。一种方式为:在第二解码方式对应的解码资源空闲后,发出切换指示。第一视频数据通过第一解码方式进行解码,第二视频数据通过第二解码方式解码,第二视频数据播放完毕后,无需再调用第二解码方式,因此第二解码方式对应的解码资源空闲,为了提高资源利用率,此时可发出指示信息,将第一视频数据的解码方式切换为第二解码方式。例如图2所示,终端设备的播放器采用video1通过硬解码方式解码播放高清视频A,采用video2通过软解码方式解码播放标清的视频数据B,当高清视频A播放完毕退出后,系统上硬解码方式对应的硬件资源就空闲了,为了尽可能的利用系统资源,以及提高播放体验,可以向播放器发出切换指示,从而将video2切换为硬解码方式解码,相应的视频数据B也切换为高清视频。
另一个方式为:依据清晰度调整信息发出切换指示。视频数据播放过程中,可能会需要切换视频数据的清晰度,例如用户指示切换清晰度,又如由于网络变好或变差等原因导致需要切换视频数据的清晰度,不同清晰度可能需要不同的解码方式进行解码,如较低的清晰度(如480p)采用软解码、硬解码方式均可解码,而高清晰度如4k则需要硬解码方式,因此采用软解码方式解码的过程中若需要切换到高清晰度4k,则需要切换成硬解码方式进行解码,可依据清晰度的调整指示生成清晰度调整信息,基于该清晰度调整信息确定第一解码方式不适合后,可发出指示信息。如图3所示,终端设备的播放器采用video1通过软解码方式解码播放标清视频C,采用video2通过硬解码方式解码播放视频通话D,当视频通话D播放完毕退出后,可调整视频C的清晰度,从而依据清晰度调整信息发出切换指示,从而将video1对应视频C调整为高清视频,并且将软解码方式切换为硬解码方式对高清视频进行解码播放。
另一个方式为:判断指定视频数据需要通过第一解码方式进行解码,发出切换指示。有时在播放视频数据的过程中,会出现优先级较高的指定视频数据的播放需求,而该指定视频数据需要通过第一解码方式进行解码,而第一解码方式对应的解码资源正在被调用执行解码操作,相应的可发出切换指示,播放器中采用第一解码方式解码的视频数据切换为第二解码方式,从而使得第一解码方式对应的资源数据得到释放。例如图4所示,终端设备的播放器采用video1通过硬解码方式解码播放高清视频E,此时接收到更高优先级的应用需要使用硬解码方式来解码,如一个视频通话F的请求,可以向播放器发出切换指示,将video1的高清视频E切换为标清视频,解码方式由硬解码方式切换为软解码方式,使得硬解码方式的解码资源得到释放,来进行video2对应视频通话F的解码。又如图5所示,电视机的播放器采用video1通过硬解码方式解码播放高清视频G,此时要通过HDMI(HighDefinition Multimedia Interface,高清晰度多媒体接口)播放高清数字电视H,高清数字电视H需要通过硬解码方式解码,可以向播放器发出切换指示,将video1的高清视频G切换为标清视频,解码方式由硬解码方式切换为软解码方式,使得硬解码方式的解码资源得到释放,来进行video2对应高清数字电视H的解码。
在播放器接收到切换指示后,可调用第一解码方式解码出设定时间段的视频数据,如解码出1秒、3秒的视频数据等。本申请实施例中,设定时间段的长度可依据多种方式配置,如依据需求设置,依据应用场景设置,以及依据解码方式设置等,以依据解码方式设置为例,对于硬解码方式可依据所使用的解码芯片确定设定时间段的长短,对于软解码方式可依据解码算法确定设定时间段的长短等,以依据应用场景设置为例,应用于直播类视频播放时,可设置设定时间段短一些,如为5-10帧,而应用于非依据解码方式设置时,可设置设定时间段长一些,如为30-50帧等。其中,依据该切换指示确定需要切换解码方式,则对于当前使用的第一解码方式可预先解码出设定时间段的视频数据,并对预先解码出的视频数据进行缓存,从而可在需要渲染时从缓存中取出。本申请实施例还可依据该设定时间段确定切换点。其中,切换点为两种解码方式进行数据同步的切换关键点,其可以为一个时间点,也可为视频数据的某一帧。
其中,所述调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点,包括:按照第一解码方式调用解码资源对视频数据进行解码,得到解码的视频数据;在解码达到设定时间段的指定帧后停止解码,并记录所述指定帧为切换点。播放器可调用第一解码方式的解码资源对视频数据进行解码,得到解码的视频数据,其中,预先解码出设定时间段的视频数据,该设定时间段可对应到视频数据的帧,例如视频数据1秒播放16帧图像,设定时间段为3秒,则可解析出3*16=48帧图像。因此可基于设定时间段确定一个指定帧,在解码达到指定帧后停止解码,可将该指定帧看作解码的结束点,相应的也将该指定帧确定为切换点。其中,指定帧可在设定时间段末尾的一定范围内确定,如上述48帧中,可在43-48帧之间确定一个帧为指定帧,或者设置误差范围在46-50帧之间确定指定帧。
其中,所述指定帧包括关键帧(I帧),该关键帧为帧内编码帧,该帧的画面在编码时完整保留,相应可独立解码显示的图像帧。每个帧通过帧标识唯一指定,例如帧标识为时间戳。从而在解码达到设定时间段的末尾几帧时,可确定出一个关键帧作为切换点。从而播放到I帧切换为第二解码方式解码的视频数据后,基于该I帧可以对进行解码,后续的非关键帧P帧也可基于I帧进行解码。其中,P帧为前向预测编码帧,P帧表示跟之前的一个关键帧(或P帧)的差别,因此P帧不能独立解码显示,其解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
在应用于对直播系统中直播视频数据,由于直播对于数据的实时性要求较高,因此设置直播系统对应设定时间段较短,如为解码到当前帧之后的5-15帧。该设定时间段内可能具有关键帧,也可能不具有关键帧,因此若所述设定时间段内具有关键帧,则将设定时间段的最后一帧关键帧确定为切换点;若所述设定时间段不具有关键帧,则将所述设定时间段的最后一帧确定为切换点。如在设定时间段所在的5-15帧中,若第6、13帧为关键帧,则可选择第13帧为切换点;若设定时间段内没有关键帧,则可选择第15帧为切换点。从而便于在各种视频播放场景中灵活使用。
在播放设定时间段的视频数据的过程中,可调用第二解码方式从所述切换点开始解码视频数据。其中,播放器可对通过第一方式解码的视频数据进行渲染,并播放渲染的视频数据。例如播放器可将通过第一方式解码的视频数据传输给相应的渲染接口,然后可进行视频数据的渲染并播放渲染的视频数据。一个示例中,播放器可把解码后的视频数据(如RGB数据)写入surface句柄中,渲染视频数据的图像并播放视频数据。
渲染并播放视频的过程中,播放器可创建所述第二解码方式所需的资源数据,从而能够调用该解码资源进行视频数据的解码。其中,所述解码资源是抽象的概念,具体的资源可依据解码方式确定,例如对于硬解码方式,解码资源为硬件资源如解码芯片等;对于软解码方式,解码资源为软件算法、CPU等所需调用的数据。
在完成资源的创建后,播放器可依据切换点对应的指定帧;从该指定帧开始,按照第二解码方式调用解码资源对视频数据进行解码。播放器可查询切换点对应的指定帧,如查询关键帧的时间戳等,然后可调用第二解码方式对应的解码资源从切换点对应的指定帧开始进行视频数据的解码。
在视频数据播放到切换点,如视频数据播放到指定帧之后,可从该指定帧开始对通过第二解码方式解码的视频数据进行渲染,并播放渲染的视频数据。其中,在视频数据播放到指定帧后,播放器可将通过第二解码方式解码的视频数据传输给相应的渲染接口,如将通过第二解码方式解码的视频数据写入surface句柄中,然后可渲染视频数据的图像并播放视频数据。
在视频数据播放到指定帧后,播放器还可释放所述第一解码方式对应的解码资源,从而通过第一解码方式解码得到的视频数据不会再传输给渲染接口。其中,播放器可不再调用第一解码方式对应的解码资源,完成对解码资源的释放,也实现了对解码方式的切换,此后可继续采用第二解码方式进行视频数据的解码、渲染和播放。
本申请实施例中,不同解码方式所能够解码的视频格式也不同,为防止出现切换后无法解码而影响视频数据播放的问题,在采用第一解码方式解码出设定时间段的视频数据之前,还包括:判断所述第二解码方式是否能够解码所述视频数据对应的视频格式;判断能够解码所述视频数据对应的视频格式后,执行采用第一解码方式解码出设定时间段的视频数据的步骤。
在接收到切换指示没有完成解码方式的切换前,还可能接收到快进指令使得视频需要跳转到相应的图像帧开始播放,可依据跳转的位置调用相应的解码视频数据进行播放。本申请一个可选实施例中,接收快进指令,并确定所述快进指令对应的图像帧;若所述图像帧在切换点之前,从所述图像帧开始播放通过所述第一解码方式解码的视频数据;若所述图像帧为切换点或所述图像帧在切换点之后,,从所述图像帧开始播放通过所述第二解码方式解码的视频数据。在接收到快进指令后,可依据该快进指令确定跳转的时间戳等时间信息,然后依据时间信息确定对应的图像帧,再判断该图像帧和切换点之间的关系,如该图像帧位于切换点之前,可以跳转到该图像帧,并从该图像帧开始,渲染通过第一解码方式解码的视频数据并播放,直到播放到切换点,切换为渲染通过第二解码方式解码的视频数据并播放。如果该图像帧位于切换点之后,或者该图像帧为切换点,则可跳转到该图像帧,并从该图像帧开始渲染通过第二解码方式解码的视频数据并播放。
若是切换后第二解码方式由于视频格式的原因出现不能解码的问题,也会导致视频无法正常播放,因此在按照切换指示执行切换前,可判断所述第二解码方式是否能够解码所述视频数据对应的视频格式。其中,若切换前后视频格式不变,则可获取当前视频数据的格式,例如第二解码方式空闲后触发的切换可能不改变视频格式;若切换后也需要变更视频格式,则可获取切换后需要解码的视频数据的视频格式,例如清晰度变换导致的切换通常会改变切换格式,视频格式是否变更可依据实际场景确定。然后可判断第二解码方式是否能够解码所述视频数据对应的视频格式,若能够解码所述视频数据对应的视频格式,可采用第一解码方式解码出设定时间段的视频数据;反之,若不能够解码所述视频数据对应的视频格式,可结束该流程,不执行解码格式的切换。
从而通过预先解码出部分视频数据,使得播放预先解码出的视频数据的过程中,可采用第二解码方式从切换点开始解码,在播放到切换点对应的视频帧后就转换为播放通过第二解码方式解码的视频数据,不会出现黑屏的问题,视频数据可在切换过程中正常播放。
参照图6,示出了本申请一种视频处理方法实施例的步骤流程图,具体包括如下步骤。
步骤602,依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点。
播放器采用第一解码方式解码视频数据并播放的过程中,可依据切换指示进行解码方式的切换,因此在接收到切换指示后,可调用第一解码方式预先解码出一部分视频数据,其中可解码出设定时间段的视频数据,如依据需要的设定时间段确定所需解码视频数据的数据量,从而解码出相应数据量的视频数据,又如依据设定时间段确定出需要解码的视频数据的帧信息,然后解码出相应帧的视频数据,并且可依据该设定时间段确定切换点,例如设定解码得到的某一帧为切换点,则第一解码方式解码到该帧对应的视频数据后即可停止解码。
步骤604,播放所述设定时间段的视频数据,并调用第二解码方式从所述切换点开始解码视频数据。
播放器可依据渲染视频数据并播放,因此可渲染设定时间段的视频数据并播放,在该过程中还可调用第二解码方式,从切换点开始进行视频数据的解码,其中,在第一解码方式解码到切换点对应指定帧后可停止解码,而后采用第二解码方式从该指定帧开始解码视频数据。
步骤606,在播放到达所述切换点时,播放通过第二解码方式解码的视频数据。
视频数据播放达到切换点时,通过第一解码方式解码的视频数据渲染完毕,然后可从该切换点开始,渲染第二解码方式解码的视频数据并播放,完成解码方式的切换。
综上,依据切换指示对解码方式进行切换时,可调用正在使用的第一解码方式解码出设定时间段的视频数据,并依据该设定时间段确定切换点,从而能够预先缓存一部分解码完的视频数据,再播放该设定时间段的视频数据,并调用需要切换的第二解码方式从该切换点开始解码视频数据,然后可在播放达到切换点时,播放通过第二解码方式解码的视频数据,此后由第二解码方式进行视频数据的解码,完成解码方式的切换,且切换过程中视频能够正常播放。
参照图7,示出了本申请另一种视频处理方法实施例的步骤流程图,具体包括如下步骤。
步骤702,接收切换指示。
播放视频过程中可通过多种方式触发切换指示,包括:在第二解码方式对应的解码资源空闲后,发出切换指示;依据清晰度调整信息发出切换指示;判断指定视频数据需要通过第一解码方式进行解码,发出切换指示等。例如在播放标清视频时切换成高清视频,可由软解码方式切换为硬解码方式;又如观看高清视频时接收到视频通讯的请求,可将由硬解码方式解码的高清视频切换为由软解码方式解码的标清视频,然后采用硬解码方式解码视频通讯。
步骤704,判断所述第二解码方式是否能够解码所述视频数据对应的视频格式。
在转换切换格式前,可判断所述第二解码方式是否能够解码所述视频数据对应的视频格式,其中,可确定切换后要解码的视频格式是否是第二解码方式能够支持解码的方式。若是,则执行步骤706;若否,则结束该流程,后续可依据应用场景确定处理操作。例如在标清视频转高清视频的场景中,若确认高清视频的视频格式为硬解码方式无法解码的格式,则不执行切换,继续播放标清视频。又如,在高清视频播放过程中接收到视频通讯请求的场景中,该高清视频不存在软解码方式支持的标清视频格式,而视频通讯优先级高于高清视频,且视频通讯需要通过硬解码方式解码,则停止解码及播放该高清视频,而是采用硬解码方式解码视频通讯的数据。
步骤706,依据切换指示,按照第一解码方式调用解码资源对视频数据进行解码,得到解码的视频数据。
在判断第二解码方式能够解码所述视频数据对应的视频格式后,可依据该切换指示确定设定时间段,其中可依据切换后第二解码方式确定设定时间段,如依据硬解码方式的解码芯片或软解码方式的解码算法等确定设定时间段,然后采用第一解码方式调用解码资源对视频数据进行解码,得到解码的视频数据并缓存,从而预先解码出一部分视频数据。
步骤708,在解码达到设定时间段的指定帧后停止解码,并记录所述指定帧为切换点。
采用第一解码方式解码视频数据的过程中,在解码到设定时间段的切换点,如解码到视频数据对应的指定帧后可停止采用第一解码方式解码,此时第一解码方式预先解码出的一部分视频数据完成,可以记录该指定帧为切换点,该指定帧包括关键帧I帧。
步骤710,对通过第一方式解码的视频数据进行渲染,并播放渲染的视频数据。
在播放器切换解码方式的过程中,解码的视频数据保持渲染并播放,因此可对通过第一方式解码的设定时间段的视频数据进行渲染,并播放渲染的视频数据。
步骤712,创建所述第二解码方式所需的解码资源。
设定时间段的视频数据解码到指定帧完成解码,在渲染、播放通过解码的设定时间段的视频数据的过程中,播放器可创建所述第二解码方式所需的解码资源,其中可确定第二解码方式所需的解码资源,然后调用相应的资源。如确定硬解码方式的解码芯片,软解码方式的解码算法等。
步骤714,依据所述切换点确定对应的指定帧。
步骤716,从所述指定帧开始,按照第二解码方式调用解码资源对视频数据进行解码。
播放器可从记录中获取述切换点确定对应的指定帧,如关键帧对应的时间戳,然后按照第二解码方式调用解码资源,从指定帧开始进行视频数据的解码,如依据时间戳确定关键帧并开始解码视频数据。
步骤718,在播放达到所述切换点时,从所述指定帧开始对通过第二解码方式解码的视频数据进行渲染,并播放渲染的视频数据。
视频数据播放过程中,在渲染到切换点对应的指定帧时,可切换为渲染通过第二解码方式解码的视频数据,其中,可从指定帧开始对通过第二解码方式解码的视频数据进行渲染,并播放渲染的视频数据。
步骤720,释放所述第一解码方式对应的解码资源。
切换到渲染通过的第二解码方式解码的视频数据后,可释放第一解码方式对应的解码资源,如释放硬解码方式的解码芯片,又如停止对软解码方式对应的解码算法的调用等。完成第一解码方式到第二解码方式的切换。
本申请一个示例中,所述第一解码方式包括软解码方式;所述第二解码方式包括硬解码方式。播放器使用软解码方式进行视频的解码,播放器可一边解码出音、视频原始数据,一边将数据渲染并显示出实时画面,在接收到切换指示后,先判断硬解码方式是否指示切换后的视频格式,若不支持则切换失败,若支持则调用软解码方式的解码资源预先解码出设定时间段的视频数据,并定位出预设时间的指定帧为切换点,其中指定帧包括I帧。在该过程中软解码方式解码出的视频数据正常渲染播放。播放视频数据的同时,播放器可创建硬解码方式的解码资源,然后从指定帧如(I帧)开始解码视频数据,此时由于通过软解码方式解码的设定时间段的视频数据未渲染播放完毕,因此无需渲染硬解码方式解码的视频数据,直到渲染到设定时间段对应指定帧,可切换为渲染硬解码方式解码的视频数据,同时软解码方式停止调用并释放对应的解码资源。
本申请另一个示例中,所述第一解码方式包括硬解码方式;所述第二解码方式包括软解码方式。播放器使用硬解码方式进行视频的解码,播放器可一边解码出音、视频原始数据,一边将数据渲染并显示出实时画面,在接收到切换指示后,先判断软解码方式是否指示切换后的视频格式,若不支持则切换失败,若支持则调用硬解码方式的解码资源预先解码出设定时间段的视频数据,并定位出预设时间的指定帧为切换点,其中指定帧包括I帧。在该过程中硬解码方式解码出的视频数据正常渲染播放。播放视频数据的同时,播放器可创建软解码方式的解码资源,然后从指定帧如(I帧)开始解码视频数据,此时由于通过硬解码方式解码的设定时间段的视频数据未渲染播放完毕,因此无需渲染软解码方式解码的视频数据,直到渲染到设定时间段对应指定帧,可切换为渲染软解码方式解码的视频数据,同时硬解码方式停止调用并释放对应的解码资源。
本申请实施例中,播放器在收到切换指示后,不立即释放第一解码方式的资源,而是先创建需要切换的第二解码方式对应的解码资源;将两种解码方式对应的解码的视频数据在切换点对应指定帧出进行同步,从而渲染到指定帧对应视频数据后切换为第二解码方式解码的资源数据,播放相应的视频数据,完成解码方式的无缝切换,且视频数据正常播放。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种视频处理装置,可以应用于终端设备如手机、电视机等电子设备中。
参照图8,示出了本申请的一种视频处理装置实施例的结构框图,具体可以包括如下模块:
预解码模块802,用于依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点。
播放模块804,用于播放所述设定时间段的视频数据;以及在播放达到所述切换点时,播放通过第二解码方式解码的视频数据。
解码切换模块806,用于调用第二解码方式从所述切换点开始解码视频数。
综上,依据切换指示对解码方式进行切换时,可调用正在使用的第一解码方式解码出设定时间段的视频数据,并依据该设定时间段确定切换点,从而能够预先缓存一部分解码完的视频数据,再播放该设定时间段的视频数据,并调用需要切换的第二解码方式从该切换点开始解码视频数据,然后可播放达到切换点时,播放通过第二解码方式解码的视频数据,此后由第二解码方式进行视频数据的解码,完成解码方式的切换,且切换过程中视频能够正常播放。
参照图9,示出了本申请的另一种视频处理装置实施例的结构框图,具体可以包括如下模块:
指示模块814,用于在第二解码方式对应的解码资源空闲后,发出切换指示;依据清晰度调整信息发出切换指示;判断指定视频数据需要通过第一解码方式进行解码,发出切换指示。
判断模块812,用于判断所述第二解码方式是否能够解码所述视频数据对应的视频格式;判断能够解码所述视频数据对应的视频格式后,触发预解码模块802。
预解码模块802,用于依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点。
播放模块804,用于播放所述设定时间段的视频数据;以及在播放达到所述切换点时,播放通过第二解码方式解码的视频数据。
资源创建模块810,用于创建所述第二解码方式所需的解码资源。
解码切换模块806,用于调用第二解码方式从所述切换点开始解码视频数。
资源释放模块808,用于释放所述第一解码方式对应的解码资源。
其中,所述预解码模块802,包括:解码子模块8022和切换点确定子模块8024。
解码子模块8022,用于按照第一解码方式调用解码资源对视频数据进行解码,得到解码的视频数据。
切换点确定子模块8024,用于在解码达到设定时间段的指定帧后停止解码,并记录所述指定帧为切换点。
所述解码切换模块806,用于依据所述切换点确定对应的指定帧;从所述指定帧开始,按照第二解码方式调用解码资源对视频数据进行解码。
所述播放模块804,用于对通过第一方式解码的视频数据进行渲染,并播放渲染的视频数据。
所述播放模块804,用于在渲染到所述切换点对应的指定帧时,从所述指定帧开始对通过第二解码方式解码的视频数据进行渲染,并播放渲染的视频数据。
一个可选实施例中,播放模块804,还用于接收快进指令,并确定所述快进指令对应的图像帧;若所述图像帧在切换点之前,从所述图像帧开始播放通过所述第一解码方式解码的视频数据;若所述图像帧为切换点或所述图像帧在切换点之后,从所述图像帧开始播放通过所述第二解码方式解码的视频数据。
所述指定帧包括关键帧。所述第一解码方式包括软解码方式;所述第二解码方式包括硬解码方式。所述第一解码方式包括硬解码方式;所述第二解码方式包括软解码方式。
本申请实施例中,播放器在收到切换指示后,并非是立即释放第一解码方式的资源,而是先创建需要切换的第二解码方式对应的解码资源;将两种解码方式对应的解码的视频数据在切换点对应指定帧出进行同步,从而渲染到指定帧对应视频数据后切换为第二解码方式解码的资源数据,播放相应的视频数据,完成解码方式的无缝切换,且视频数据正常播放。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行本申请实施例中一个或多个所述的内存处理方法。其中,所述电子设备包括终端设备、服务器(集群)等设备。本申请实施例中,终端设备指的是具有终端操作系统的设备,这些设备可支持音频、视频、数据等方面的功能,包括移动终端如智能手机、平板电脑、可穿戴设备,也可以是智能电视、个人计算机等设备。操作系统如AliOS、iOS、Android、Windows等。
图10为本申请一实施例提供的电子设备的硬件结构示意图,该电子设备可包括终端设备、服务器(集群)等设备。如图10所示,该电子设备可以包括输入设备100、处理器101、输出设备102、存储器103和至少一个通信总线104。通信总线104用于实现元件之间的通信连接。存储器103可能包含高速RAM(Random Access Memory,随机存取存储器),也可能还包括非易失性存储NVM(Non-Volatile Memory),例如至少一个磁盘存储器,存储器103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器101例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器101通过有线或无线连接耦合到上述输入设备100和输出设备102。
可选的,上述输入设备100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备102可以包括显示器、音响等输出设备。
在本实施例中,该设备的处理器包括用于执行各电子设备中网络管理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图11为本申请另一实施例提供的电子设备的硬件结构示意图。图11是对图10在实现过程中的一个具体的实施例。如图11所示,本实施例的电子设备包括处理器111以及存储器112。
处理器111执行存储器112所存放的计算机程序代码,实现上述实施例中图1至图7的视频处理方法。
存储器112被配置为存储各种类型的数据以支持在电子设备的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器112可能包含随机存取存储器RAM,也可能还包括非易失性存储器NVM,例如至少一个磁盘存储器。
可选地,处理器111设置在处理组件110中。该电子设备还可以包括:通信组件113,电源组件114,多媒体组件115,音频组件116,输入/输出接口117和/或传感器组件118。设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件110通常控制设备的整体操作。处理组件110可以包括一个或多个处理器111来执行指令,以完成上述图1至图7方法的全部或部分步骤。此外,处理组件110可以包括一个或多个模块,便于处理组件110和其他组件之间的交互。例如,处理组件110可以包括多媒体模块,以方便多媒体组件115和处理组件110之间的交互。
电源组件114为设备的各种组件提供电力。电源组件114可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
多媒体组件115包括在设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件116被配置为输出和/或输入音频信号。例如,音频组件116包括一个麦克风(MIC),当设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器112或经由通信组件113发送。在一些实施例中,音频组件116还包括一个扬声器,用于输出音频信号。
输入/输出接口117为处理组件110和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件118包括一个或多个传感器,用于为设备提供各个方面的状态评估。例如,传感器组件118可以检测到设备的打开/关闭状态,组件的相对定位,用户与设备接触的存在或不存在。传感器组件118可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与设备间的距离。在一些实施例中,该传感器组件118还可以包括摄像头等。
通信组件113被配置为便于电子设备和其他电子设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该电子设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图11实施例中所涉及的通信组件113、音频组件116以及输入/输出接口117、传感器组件118均可以作为图10实施例中的输入设备的实现方式。
本申请实施例提供了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的视频处理方法。
本申请实施例还提供了一种操作系统,可应用于手机、电视机等电子设备中,如图12所示,包括解码单元1202和播放单元1204,其中:
解码单元1202,依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;以及调用第二解码方式从所述切换点开始解码视频数。
播放单元1204,播放所述设定时间段的视频数据;以及在播放达到所述切换点时,播放通过第二解码方式解码的视频数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种视频处理方法,一种视频处理装置,一种电子设备以及一种机器可读介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (18)
1.一种视频处理方法,其特征在于,包括:
依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;
播放所述设定时间段的视频数据,并调用第二解码方式从所述切换点开始解码视频数据;
在播放到达所述切换点时,播放通过第二解码方式解码的视频数据。
2.根据权利要求1所述的方法,其特征在于,所述调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点,包括:
按照第一解码方式调用解码资源对视频数据进行解码,得到解码的视频数据;
在解码达到设定时间段对应指定帧后停止解码,并记录所述指定帧为切换点。
3.根据权利要求1所述的方法,其特征在于,所述调用第二解码方式从所述切换点开始解码视频数据,包括:
依据所述切换点确定对应的指定帧;
从所述指定帧开始,按照第二解码方式调用解码资源对视频数据进行解码。
4.根据权利要求1所述的方法,其特征在于,所述播放所述设定时间段的视频数据,包括:
对通过第一方式解码的视频数据进行渲染,并播放渲染的视频数据。
5.根据权利要求3所述的方法,其特征在于,所述在播放到达所述切换点时,播放通过第二解码方式解码的视频数据,包括:
在渲染到所述切换点对应的指定帧时,从所述指定帧开始对通过第二解码方式解码的视频数据进行渲染,并播放渲染的视频数据。
6.根据权利要求2、3或5所述的方法,其特征在于,所述指定帧包括关键帧。
7.根据权利要求1所述的方法,其特征在于,在播放到达所述切换点后,还包括:
释放所述第一解码方式对应的解码资源。
8.根据权利要求1所述的方法,其特征在于,所述调用第二解码方式从所述切换点开始解码视频数据之前,还包括:
创建所述第二解码方式所需的解码资源。
9.根据权利要求8所述的方法,其特征在于,所述采用第一解码方式解码出设定时间段的视频数据之前,还包括:
判断所述第二解码方式是否能够解码所述视频数据对应的视频格式;
判断能够解码所述视频数据对应的视频格式后,执行采用第一解码方式解码出设定时间段的视频数据的步骤。
10.根据权利要求1所述的方法,其特征在于,还包括以下至少一种发出切换指示的步骤:
在第二解码方式对应的解码资源空闲后,发出切换指示;
依据清晰度调整信息发出切换指示;
判断指定视频数据需要通过第一解码方式进行解码,发出切换指示。
11.根据权利要求1所述的方法,其特征在于,还包括:
接收快进指令,并确定所述快进指令对应的图像帧;
若所述图像帧在切换点之前,从所述图像帧开始播放通过所述第一解码方式解码的视频数据;
若所述图像帧为切换点或所述图像帧在切换点之后,从所述图像帧开始播放通过所述第二解码方式解码的视频数据。
12.根据权利要求1所述的方法,其特征在于,应用于直播系统,若所述设定时间段内具有关键帧,则将设定时间段的最后一帧关键帧确定为切换点;若所述设定时间段不具有关键帧,则将所述设定时间段的最后一帧确定为切换点。
13.根据权利要求1-5、7-12所述的方法,其特征在于,所述第一解码方式包括软解码方式;所述第二解码方式包括硬解码方式。
14.根据权利要求1-5、7-12所述的方法,其特征在于,所述第一解码方式包括硬解码方式;所述第二解码方式包括软解码方式。
15.一种视频处理装置,其特征在于,包括:
预解码模块,用于依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;
播放模块,用于播放所述设定时间段的视频数据;以及在播放到达所述切换点时,播放通过第二解码方式解码的视频数据;
解码切换模块,用于调用第二解码方式从所述切换点开始解码视频数。
16.一种电子设备,其特征在于,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-14中一个或多个所述的视频处理方法。
17.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-14中一个或多个所述的视频处理方法。
18.一种用于电子设备的操作系统,其特征在于,包括:
解码单元,依据切换指示,调用第一解码方式解码出设定时间段的视频数据,并依据所述设定时间段确定切换点;以及调用第二解码方式从所述切换点开始解码视频数;
播放单元,播放所述设定时间段的视频数据;以及在播放到达所述切换点时,播放通过第二解码方式解码的视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810662736.3A CN110636370B (zh) | 2018-06-25 | 2018-06-25 | 一种视频处理方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810662736.3A CN110636370B (zh) | 2018-06-25 | 2018-06-25 | 一种视频处理方法、装置、电子设备和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636370A true CN110636370A (zh) | 2019-12-31 |
CN110636370B CN110636370B (zh) | 2022-02-01 |
Family
ID=68968064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810662736.3A Active CN110636370B (zh) | 2018-06-25 | 2018-06-25 | 一种视频处理方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636370B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111918129A (zh) * | 2020-08-10 | 2020-11-10 | 四川长虹电器股份有限公司 | 视频间无缝衔接播放的方法、系统及终端 |
CN111953991A (zh) * | 2020-08-07 | 2020-11-17 | 山东金东数字创意股份有限公司 | 基于window平台视频CPU+GPU硬件解码加速系统和方法 |
CN112087646A (zh) * | 2020-08-26 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算机设备和存储介质 |
CN112511887A (zh) * | 2020-11-30 | 2021-03-16 | 京东方科技集团股份有限公司 | 视频播放控制方法及相应的装置、设备、系统和存储介质 |
CN113490031A (zh) * | 2021-06-28 | 2021-10-08 | 海信电子科技(深圳)有限公司 | 一种显示设备及多窗口视频播放方法 |
CN114125554A (zh) * | 2020-08-25 | 2022-03-01 | 华为技术有限公司 | 一种编解码方法、装置及系统 |
CN114363637A (zh) * | 2021-12-08 | 2022-04-15 | 广州方硅信息技术有限公司 | 视频预解码方法、电子设备及计算机可读存储介质 |
CN114765677A (zh) * | 2021-01-12 | 2022-07-19 | 腾讯科技(深圳)有限公司 | 多人视频会话方法、装置、计算机设备及存储介质 |
CN115002530A (zh) * | 2022-05-19 | 2022-09-02 | 深圳前海茂佳软件科技有限公司 | 图片播放方法、装置、终端设备及计算机可读存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661749A (zh) * | 2009-09-23 | 2010-03-03 | 清华大学 | 一种语音和音乐双模切换编/解码的方法 |
US20100098153A1 (en) * | 2008-10-17 | 2010-04-22 | At&T Intellectual Property I, L.P. | System and Method to Record Encoded Video Data |
US20120087415A1 (en) * | 2010-10-06 | 2012-04-12 | Qualcomm Incorporated | Context-based adaptations of video decoder |
CN102905188A (zh) * | 2012-11-01 | 2013-01-30 | 北京奇艺世纪科技有限公司 | 一种视频码流切换方法及装置 |
CN103177001A (zh) * | 2011-12-21 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 一种实现图片流畅切换的方法及装置 |
US20140146895A1 (en) * | 2012-11-28 | 2014-05-29 | Cisco Technology, Inc. | Fast Switching Hybrid Video Decoder |
CN104683860A (zh) * | 2015-02-02 | 2015-06-03 | 北京神州天脉网络计算机有限公司 | 一种音视频多路并发解码加速卡及其解码加速方法 |
CN104837020A (zh) * | 2014-07-25 | 2015-08-12 | 腾讯科技(北京)有限公司 | 播放视频的方法和装置 |
CN106534952A (zh) * | 2016-09-28 | 2017-03-22 | 青岛海信电器股份有限公司 | 一种源切换后片源续播方法及智能电视 |
CN106648537A (zh) * | 2016-12-29 | 2017-05-10 | 维沃移动通信有限公司 | 一种音频数据解码的控制方法及移动终端 |
CN106961629A (zh) * | 2016-01-08 | 2017-07-18 | 广州市动景计算机科技有限公司 | 一种视频解码方法及装置 |
CN107172432A (zh) * | 2017-03-23 | 2017-09-15 | 杰发科技(合肥)有限公司 | 一种视频处理方法、装置及终端 |
CN108093293A (zh) * | 2018-01-15 | 2018-05-29 | 北京奇艺世纪科技有限公司 | 一种视频渲染方法及系统 |
-
2018
- 2018-06-25 CN CN201810662736.3A patent/CN110636370B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100098153A1 (en) * | 2008-10-17 | 2010-04-22 | At&T Intellectual Property I, L.P. | System and Method to Record Encoded Video Data |
US8683540B2 (en) * | 2008-10-17 | 2014-03-25 | At&T Intellectual Property I, L.P. | System and method to record encoded video data |
CN101661749A (zh) * | 2009-09-23 | 2010-03-03 | 清华大学 | 一种语音和音乐双模切换编/解码的方法 |
US20120087415A1 (en) * | 2010-10-06 | 2012-04-12 | Qualcomm Incorporated | Context-based adaptations of video decoder |
CN103177001A (zh) * | 2011-12-21 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 一种实现图片流畅切换的方法及装置 |
CN102905188A (zh) * | 2012-11-01 | 2013-01-30 | 北京奇艺世纪科技有限公司 | 一种视频码流切换方法及装置 |
US20140146895A1 (en) * | 2012-11-28 | 2014-05-29 | Cisco Technology, Inc. | Fast Switching Hybrid Video Decoder |
CN104837020A (zh) * | 2014-07-25 | 2015-08-12 | 腾讯科技(北京)有限公司 | 播放视频的方法和装置 |
CN104683860A (zh) * | 2015-02-02 | 2015-06-03 | 北京神州天脉网络计算机有限公司 | 一种音视频多路并发解码加速卡及其解码加速方法 |
CN106961629A (zh) * | 2016-01-08 | 2017-07-18 | 广州市动景计算机科技有限公司 | 一种视频解码方法及装置 |
CN106534952A (zh) * | 2016-09-28 | 2017-03-22 | 青岛海信电器股份有限公司 | 一种源切换后片源续播方法及智能电视 |
CN106648537A (zh) * | 2016-12-29 | 2017-05-10 | 维沃移动通信有限公司 | 一种音频数据解码的控制方法及移动终端 |
CN107172432A (zh) * | 2017-03-23 | 2017-09-15 | 杰发科技(合肥)有限公司 | 一种视频处理方法、装置及终端 |
CN108093293A (zh) * | 2018-01-15 | 2018-05-29 | 北京奇艺世纪科技有限公司 | 一种视频渲染方法及系统 |
Non-Patent Citations (1)
Title |
---|
徐圣凯: "软硬结合解码方式的4K视频播放系统", 《计算机系统应用》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953991A (zh) * | 2020-08-07 | 2020-11-17 | 山东金东数字创意股份有限公司 | 基于window平台视频CPU+GPU硬件解码加速系统和方法 |
CN111918129B (zh) * | 2020-08-10 | 2022-04-01 | 四川长虹电器股份有限公司 | 视频间无缝衔接播放的方法、系统及终端 |
CN111918129A (zh) * | 2020-08-10 | 2020-11-10 | 四川长虹电器股份有限公司 | 视频间无缝衔接播放的方法、系统及终端 |
CN114125554B (zh) * | 2020-08-25 | 2023-03-10 | 华为技术有限公司 | 一种编解码方法、装置及系统 |
CN114125554A (zh) * | 2020-08-25 | 2022-03-01 | 华为技术有限公司 | 一种编解码方法、装置及系统 |
CN112087646A (zh) * | 2020-08-26 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算机设备和存储介质 |
CN112511887A (zh) * | 2020-11-30 | 2021-03-16 | 京东方科技集团股份有限公司 | 视频播放控制方法及相应的装置、设备、系统和存储介质 |
CN112511887B (zh) * | 2020-11-30 | 2023-10-13 | 京东方科技集团股份有限公司 | 视频播放控制方法及相应的装置、设备、系统和存储介质 |
CN114765677A (zh) * | 2021-01-12 | 2022-07-19 | 腾讯科技(深圳)有限公司 | 多人视频会话方法、装置、计算机设备及存储介质 |
CN113490031A (zh) * | 2021-06-28 | 2021-10-08 | 海信电子科技(深圳)有限公司 | 一种显示设备及多窗口视频播放方法 |
CN114363637A (zh) * | 2021-12-08 | 2022-04-15 | 广州方硅信息技术有限公司 | 视频预解码方法、电子设备及计算机可读存储介质 |
CN115002530A (zh) * | 2022-05-19 | 2022-09-02 | 深圳前海茂佳软件科技有限公司 | 图片播放方法、装置、终端设备及计算机可读存储介质 |
CN115002530B (zh) * | 2022-05-19 | 2024-08-30 | 深圳前海茂佳软件科技有限公司 | 图片播放方法、装置、终端设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110636370B (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636370B (zh) | 一种视频处理方法、装置、电子设备和可读介质 | |
CN110740363B (zh) | 投屏方法和系统、电子设备 | |
JP6626440B2 (ja) | マルチメディアファイルを再生するための方法及び装置 | |
KR101901620B1 (ko) | 포커스 제어장치 및 방법 | |
JP6321301B2 (ja) | ビデオ特効処理方法、装置、端末機器、プログラム、及び記録媒体 | |
CN111583952B (zh) | 音频处理方法、装置、电子设备及存储介质 | |
US20170126801A1 (en) | Method, apparatus, and storage medium for performing media synchronization | |
US11545188B2 (en) | Video processing method, video playing method, devices and storage medium | |
KR20180069576A (ko) | 영상제공장치, 그의 제어 방법 및 영상제공시스템 | |
CN106792024B (zh) | 多媒体信息的分享方法及装置 | |
US8120691B2 (en) | Image capturing appatatus and method for use in a mobile terminal | |
CN105451056A (zh) | 音视频同步方法及装置 | |
KR20200085595A (ko) | 컨텐트 재생 장치 및 그 동작 방법 | |
JPWO2011138884A1 (ja) | 映像出力を行なうav出力システム | |
US8385431B2 (en) | Moving picture data decoding device | |
CN114257857A (zh) | 显示设备及视频倍速播放方法 | |
CN104837020B (zh) | 播放视频的方法和装置 | |
US9538119B2 (en) | Method of capturing moving picture and apparatus for reproducing moving picture | |
US9467655B2 (en) | Computer readable recording medium, communication terminal device and teleconferencing method | |
CN110267096A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
JP6954914B2 (ja) | 情報処理端末、情報処理方法、およびプログラム | |
CN114422840A (zh) | 音轨切换的方法及装置 | |
US11889125B2 (en) | Omnidirectional media playback method and device and computer readable storage medium thereof | |
CN114025170A (zh) | 视频播放方法、装置、计算机设备和计算机可读存储介质 | |
CN113271499B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201224 Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China Applicant after: Zebra smart travel network (Hong Kong) Limited Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |