CN115134661A - 视频处理方法及视频处理应用 - Google Patents
视频处理方法及视频处理应用 Download PDFInfo
- Publication number
- CN115134661A CN115134661A CN202210743683.4A CN202210743683A CN115134661A CN 115134661 A CN115134661 A CN 115134661A CN 202210743683 A CN202210743683 A CN 202210743683A CN 115134661 A CN115134661 A CN 115134661A
- Authority
- CN
- China
- Prior art keywords
- video
- playing
- application
- data
- program
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 62
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000009877 rendering Methods 0.000 claims abstract description 53
- 238000012805 post-processing Methods 0.000 claims description 42
- 230000001360 synchronised effect Effects 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 13
- 230000009471 action Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation 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/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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- 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/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- 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/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
-
- 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)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种视频处理方法及视频处理应用,其中,方法应用于视频播放应用的指定内存中,所述方法包括:加载目标视频对应的视频码流;在指定内存中对所述视频码流进行解码,得到视频解码数据;基于所述视频播放应用当前对应的播放参数,在所述指定内存中根据所述播放参数对所述视频解码数据进行渲染处理,得到视频播放数据;所述视频播放数据用于展示,以形成所述视频码流的播放。本申请的方法,解决了现有的视频播放器在播放音视频过程中存在对接收端设备的CPU开销和内存占用较大的问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种视频处理方法及视频处理应用。
背景技术
诸如MPlayer、暴风影音之类的视频播放应用(即视频播放器),实现了对数字信号形式存储的原始音视频数据的播放,极大促进了音视频数据的传输、共享与应用。
如图1所示,现有的视频播放器通常包括解协议模块11、解封装模块12、音频解码模块13、音频后处理模块14、视频解码模块15、视频后处理模块16、输出模块17和播放界面18。接收端的视频播放器从发送端获取到原始音视频数据后,按如下方式对原始音视频数据进行播放:视频播放器通过解协议模块11、解封装模块12的解协议和解封装处理,获得视频码流和音频码流。视频播放器通过音频解码模块13和音频后处理模块14进行解码和渲染处理后获得音频播放数据;通过视频解码模块15和视频后处理模块16的解码和渲染处理后获得视频播放数据。然后视频播放器通过输出模块17将音频播放数据和视频播放数据进行音视频同步后发送到播放界面18以进行播放。
由于视频码流数据量较大且对视频码流的各个处理动作均会形成各自动作的中央处理单元(英文:Central Processing Unit,简称:CPU)的开销和内存的占用。因此,现有的视频播放器在播放音视频过程中存在对接收端设备的CPU开销和内存占用较大的问题。对于CPU资源和内存资源较小的接收端设备而言,视频播放器的使用,往往对该设备的其他功能的发挥造成不利影响,如在视频播放器使用过程中造成该设备其他功能卡顿。
发明内容
本申请提供一种视频处理方法及视频处理应用,以解决现有的视频播放器在播放音视频过程中存在对接收端设备的CPU开销和内存占用较大的问题。
第一方面,本申请提供一种视频处理方法,应用于视频播放应用的指定内存中,所述方法包括:
加载目标视频对应的视频码流;
在指定内存中对所述视频码流进行解码,得到视频解码数据;
基于所述视频播放应用当前对应的播放参数,在所述指定内存中根据所述播放参数对所述视频解码数据进行渲染处理,得到视频播放数据;所述视频播放数据用于展示,以形成所述视频码流的播放。
可选的,所述播放参数为分辨率、像素格式、旋转角度、叠加位置中的至少一种;
所述根据所述播放参数对所述视频解码数据进行渲染处理,包括:
采集所述视频播放应用当前对应的分辨率、像素格式、旋转角度、叠加位置中的至少一种播放参数;
在所述指定内存中根据所采集的播放参数对所述视频解码数据进行渲染处理,得到所述播放参数对应的视频播放数据。
可选的,在所述得到视频播放数据之后,所述方法还包括:
将所述视频播放数据和所述视频播放数据对应的音频播放数据进行同步处理,得到音视频同步的同步播放数据;
对所述同步播放数据进行播放。
第二方面,本申请提供一种视频处理应用,所述视频处理应用包括:视频解码模块;
所述视频解码模块,用于加载目标视频对应的视频码流,在指定内存中对所述视频码流进行解码,得到视频解码数据;
所述视频解码模块,还用于基于所述视频播放应用当前对应的播放参数,在所述指定内存中根据所述播放参数对所述视频解码数据进行渲染处理,得到视频播放数据;所述视频播放数据用于展示,以形成所述视频码流的播放。
可选的,所述视频处理应用还包括:输出模块;
所述输出模块,用于采集所述视频播放应用当前对应的分辨率、像素格式、旋转角度、叠加位置中的至少一种播放参数;
所述视频解码模块,还用于在所述指定内存中根据所述输出模块所采集的播放参数对所述视频解码数据进行渲染处理,得到所述播放参数对应的视频播放数据。
可选的,所述视频解码模块包括:应用程序接口API;
所述输出模块,还用于通过所述应用程序接口API,将所采集的播放参数发送到所述视频解码模块。
可选的,所述视频处理应用还包括:播放界面;
所述输出模块,还用于在所述视频解码模块得到视频播放数据之后,将所述视频播放数据和所述视频播放数据对应的音频播放数据进行同步处理,得到同步播放数据;
所述播放界面,用于对所述同步播放数据进行播放。
可选的,所述视频处理应用还包括:视频后处理模块;
所述视频后处理模块,用于为所述视频解码数据和/或所述播放参数在所述视频解码模块与所述输出模块间的传输提供传输通道。
第三方面,本申请提供一种视频播放应用的升级方法,应用于视频播放应用的升级,所述视频播放应用包括视频解码模块、视频后处理模块和输出模块;所述升级方法包括:
获取所述视频解码模块的解码程序和所述视频后处理模块的渲染处理程序,并将所述解码程序和所述渲染处理程序进行整合处理,得到合并程序;所述合并程序被执行时实现所述视频处理方法;
将所述合并程序设置于所述视频解码模块;
在所述视频解码模块上新建应用程序接口API以接收所述输出模块实时采集的播放参数。
第四方面,本申请提供一种视频播放应用的升级设备,所述升级设备包括:收发部件和程序处理部件;其中,
所述收发部件,用于获取视频播放应用中视频解码模块的解码程序,以及所述视频播放应用中视频后处理模块的渲染处理程序;并将所述解码程序和所述渲染处理程序发送到所述程序处理部件;
所述程序处理部件,用于将所述解码程序和所述渲染处理程序进行整合处理,得到合并程序;所述合并程序被执行时实现如权利要求1所述的方法;
所述程序处理部件,还用于将所述合并程序设置于所述视频解码模块,并将所述视频播放应用中的解码程序和渲染处理程序删除;并在所述视频解码模块上新建应用程序接口API以接收所述视频播放应用的输出模块实时采集的播放参数。
第五方面,本申请提供一种视频播放应用的升级装置,所述升级装置包括:
处理器和存储器;
所述存储器存储所述处理器可执行的可执行指令;
其中,所述处理器执行所述存储器存储的可执行指令,使得所述处理器执行如上所述的视频播放应用的升级方法。
第六方面,本申请提供一种存储介质,所述存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如如上所述的视频播放应用的升级方法。
第七方面,本申请提供一种程序产品,包括计算机程序,该计算机程序被处理器执行时实现视频播放应用的升级方法。
本申请提供的视频处理方法及视频处理应用,通过在视频播放应用中加载目标视频对应的视频码流,在同一个指定内存中对视频码流进行解码和渲染处理,得到视频播放数据,取消了现有的视频播放器中对视频码流进行解码后的视频解码数据的拷贝动作,以及该拷贝动作对接收端设备造成的CPU开销和内存占用。本申请解决了现有的视频播放器在播放音视频过程中存在对接收端设备的CPU开销和内存占用较大的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为现有的视频播放器结构图;
图2为本申请实施例提供的视频播放应用结构图;
图3为本申请实施例提供的视频处理方法流程图;
图4为本申请实施例提供的视频处理应用结构图;
图5为本申请实施例提供的视频播放应用的升级方法流程图;
图6为本申请实施例提供的视频播放应用的升级设备架构图;
图7为本申请实施例提供的视频播放应用的升级装置结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,接收端设备上的视频播放器从发送端获取到原始音视频数据后,对原始音视频数据进行显示播放的流程为:解协议模块11从流媒体协议数据中获取原始音视频数据,对原始音视频数据进行解协议处理后获得解协议数据,并将解协议数据发送到解封装模块12。解封装模块12对解协议数据进行解封装处理,获得视频码流和音频码流,并将音频码流发送到音频解码模块13,将视频码流发送到视频解码模块15。视频码流诸如H264、H265等编码格式的视频码流。视频解码模块15对视频码流进行解码处理,获得如YUV420格式的视频解码数据,并将视频解码数据发送到视频后处理模块16。视频后处理模块16基于输出模块17发送的播放界面18的播放参数,对视频解码数据进行渲染处理,获得视频播放数据,并将视频播放数据发送到输出模块17。类似的,音频码流经音频解码模块13、音频后处理模块14处理后获得音频播放数据,音频后处理模块14将音频播放数据发送到输出模块17。输出模块17将音频播放数据和视频播放数据进行音视频同步后发送到播放界面18以进行播放。其中,播放参数是播放界面18播放音视频的参数,如分辨率、像素格式等。输出模块17对播放界面18的播放参数进行实时监控,并采集播放参数发送到视频后处理模块16和音频后处理模块14。
视频播放器在播放原始音视频数据的过程中,一直在执行对音频码流和视频码流的处理。而视频码流数据量较大,对视频码流的处理,是造成视频播放器占用接收端设备较大内存和CPU开销的主要原因。在视频播放器对视频码流的处理过程中,主要占用内存和CPU开销的处理动作为:视频解码模块15对视频码流的解码、视频解码模块15对视频解码数据的拷贝与发送、视频后处理模块16对视频解码数据的渲染处理。在视频解码模块15对视频解码数据的拷贝与发送操作中,主要是视频解码模块15对视频解码数据的拷贝动作占用了内存和CPU开销。由于视频解码模块15的解码动作和视频后处理模块16的渲染处理动作所对应的内存是相互独立的。因此,要将视频解码数据发送到视频后处理模块进行渲染处理,势必需要将视频解码数据从解码对应内存中拷贝后再发送到渲染处理对应的内存中,由此,在现有的视频播放器中视频解码数据的拷贝动作造成的CPU开销是不可避免。
对此,本申请提出一种视频处理方法,应用于视频播放应用的指定内存中,通过加载目标视频对应的视频码流,在指定内存中对视频码流进行解码,得到解码后的视频解码数据,基于该视频播放应用当前对应的播放参数,在指定内存中根据播放参数对视频解码数据进行渲染处理,得到视频播放数据,该视频播放数据用于展示播放。本申请通过在同一个内存(即指定内存)中对目标视频对应的视频码流进行解码和渲染处理以获得视频播放数据,取消了视频解码数据的拷贝动作,以及该拷贝动作对接收端设备的内存占用和CPU开销。因此,本申请解决了现有的视频播放器在播放音视频过程中存在的对接收端设备的内存占用和CPU开销较大的问题。
下面结合部分实施例对本申请提出的视频处理方法进行说明。
图2为本申请实施例提供的视频播放应用结构图。图3为本申请实施例提供的视频处理方法流程图。如图2所示,视频播放应用20包括:解协议模块11、解封装模块12、音频解码模块13、音频后处理模块14、视频解码模块21、视频后处理模块16、输出模块17、播放界面18,其中,视频解码模块21还包括应用程序接口API 211。
该视频播放应用20从发送端获取到原始音视频数据后,对原始音视频数据进行显示播放的流程为:
解协议模块11从流媒体协议数据中获取原始音视频数据,对原始音视频数据进行解协议处理后获得解协议数据,并将解协议数据发送到解封装模块12。
解封装模块12对解协议数据进行解封装处理,获得视频码流和音频码流,并将音频码流发送到音频解码模块13,将视频码流发送到视频解码模块21。视频码流诸如H264、H265等编码格式的视频码流。
音频码流经音频解码模块13、音频后处理模块14处理后获得音频播放数据,音频后处理模块14将音频播放数据发送到输出模块17。以此同时,视频解码模块21通过API 211和/或视频后处理模块16接收输出模块发送的播放界面18的播放参数,对视频码流进行解码和渲染处理,获得如YUV420格式的视频解码数据。视频解码模块21将视频解码数据通过视频后处理模块16透传到输出模块17。
输出模块17将音频播放数据和视频播放数据进行同步处理,得到音视频同步的同步播放数据,并将同步播放数据发送到播放界面18以进行展示播放。
其中,播放参数是播放界面18播放音视频的参数,如分辨率、像素格式等。输出模块17对播放界面18的播放参数进行实时监控,并采集播放参数发送到视频后处理模块16和音频后处理模块14,或发送到视频解码模块21和音频后处理模块14。
可选地,图2所示的视频播放应用20可以是对图1所示的视频播放器升级得到的视频播放应用。下面结合图3对本申请提供的视频处理方法进行说明。
图3为本申请实施例提供的视频处理方法流程图。图3所示实施例的执行主体为图2所示的视频播放应用20。如图3所示,本申请提供的视频处理方法应用于视频播放应用的指定内存中,本申请提供的视频处理方法包括:
S301、加载目标视频对应的视频码流。
具体而言,在如图2所示的视频播放应用20中,视频解码模块21加载解封装模块12发来的视频码流。
S302、在指定内存中对视频码流进行解码,得到视频解码数据。
具体而言,视频播放应用20在指定内存对视频码流进行解码,得到视频解码数据。具体地,视频解码模块21在指定内存对视频码流进行解码,得到视频解码数据。
其中,指定内存为视频解码模块21解码处理对应的内存,该内存也是后续步骤S303中进行渲染处理的内存。视频解码模块21的内核可以是FFmpeg(Fast Forward Mpeg)。
S303、基于视频播放应用当前对应的播放参数,在指定内存中根据播放参数对视频解码数据进行渲染处理,得到视频播放数据。
具体而言,视频播放应用20基于视频播放应用20当前对应的播放参数,在指定内存中根据播放参数对步骤S302所获得的视频解码数据进行渲染处理,得到视频播放数据。视频播放数据用于展示,以形成视频码流的播放。渲染处理包括缩放、像素格式转换、图像旋转、图像平移、去块效应、去振铃效应、颜色增强、对比度增强、清晰度增强、去隔行处理中的至少一种。具体地,视频解码模块21基于视频播放应用20当前对应的播放参数,在指定内存中根据播放参数对步骤S302所获得的视频解码数据进行渲染处理,得到视频播放数据。
示例性地,播放参数是播放界面18播放音视频的参数,播放参数为分辨率、像素格式、旋转角度、叠加位置中的至少一种。在如图1所示的现有的视频播放器中,视频解码模块15与输出模块17之间是没有直接通信的,也就是说,视频解码模块15无法直接从输出模块17获得播放参数。在图2所示的视频播放应用20中,视频解码模块21通过API 211获得输出模块17发送来的播放参数,该播放参数即为视频播放应用20的播放参数。优选地,API 211是输出模块17直接向视频解码模块21发送播放参数的专用接口。可选地,API 211也可以是视频后处理模块16从输出模块17获得播放参数后,直接向视频解码模块21发送播放参数的专用接口。视频播放应用20采集该视频播放应用20当前对应的分辨率、像素格式、旋转角度、叠加位置中的至少一种播放参数,在指定内存中根据所采集的播放参数对视频解码数据进行渲染处理,得到播放参数对应的视频播放数据。
当然,如有必要,视频播放应用20在对音频码流进行的解码和渲染处理也可以采用视频码流类似的方法。即由音频解码模块13对视频码流进行解码和渲染处理,获得音频播放数据。
进一步地,视频播放应用20在得到视频播放数据之后,本申请的视频处理方法还包括:视频播放应用20将视频播放数据和视频播放数据对应的音频播放数据进行同步处理,得到音视频同步的同步播放数据。视频播放应用20对同步播放数据进行播放。
具体地,视频播放应用20中的输出模块17将视频播放数据和视频播放数据对应的音频播放数据进行同步处理,得到音视频同步的同步播放数据。视频播放应用20中的播放界面18对同步播放数据进行播放。
示例性地,输出模块17采用同步视频到音频方式、同步音频到视频方式、同步音频和视频到外部时钟方式中的任一种,将视频播放数据和视频播放数据对应的音频播放数据进行同步处理,得到音视频显示时间戳(Presentation Time Stamp,简称:PTS)完全一致的同步播放数据。
本申请提供的视频处理方法,应用于视频播放应用的指定内存中,通过加载目标视频对应的视频码流,在同一个指定内存中对视频码流进行解码和渲染处理,得到视频播放数据,取消了现有的视频播放器中对视频解码数据的拷贝动作,以及该拷贝动作对接收端设备造成的CPU开销和内存占用。本申请解决了现有的视频播放器在播放音视频过程中存在的对接收端设备的内存占用和CPU开销较大的问题。
图3所示的视频处理方法不但可以在CPU中被执行。在一种可能的实施方式中,图3所示的视频处理方法还可以在图形处理器(graphics processing unit,简称:GPU)中被执行。示例性地,CPU获得视频码流之后,CPU将视频码流及对应的解码渲染指令发送给GPU。GPU执行如图3所示的视频处理方法,对视频码流进行解码和渲染处理,得到视频播放数据。GPU将视频播放数据进行播放。或者,GPU将视频播放数据发送给CPU以进行播放。本申请提供的方法实现解码和渲染处理在同一个处理器和内存中执行,通过本实施方式实现了对解码和渲染处理的加速,不但减小了GPU的开销,还降低了视频播放应用的播放时延,使得视频播放应用播放音视频更加流畅。
本申请实施例提供一种视频处理应用。图4为本申请实施例提供的视频处理应用结构图。下面结合图4对本申请提供的视频处理应用进行说明,如图4所示,该视频处理应用40包括:视频解码模块41。
视频解码模块41,用于加载目标视频对应的视频码流,在指定内存中对视频码流进行解码,得到视频解码数据。
视频解码模块41,还用于基于视频播放应用40当前对应的播放参数,在指定内存中根据播放参数对视频解码数据进行渲染处理,得到视频播放数据。视频播放数据用于展示,以形成视频码流的播放。
进一步地,该视频处理应用40还包括:输出模块17。
输出模块17,用于采集视频播放应用40当前对应的分辨率、像素格式、旋转角度、叠加位置中的至少一种播放参数;
视频解码模块41,还用于在指定内存中根据输出模块17所采集的播放参数对视频解码数据进行渲染处理,得到播放参数对应的视频播放数据。
进一步地,视频解码模块41包括:应用程序接口API 411;
输出模块17,还用于通过应用程序接口API 411,将所采集的播放参数发送到视频解码模块41。
进一步地,视频处理应用40还包括:播放界面18。
输出模块17,还用于在视频解码模块41得到视频播放数据之后,将视频播放数据和视频播放数据对应的音频播放数据进行同步处理,得到同步播放数据。
播放界面18,用于对同步播放数据进行播放。
进一步地,视频处理应用40还包括:视频后处理模块42;
视频后处理模块42,用于为视频解码数据和/或播放参数在视频解码模块41与输出模块17间的传输提供传输通道。
本实施例提供的视频处理应用与图3所示实施例的具体实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例提供一种视频播放应用的升级方法。图5为本申请实施例提供的视频播放应用的升级方法流程图。图6为本申请实施例提供的视频播放应用的升级设备架构图。下面结合图5和图6对本实施例提供的视频播放应用的升级方法进行说明。该方法应用于视频播放应用(如图1所示的视频播放器),视频播放应用包括视频解码模块、视频后处理模块和输出模块。如图5所示,该方法包括:
S501、获取视频解码模块的解码程序和视频后处理模块的渲染处理程序,并将解码程序和渲染处理程序进行整合处理,得到合并程序。
具体而言,图6所示的接收端设备10中的视频播放器与图1所示现有的视频播放器结构和功能相同,本实施例此处不再赘述。
如图6所示的升级设备60获取接收端设备10的视频播放器中视频解码模块15的解码程序和视频后处理模块16的渲染处理程序,并将解码程序和渲染处理程序进行整合处理,得到合并程序。
其中,合并程序被执行时实现本申请提供的视频处理方法。合并程序具备解码和渲染处理功能。
可选地,升级设备60也可以直接在升级设备60上新建一个具备解码和渲染处理功能的合并程序。而无需从接收端设备10的视频播放器中获取解码程序和渲染处理程序进行整合处理。
S502、将合并程序设置于视频解码模块。
具体而言,升级设备60将合并程序设置于视频解码模块15。
进一步地,升级设备60将合并程序设置于视频解码模块15之后,可以将视频解码模块15上的解码程序和视频后处理模块16上的渲染处理程序删除。
可选地,升级设备60也可以将视频解码模块15上的解码程序和视频后处理模块16上的渲染处理程序进行冻结处理。
S503、在视频解码模块上新建应用程序接口API以接收输出模块实时采集的播放参数。
具体而言,升级设备60在视频解码模块15上新建应用程序接口API以接收输出模块17实时采集的播放参数。
本实施例提供的视频播放应用的升级方法,通过将现有视频播放器中的解码程序替换为具备解码和渲染处理功能的合并程序,同时删除或冻结现有视频播放器中的解码程序和渲染处理程序,以实现对现有视频播放器(或现有的视频播放应用)的升级。升级后的视频播放应用(或视频播放器)实现在同一个内存中对视频码流进行解码和渲染处理,取消现有视频播放器中视频解码数据的拷贝造成的CPU开销和对应内存占用。本实施例解决了现有的视频播放器在播放音视频过程中存在对接收端设备的CPU开销和内存占用较大的问题。CPU开销和内存较大的现有视频播放器,通过本申请提供的视频播放应用的升级方法进行升级后,即可应用于CPU资源和内存资源较小的接收端设备,消除了CPU资源和内存资源较小的接收端设备对现有的视频播放器的使用限制。
本申请实施例提供一种视频播放应用的升级设备。下面结合图6对本申请提供的视频播放应用的升级设备进行说明。本申请实施例提供一种视频播放应用的升级设备如图6中升级设备60所示,该升级设备60包括:收发部件61和程序处理部件62。其中,
收发部件61,用于获取接收端设备10的视频播放应用(如图6所示视频播放器)中视频解码模块15的解码程序,以及该视频播放应用中视频后处理模块16的渲染处理程序;并将解码程序和渲染处理程序发送到程序处理部件62。
程序处理部件62,用于将解码程序和渲染处理程序进行整合处理,得到合并程序。其中,合并程序被执行时实现本申请提供的视频处理方法。
程序处理部件62,还用于将合并程序设置于视频解码模块15,并将视频播放应用(如图6所示视频播放器)中的解码程序和渲染处理程序删除;并在视频解码模块15上新建应用程序接口API以接收视频播放应用的输出模块17实时采集的播放参数。
可选地,程序处理部件62还用于录入具备解码和渲染处理功能的合并程序。
可选地,程序处理部件62还用于将视频解码模块15的解码程序替换为合并程序,并将视频后处理模块16的渲染处理程序冻结。
本实施例提供的升级设备,其具体实现原理和技术效果与图5所示视频播放应用的升级方法实施例的具体实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供一种视频播放应用的升级装置。图7为本申请实施例提供的视频播放应用的升级装置结构图。如图7所示,该升级装置包括处理器71和存储器72,存储器72存储有处理器71可执行指令,使得该处理器71可用于执行上述视频播放应用的升级方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。应理解,上述处理器71可以是CPU,还可以是其他通用处理器、数字信号处理器(英文:Digital SignalProcessor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器72可能包含高速随机存取存储器(英文:Random Access Memory,简称:RAM),也可能还包括非易失性存储器(英文:Non-volatilememory,简称:NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
本申请实施例还提供一种存储介质,该存储介质中存储有计算机执行指令,这些计算机执行指令被处理器执行时,实现上述的视频播放应用的升级方法。存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(英文:Static Random-Access Memory,简称:SRAM),电可擦除可编程只读存储器(英文:Electrically-Erasable Programmable Read-Only Memory,简称:EEPROM),可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM),可编程只读存储器(英文:Programmable Read-Only Memory,简称:PROM),只读存储器(英文:Read-Only Memory,简称:ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(英文:Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本申请实施例还提供一种程序产品,如计算机程序,该计算机程序被处理器执行时实现本申请所涵盖的视频播放应用的升级方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施方式对本发明已经进行了详细的说明,但本领域的普通技术人员应当理解:其依然可以对前述实施方式所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施方式技术方案的范围。
Claims (13)
1.一种视频处理方法,其特征在于,应用于视频播放应用的指定内存中,所述方法包括:
加载目标视频对应的视频码流;
在指定内存中对所述视频码流进行解码,得到视频解码数据;
基于所述视频播放应用当前对应的播放参数,在所述指定内存中根据所述播放参数对所述视频解码数据进行渲染处理,得到视频播放数据;所述视频播放数据用于展示,以形成所述视频码流的播放。
2.根据权利要求1所述的方法,其特征在于,所述播放参数为分辨率、像素格式、旋转角度、叠加位置中的至少一种;
所述根据所述播放参数对所述视频解码数据进行渲染处理,包括:
采集所述视频播放应用当前对应的分辨率、像素格式、旋转角度、叠加位置中的至少一种播放参数;
在所述指定内存中根据所采集的播放参数对所述视频解码数据进行渲染处理,得到所述播放参数对应的视频播放数据。
3.根据权利要求1所述的方法,其特征在于,在所述得到视频播放数据之后,所述方法还包括:
将所述视频播放数据和所述视频播放数据对应的音频播放数据进行同步处理,得到音视频同步的同步播放数据;
对所述同步播放数据进行播放。
4.一种视频处理应用,其特征在于,所述视频处理应用包括:视频解码模块;
所述视频解码模块,用于加载目标视频对应的视频码流,在指定内存中对所述视频码流进行解码,得到视频解码数据;
所述视频解码模块,还用于基于所述视频播放应用当前对应的播放参数,在所述指定内存中根据所述播放参数对所述视频解码数据进行渲染处理,得到视频播放数据;所述视频播放数据用于展示,以形成所述视频码流的播放。
5.根据权利要求4所述的视频处理应用,其特征在于,所述视频处理应用还包括:输出模块;
所述输出模块,用于采集所述视频播放应用当前对应的分辨率、像素格式、旋转角度、叠加位置中的至少一种播放参数;
所述视频解码模块,还用于在所述指定内存中根据所述输出模块所采集的播放参数对所述视频解码数据进行渲染处理,得到所述播放参数对应的视频播放数据。
6.根据权利要求5所述的视频处理应用,其特征在于,所述视频解码模块包括:应用程序接口API;
所述输出模块,还用于通过所述应用程序接口API,将所采集的播放参数发送到所述视频解码模块。
7.根据权利要求5所述的视频处理应用,其特征在于,所述视频处理应用还包括:播放界面;
所述输出模块,还用于在所述视频解码模块得到视频播放数据之后,将所述视频播放数据和所述视频播放数据对应的音频播放数据进行同步处理,得到同步播放数据;
所述播放界面,用于对所述同步播放数据进行播放。
8.根据权利要求4-7任一项所述的视频处理应用,其特征在于,所述视频处理应用还包括:视频后处理模块;
所述视频后处理模块,用于为所述视频解码数据和/或所述播放参数在所述视频解码模块与所述输出模块间的传输提供传输通道。
9.一种视频播放应用的升级方法,其特征在于,应用于视频播放应用的升级,所述视频播放应用包括视频解码模块、视频后处理模块和输出模块;所述升级方法包括:
获取所述视频解码模块的解码程序和所述视频后处理模块的渲染处理程序,并将所述解码程序和所述渲染处理程序进行整合处理,得到合并程序;所述合并程序被执行时实现权利要求1所述的方法;
将所述合并程序设置于所述视频解码模块;
在所述视频解码模块上新建应用程序接口API以接收所述输出模块实时采集的播放参数。
10.一种视频播放应用的升级设备,其特征在于,所述升级设备包括:收发部件和程序处理部件;其中,
所述收发部件,用于获取视频播放应用中视频解码模块的解码程序,以及所述视频播放应用中视频后处理模块的渲染处理程序;并将所述解码程序和所述渲染处理程序发送到所述程序处理部件;
所述程序处理部件,用于将所述解码程序和所述渲染处理程序进行整合处理,得到合并程序;所述合并程序被执行时实现如权利要求1所述的方法;
所述程序处理部件,还用于将所述合并程序设置于所述视频解码模块,并将所述视频播放应用中的解码程序和渲染处理程序删除;并在所述视频解码模块上新建应用程序接口API以接收所述视频播放应用的输出模块实时采集的播放参数。
11.一种视频播放应用的升级装置,其特征在于,所述升级装置包括:
处理器和存储器;
所述存储器存储所述处理器可执行的可执行指令;
其中,所述处理器执行所述存储器存储的可执行指令,使得所述处理器执行如权利要求9所述的方法。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求9所述的方法。
13.一种程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743683.4A CN115134661A (zh) | 2022-06-28 | 2022-06-28 | 视频处理方法及视频处理应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743683.4A CN115134661A (zh) | 2022-06-28 | 2022-06-28 | 视频处理方法及视频处理应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115134661A true CN115134661A (zh) | 2022-09-30 |
Family
ID=83380312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210743683.4A Pending CN115134661A (zh) | 2022-06-28 | 2022-06-28 | 视频处理方法及视频处理应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134661A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271327A (zh) * | 2017-07-18 | 2019-01-25 | 杭州海康威视数字技术股份有限公司 | 内存管理方法及装置 |
CN109284183A (zh) * | 2018-10-17 | 2019-01-29 | 广州市百果园信息技术有限公司 | 动图播放方法、装置、计算机存储介质和终端 |
CN109587561A (zh) * | 2018-11-27 | 2019-04-05 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN109947456A (zh) * | 2019-03-27 | 2019-06-28 | 深圳Tcl数字技术有限公司 | 操作系统的升级方法及其升级装置、计算机存储介质 |
CN110475122A (zh) * | 2018-05-10 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 用于直播视频流播放的方法及装置 |
CN112070864A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画渲染方法、装置、计算机可读存储介质和计算机设备 |
CN112241932A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种图片处理方法及装置 |
-
2022
- 2022-06-28 CN CN202210743683.4A patent/CN115134661A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271327A (zh) * | 2017-07-18 | 2019-01-25 | 杭州海康威视数字技术股份有限公司 | 内存管理方法及装置 |
CN110475122A (zh) * | 2018-05-10 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 用于直播视频流播放的方法及装置 |
CN109284183A (zh) * | 2018-10-17 | 2019-01-29 | 广州市百果园信息技术有限公司 | 动图播放方法、装置、计算机存储介质和终端 |
CN109587561A (zh) * | 2018-11-27 | 2019-04-05 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN109947456A (zh) * | 2019-03-27 | 2019-06-28 | 深圳Tcl数字技术有限公司 | 操作系统的升级方法及其升级装置、计算机存储介质 |
CN112070864A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画渲染方法、装置、计算机可读存储介质和计算机设备 |
CN112241932A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种图片处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106973298B (zh) | 以gpu加速的软件视频转码器 | |
CN109618179B (zh) | 超高清视频直播的快速起播方法及装置 | |
CA2587118C (en) | Film grain sei message insertion for bit-accurate simulation in a video system | |
CN111225171B (zh) | 一种视频录制方法、装置、终端设备及计算机存储介质 | |
JPH08511385A (ja) | 可変量子化を用いた適応型画像圧縮 | |
CN109361950B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US20170220283A1 (en) | Reducing memory usage by a decoder during a format change | |
US8798162B2 (en) | Encoding method, decoding method, encoder, and decoder | |
CN112468875B (zh) | 视频解码帧的显示输出控制方法及装置、存储介质、终端 | |
CN114095784A (zh) | H.265格式视频流转码播放方法、系统、设备及介质 | |
CN112218148A (zh) | 屏幕录制方法、装置、计算机设备和计算机可读存储介质 | |
CN109587561B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
KR102163440B1 (ko) | 그래픽 처리기를 이용한 비디오 디코딩에 대한 픽처 참조 제어 | |
CN115134661A (zh) | 视频处理方法及视频处理应用 | |
CN112511887B (zh) | 视频播放控制方法及相应的装置、设备、系统和存储介质 | |
CN109120979B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN115225615B (zh) | 虚幻引擎像素流送方法及装置 | |
US11967345B2 (en) | System and method for rendering key and fill video streams for video processing | |
CN115914745A (zh) | 视频的解码方法、装置、电子设备及计算机可读介质 | |
JP2024517915A (ja) | データ処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
JP2011009949A (ja) | 映像処理装置及び映像処理方法 | |
CN108206969A (zh) | 一种视频播放快速启动方法及系统 | |
CN112804577B (zh) | 视频切换显示方法及装置、视频处理设备和存储介质 | |
CN113490047A (zh) | 一种Android音视频播放方法 | |
CN111225210B (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 |