CN111866508A - 视频处理方法、装置、介质及电子设备 - Google Patents
视频处理方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN111866508A CN111866508A CN202010671068.8A CN202010671068A CN111866508A CN 111866508 A CN111866508 A CN 111866508A CN 202010671068 A CN202010671068 A CN 202010671068A CN 111866508 A CN111866508 A CN 111866508A
- Authority
- CN
- China
- Prior art keywords
- video
- decoding
- interface
- main process
- sub
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 360
- 230000008569 process Effects 0.000 claims abstract description 210
- 238000012545 processing Methods 0.000 claims abstract description 116
- 238000004891 communication Methods 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013404 process transfer Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 21
- 238000003860 storage Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 11
- 239000011230 binding agent Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect 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
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请属于视频编解码技术领域,具体涉及一种视频处理方法、视频处理装置、计算机可读介质以及电子设备。该视频处理方法包括:注册用于进行视频编解码处理的子进程,并建立主进程与所述子进程的进程间通信连接;由所述主进程向所述子进程传递用于对待处理视频进行视频编解码处理的视频处理资源;根据所述视频处理资源,通过所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧;通过所述主进程对所述编辑视频帧进行可视化展示。本申请提供的视频处理方法可以降低内存压力,提高***稳定性和可靠性。
Description
技术领域
本申请属于视频编解码技术领域,具体涉及一种视频处理方法、视频处理装置、计算机可读介质以及电子设备。
背景技术
随着计算机和网络技术的发展,尤其是数字多媒体技术的迅猛发展和广泛应用,视频编解码技术在网络视频的传播和播放中起到至关重要的作用。一般而言,视频编解码器会对原始视频数据进行数据压缩,以解决视频存储和传输困难的问题;而在需要播放视频时,视频编解码器会对压缩的视频数据进行解码,以通过逆运算尽量还原原始视频的内容,并在用户的终端设备上进行视频播放。
由于视频编解码过程需要占用大量内存空间,如果同时进行视频播放或者实施其他相关业务功能,容易导致出现内存溢出(Out Of Memory,OOM)的风险。另外,视频编解码是一个复杂的过程,存在诸如***兼容性、编解码异常等问题,容易对***稳定性产生影响。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种视频处理方法、视频处理装置、计算机可读介质以及电子设备,至少在一定程度上克服***进行视频编解码过程中存在的内存占用量过高、***稳定性差等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种视频处理方法,该方法包括:
注册用于进行视频编解码处理的子进程,并建立主进程与所述子进程的进程间通信连接;
由所述主进程向所述子进程传递用于对待处理视频进行视频编解码处理的视频处理资源;
根据所述视频处理资源,通过所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧;
通过所述主进程对所述编辑视频帧进行可视化展示。
根据本申请实施例的一个方面,提供一种视频处理装置,该装置包括:
通信建立模块,被配置为注册用于进行视频编解码处理的子进程,并建立主进程与所述子进程的进程间通信连接;
资源传递模块,被配置为由所述主进程向所述子进程传递用于对待处理视频进行视频编解码处理的视频处理资源;
解码编辑模块,被配置为根据所述视频处理资源,通过所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧;
视频展示模块,被配置为通过所述主进程对所述编辑视频帧进行可视化展示。
在本申请的一些实施例中,基于以上技术方案,所述通信建立模块包括:
管理进程注册单元,被配置为注册用于进行服务注册和服务检索的服务管理进程;
服务注册请求单元,被配置为所述子进程向所述服务管理进程发送服务注册请求以注册得到子进程服务组件;
服务检索请求单元,被配置为所述主进程向所述服务管理进程发送服务检索请求以得到所述子进程服务组件的组件信息;
通信连接建立单元,被配置为根据所述组件信息建立所述主进程与所述子进程的进程间通信连接。
在本申请的一些实施例中,基于以上技术方案,所述视频处理资源包括用于存储所述待处理视频的视频路径参数、用于编辑所述待处理视频的编辑资源参数以及用于展示所述待处理视频的视频界面对象。
在本申请的一些实施例中,基于以上技术方案,所述资源传递模块包括:
参数传递单元,被配置为通过所述主进程调用参数初始化接口,以基于所述参数初始化接口由所述主进程向所述子进程传递所述视频路径参数和所述编辑资源参数;
对象传递单元,被配置为通过所述主进程调用界面绑定接口,以基于所述界面绑定接口由所述主进程向所述子进程传递所述视频界面对象。
在本申请的一些实施例中,基于以上技术方案,所述对象传递单元包括:
对象创建子单元,被配置为通过所述主进程创建用于展示所述待处理视频的视图对象,并基于所述视图对象设置界面监听接口;
对象传递子单元,被配置为当所述界面监听接口回调所述视频界面对象的界面可用函数时,通过调用所述界面绑定接口由所述主进程向所述子进程传递所述视频界面对象。
在本申请的一些实施例中,基于以上技术方案,所述解码编辑模块包括:
解码初始化单元,被配置为根据所述视频处理资源在所述子进程上进行解码初始化;
解码请求单元,被配置为通过所述主进程向经过解码初始化后的子进程发送远程解码请求;
解码编辑单元,被配置为响应于所述远程解码请求,所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧。
在本申请的一些实施例中,基于以上技术方案,所述视频处理资源包括用于存储所述待处理视频的视频路径参数、用于编辑所述待处理视频的编辑资源参数以及用于展示所述待处理视频的视频界面对象;所述解码初始化单元包括:
资源初始化子单元,被配置为根据所述视频路径参数以及所述编辑资源参数在所述子进程上进行资源初始化以获得所述待处理视频以及用于对所述待处理视频进行编辑处理的编辑资源;
解码器初始化子单元,被配置为根据所述视频界面对象在所述子进程上进行解码器初始化以获得用于对所述待处理视频进行解码处理的解码器。
在本申请的一些实施例中,基于以上技术方案,所述视频展示模块包括:
帧缓冲单元,被配置为通过所述主进程将所述编辑视频帧放置于帧缓冲区域中;
帧提取单元,被配置为按照视频展示频率从所述帧缓冲区域中提取编辑视频帧;
帧展示单元,被配置为对提取得到的编辑视频帧进行可视化展示。
在本申请的一些实施例中,基于以上技术方案,所述视频处理装置还包括:
解码进度展示模块,被配置为通过所述主进程获取所述待处理视频的解码进度,并对所述解码进度进行可视化展示。
在本申请的一些实施例中,基于以上技术方案,所述解码进度展示模块包括:
回调接口注册单元,被配置为通过所述主进程注册用于监听所述子进程的子进程回调接口;
解码进度获取单元,被配置为通过所述主进程调用所述子进程回调接口,以基于所述子进程回调接口获取所述待处理视频的解码进度。
在本申请的一些实施例中,基于以上技术方案,所述视频处理装置还包括:
界面尺寸调整模块,被配置为通过所述主进程调整用于展示所述编辑视频帧的视频界面对象的界面尺寸;
帧尺寸调整模块,被配置为通过所述主进程调用尺寸调整接口,以基于所述尺寸调整接口调整所述子进程对所述待处理视频进行解码处理得到的原始视频帧的帧尺寸。
在本申请的一些实施例中,基于以上技术方案,所述视频处理装置还包括:
展示进度调整模块,被配置为通过所述主进程调整所述编辑视频帧的展示进度;
解码位置调整模块,被配置为将所述展示进度由所述主进程传递至所述子进程,以调整所述子进程对所述待处理视频进行解码处理的解码处理位置。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的视频处理方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的视频处理方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的视频处理方法。
在本申请实施例提供的技术方案中,通过对视频处理的整体进程做进程拆分,可以由子进程处理视频编解码以及视频编辑等逻辑程序,而由主进程处理子进程控制以及视频展示等逻辑程序。由此可以将视频编解码申请的内容从主进程中剥离出来,极大地降低主进程的内存压力,使得主进程可以拥有足够内存资源处理其他业务逻辑,避免出现内存泄露的问题。另外,由于不同***上视频编解码底层处理逻辑存在差异,使得在开发编解码相关逻辑的时候,不可避免地出现不可控的程序崩溃等问题,而使用本申请技术方案的多进程异步编解码技术可以将编解码带来的问题从程序的主进程中隔离出来,优先保障主进程的业务逻辑不受影响,从而可以提高***的稳定性和可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
图2示意性地示出了本申请技术方案在一应用场景中进行视频编解码异步处理的程序架构示意图。
图3示意性地示出了本申请一些实施例中提供的视频处理方法的步骤流程图。
图4示意性地示出了本申请一些实施例中建立进程间通信连接的方法步骤流程图。
图5示意性地示出了本申请实施例在一应用场景中基于主进程与子进程间通信交互进行视频处理的处理流程。
图6示意性地示出了本申请实施例在一应用场景中由子进程对待处理视频进行解码处理的步骤流程图。
图7示意性地示出了本申请实施例提供的视频处理装置的结构框图。
图8示意性示出了适于用来实现本申请实施例的电子设备的计算机***结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在介绍本申请技术方案之前,先对本申请技术方案中涉及的云计算技术做简要说明。
云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,而后台***的支撑服务可以通过云计算来实现。
云计算(Cloud Computing)是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
如图1所示,***架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务端130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的***架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
以本申请提供的技术方案在终端设备110上的应用为例,在终端设备110中可以安装具有视频播放和编辑功能的应用程序APP,利用本申请技术方案可以在该APP中实现视频编解码的异步处理。
图2示意性地示出了本申请技术方案在一应用场景中进行视频编解码异步处理的程序架构示意图。如图2所示,在该程序架构下,应用程序APP的整体进程被拆分为主进程210和子进程220两个部分,两个进程分别负责执行不同的业务功能模块。
主进程210用以实现APP业务模块211、多进程通信管理模块212和视频预览模块213。
APP业务模块211主要负责非视频预览等相关逻辑。
视频预览模块212主要负责将子进程解码和经过二次加工后的视频帧显示到屏幕上进行播放预览。其中,二次加工指的是视频编辑过程,例如将解码出的视频帧进行如添加贴纸、动画、转换或对视频进行变速、视频拼接等操作。
多进程通信管理模块213主要负责管理主进程和子进程进行进程间通信,实现由主进程210对子进程220进行视频编解码的控制。
子进程220用以实现视频解码模块221、视频帧编辑模块222和视频编码模块223。
视频解码模块221主要负责从视频文件里解码出视频帧。
视频帧编辑模块222主要负责将解码模块解除的视频帧进行二次加工,例如添加特效、贴图、美颜、滤镜等。
视频编码模块223主要负责将处理后的视频帧重新写入到视频文件中。
在其他一些应用场景中,本申请技术方案可以由终端设备110和服务器130共同实施,例如可以将主进程210设置于终端设备110上并将子进程220设置于服务器120上,实现在远端进程上进行视频编解码处理。其中,服务器120可以采用云服务器,以实现视频的在线云编辑。具体而言,用户终端可以发送编辑命令至云端,云端接受到命令对视频进行编辑处理并将视频编辑的结果通过在线播放的形式呈现到用户终端上。
下面结合具体实施方式对本申请提供的视频处理方法、视频处理装置、计算机可读介质以及电子设备等技术方案做出详细说明。
图3示意性地示出了本申请一些实施例中提供的视频处理方法的步骤流程图。该视频处理方法可以由终端设备执行,也可以由服务器执行,或者可以由终端设备和服务器共同执行。如图3所示,该视频处理方法主要可以包括如下的步骤S310~步骤S340。
步骤S310.注册用于进行视频编解码处理的子进程,并建立主进程与子进程的进程间通信连接。
步骤S320.由主进程向子进程传递用于对待处理视频进行视频编解码处理的视频处理资源。
步骤S330.根据视频处理资源,通过子进程对待处理视频进行解码处理以得到原始视频帧,并对原始视频帧进行编辑处理以得到编辑视频帧。
步骤S340.通过主进程对编辑视频帧进行可视化展示。
在本申请实施例提供的视频处理方法中,通过对视频处理的整体进程做进程拆分,可以由子进程处理视频编解码以及视频编辑等逻辑程序,而由主进程处理子进程控制以及视频展示等逻辑程序。由此可以将视频编解码申请的内容从主进程中剥离出来,极大地降低主进程的内存压力,使得主进程可以拥有足够内存资源处理其他业务逻辑,避免出现内存泄露的问题。另外,由于不同***上视频编解码底层处理逻辑存在差异,使得在开发编解码相关逻辑的时候,不可避免地出现不可控的程序崩溃等问题,而使用本申请技术方案的多进程异步编解码技术可以将编解码带来的问题从程序的主进程中隔离出来,优先保障主进程的业务逻辑不受影响,从而可以提高***的稳定性和可靠性。
下面分别对以上实施例中的各个方法步骤的实现方式做详细说明。
在步骤S310中,注册用于进行视频编解码处理的子进程,并建立主进程与子进程的进程间通信连接。
图4示意性地示出了本申请一些实施例中建立进程间通信连接的方法步骤流程图。如图4所示,在以上实施例的基础上,步骤S310中的建立主进程与子进程的进程间通信连接,可以包括如下的步骤S410~步骤S440。
步骤S410.注册用于进行服务注册和服务检索的服务管理进程。
步骤S420.子进程向服务管理进程发送服务注册请求以注册得到子进程服务组件。
步骤S430.主进程向服务管理进程发送服务检索请求以得到子进程服务组件的组件信息。
步骤S440.根据组件信息建立主进程与子进程的进程间通信连接。
在本申请实施例中,采用Binder通信机制可以实现主进程与子进程的进程间通信。在Binder通信机制下,由主进程和子进程构成客户端/服务端架构(Client/Server,C/S)。其中,主进程作为客户端,可以获取子进程提供的视频编解码处理服务;子进程作为服务端,可以在主进程的控制下提供视频编辑码处理服务。
在本申请实施例中,首先可以注册服务管理进程Service Manager,该服务管理进程Service Manager可以实现服务注册功能和服务检索功能。子进程作为服务端Server,可以向服务管理进程Service Manager发送服务注册请求,从而在服务管理进程ServiceManager中注册得到子进程服务组件Service。主进程作为客户端Client,可以向服务管理进程Service Manager发送服务检索请求,以获得该子进程服务组件Service的组件信息。基于该组件信息可以在主进程与子进程之间建立通信通路,实现二者的进程间通信连接。
在Binder通信机制下,主进程、子进程以及服务管理进程之间均不会进行直接连接,而是通过位于内核空间(Kernel space)中的Binder驱动实现通信交互。基于Binder通信机制实现主进程与子进程的进程间通信连接具有通信方式简单高效、通信安全性高等优点。
在步骤S320中,由主进程向子进程传递用于对待处理视频进行视频编解码处理的视频处理资源。
在本申请的一些实施例中,视频处理资源主要可以包括用于存储待处理视频的视频路径参数、用于编辑待处理视频的编辑资源参数以及用于展示待处理视频的视频界面对象。
基于视频路径参数可以确定待处理视频的存储位置,从而可以在需要进行视频编解码处理时沿视频路径查找相应的待处理视频。
基于编辑资源参数可以确定用于对视频进行编辑处理的编辑资源,相关编辑资源例如可以包括需要在视频画面中添加的贴纸、动画、特效等对象实体,另外还可以包括其他编辑参数,如需要视频画面添加美颜、滤镜等编辑处理使使用的编辑参数。
视频界面对象是用于被绘制在终端设备的显示屏幕上的数据结构Surface,可以是直接向用户呈现的窗口界面。经过处理后的视频帧经过渲染绘制显示在视频界面对象中,以呈现相应的视频画面。
在本申请的一些实施例中,针对不同的视频处理资源,可以配置不同的应用程序接口(Application Programming Interface,API)来实现主进程向子进程进行的资源传递。其中,API接口是用于实现特定功能的预先定义的函数,进程通过调用API接口便可以实现相应的程序功能。
举例而言,针对视频路径参数和编辑资源参数,可以配置参数初始化接口,通过主进程调用参数初始化接口,可以基于参数初始化接口由主进程向子进程传递视频路径参数和编辑资源参数。而针对视频界面对象,可以配置界面绑定接口,通过主进程调用界面绑定接口,可以基于界面绑定接口由主进程向子进程传递视频界面对象。
在本申请的一些实施例中,视频界面对象是由主进程进行创建的,只有在主进程上具有可用的视频界面对象时,才能够实现由主进程向子进程的有效传递。针对视频界面对象的进程间传递,可以通过主进程创建用于展示待处理视频的视图对象,并基于视图对象设置界面监听接口。当主进程上完成视频界面对象的创建后,即主进程上具有可用的视频界面对象时,可以触发界面可用函数的回调。当界面监听接口回调视频界面对象的界面可用函数时,可以通过调用界面绑定接口由主进程向子进程传递视频界面对象。
在步骤S330中,根据视频处理资源,通过子进程对待处理视频进行解码处理以得到原始视频帧,并对原始视频帧进行编辑处理以得到编辑视频帧。
在将视频处理资源由主进程传递至子进程后,可以根据视频处理资源在子进程上进行解码初始化。在本申请的一些实施例中,可以分别进行资源初始化和解码器初始化两个方面的解码初始化过程。其中,资源初始化是指根据视频路径参数以及编辑资源参数在子进程上进行资源初始化以获得待处理视频以及用于对待处理视频进行编辑处理的编辑资源。解码器初始化是指根据视频界面对象在子进程上进行解码器初始化以获得用于对待处理视频进行解码处理的解码器。通过主进程可以向经过解码初始化后的子进程发送远程解码请求。响应于远程解码请求,子进程可以对待处理视频进行解码处理以得到原始视频帧,并对原始视频帧进行编辑处理以得到编辑视频帧。
在步骤S340中,通过主进程对编辑视频帧进行可视化展示。
由子进程完成对待处理视频的解码和编辑后,主进程可以对编辑视频帧进行可视化展示。例如可以对编辑视频帧进行逐帧渲染,以显示在终端设备的交互界面上,使得用户可以实时地播放或者预览经过编辑处理后的视频。
在本申请的一些实施例中,为了避免进程堵塞,可以在***中配置帧缓冲区域Frame buffer,以便存放编辑完成的编辑视频帧。在此基础上,可以通过主进程将编辑视频帧放置于帧缓冲区域中,然后按照视频展示频率从帧缓冲区域中提取编辑视频帧,进而对提取得到的编辑视频帧进行可视化展示。
通过在主进程与子进程之间进行进程间通信,可以由子进程对待处理视频进行解码和编辑处理,并由主进程对处理后的编辑视频帧进行可视化展示。另外,由于本申请实施例采用跨进程进行的异步的视频编解码处理方案,针对视频的编解码进度、视频的展示进度以及视频的展示效果调整等方面均需要通过主进程与子进程进行通信交互来进行控制。
在本申请的一些实施例中,可以通过主进程获取待处理视频的解码进度,并对解码进度进行可视化展示。解码进度是子进程对待处理视频进行解码处理的处理进度。为了获取待处理视频的解码进度,可以通过主进程注册用于监听子进程的子进程回调接口;通过主进程调用子进程回调接口,可以基于子进程回调接口获取待处理视频的解码进度,从而可以通过主进程对待处理视频的解码进度进行可视化展示。用户可以在播放或者预览视频的同时,查看视频的解码播放进度。
在本申请的一些实施例中,由主进程对编辑视频帧进行可视化展示时,可以对视频的展示尺寸进行调整以获得不同的视频展示效果。例如,用户可以在播放或者预览视频的过程中,对播放器窗口或者播放页面进行移动或者缩放。响应于用户的展示效果调整操作,可以通过主进程调整用于展示编辑视频帧的视频界面对象的界面尺寸;在此基础上,可以进一步通过主进程调用尺寸调整接口,以基于尺寸调整接口调整子进程对待处理视频进行解码处理得到的原始视频帧的帧尺寸。子进程可以根据主进程对尺寸调整接口的调用结果,控制解码器在对待处理视频进行解码处理时输出与视频界面对象的界面尺寸相适配的原始视频帧,从而可以适应播放窗口或者播放页面的尺寸改变。
在本申请的一些实施例中,可以通过主进程调整编辑视频帧的展示进度,以控制子进程由不同的视频位置进行解码处理。例如,用户可以在播放或者预览视频的过程中,通过拖动播放进度条的方式查看不同时间节点处的视频画面。响应于用户的展示进度调整操作,可以通过主进程调整编辑视频帧的展示进度;在此基础上,可以进一步将展示进度由主进程传递至子进程,以调整子进程对待处理视频进行解码处理的解码处理位置。
下面结合具体应用场景对以上实施例提供的视频处理方法的实现方案做详细说明。
图5示意性地示出了本申请实施例在一应用场景中基于主进程与子进程间通信交互进行视频处理的处理流程。如图5所示,该视频处理流程主要可以包括如下的步骤S501~步骤S509。
步骤S501.主进程与子进程通过Binder机制建立进程间通信连接。
步骤S502.主进程配置与用户界面(User Interface,UI)相关的逻辑,如添加用于视频播放的视图对象TextureView,并设置用于监听主进程上是否具有可用视频界面对象surface的界面监听接口SurfaceTextureListener。
步骤S503.当界面监听接口SurfaceTextureListener回调到指示主进程上具有可用的视频界面对象的界面可用函数onSurfaceTextureAvailable的时候,将该回调传入的surface对象通过多进程通信传递到子进程,然后等待子进程解码后的视频帧渲染到屏幕上。
步骤S504.子进程收到主进程传递过来的surface对象后,可以将该surface对象绑定至解码器中,开始进行编解码相关初始化工作。
步骤S505.当编解码初始化完毕以后,开始解码视频帧,并进行二次加工。例如,当需要在视频中添加特效时,子进程可以根据初始化得到的视频编辑资源构建特效渲染链,从而对解码得到的视频帧进行特效渲染。
步骤S506.处理完一帧视频,将该视频帧通过***调用放置到帧缓冲区域Framebuffer中,***根据固定频率从帧缓冲区域Frame buffer中取出视频帧进行上屏显示。重复执行本步骤可以对经过编辑后的视频帧进行持续地上屏显示,直至解码完毕,帧缓冲区域Frame buffer中没有需要显示的视频帧。
步骤S507.在子进程进行视频解码和编辑处理的过程中,将当前解码的进度回传给主进程,以显示播放进度。
步骤S508.当主进程播放窗口的大小发生改变的时候,调用尺寸调整接口,然后通过多进程通信改变子进程中视频界面对象surface的大小,改变解码得到视频帧的大小以适应播放窗口的改变。
步骤S509.当主进程释放用于视频播放的相关资源的时候,如销毁视频界面对象时,回调onSurfaceDestroy方法,然后通过多进程通信向子进程发送播放结束通知,子进程释放解码器的相关资源。
除以上涉及的视频解码及视频编辑等视频处理方案之外,子进程还可以实现对视频的编码处理方案,具体可以是对帧缓冲区域Frame buffer中的视频帧进行编码处理以将其重新写入视频文件中。
在主进程一侧可以配置如下的多种不同的应用程序接口,用以实现通过多进程通信对子进程的视频处理过程进行控制。
Init接口,负责将视频路径参数和编辑资源参数等相关参数从主进程传递到子进程待用。
BindSurface接口,负责在主进程回调onSurfaceTextureAvailable的时候,将主进程创建的surface传递到子进程进行解码器的初始化。
StartRender接口,负责开始子进程解码逻辑,并把解码后的视频经过二次加工后上屏显示。
Seek接口,负责将主进程的拖动进度传递到子进程,从指定位置开始解码经过二次加工后上屏显示。
Pause接口,负责用来暂停子进程的解码过程。
ChangeSurfaceSize接口,负责改变子进程解码后的视频帧大小,以适应播放窗口大小的改变。
SurfaceDestroy接口,负责对子进程编解码的停止等资源释放的逻辑。
RegisterCallback接口,负责从主进程向子进程注册监听回调函数,将解码进度等回调到主进程来显示播放进度。
UnregisterCallback接口,负责从主进程向子进程反注册监听回调函数,解除对子进程的监听回调。
主进程通过调用以上示例的应用程序接口,可以对子进程进行编解码控制。子进程则可以基于以上应用程序接口的调用结果,在主进程的控制下执行对待处理视频的编解码逻辑。
图6示意性地示出了本申请实施例在一应用场景中由子进程对待处理视频进行解码处理的步骤流程图。如图6所示,在该应用场景中,由子进程执行的解码处理流程包括如下的步骤S601~步骤S605。
步骤S601.接收到主进程远程初始化请求,进行解码初始化相关操作,主要包括资源初始化和解码器初始化。
步骤S602.接收到主进程发送的远程解码请求,开始在子进程上进行视频解码。
步骤S603.解码出一帧视频帧后,对其进行二次加工,例如添加一些滤镜、特效、贴纸等,然后将编辑处理完成的视频帧发送至***的帧缓冲区域Framebuffer,开始对其进行上屏显示操作。
步骤S603.当处理完一帧视频帧后,检查是否已经解码完毕。
步骤S604.如果没有解码完毕,检查是否需要暂停解码(即暂停播放);如果需要暂停,则等待继续播放信号来唤醒解码;如果不需要暂停,则继续解码下一帧视频帧。
步骤S605.如果解码完毕,释放解码器相关资源。
由以上解码处理过程可知,虽然将视频的编解码逻辑由主进程剥离至子进程中,但是并不会影响子进程中对解码得到的视频帧进行二次加工处理,如添加特效、背景音乐、动画等等。由子进程进行解码并编辑后的视频帧可以通过主进程进行预览,以查看视频编辑效果,在降低内存压力的同时,可以保证***整体的稳定性和可靠性。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的视频处理方法。图7示意性地示出了本申请实施例提供的视频处理装置的结构框图。如图7所示,视频处理装置700主要可以包括:通信建立模块710、资源传递模块720、解码编辑模块730和视频展示模块740。
通信建立模块710,被配置为注册用于进行视频编解码处理的子进程,并建立主进程与子进程的进程间通信连接;
资源传递模块720,被配置为由主进程向子进程传递用于对待处理视频进行视频编解码处理的视频处理资源;
解码编辑模块730,被配置为根据视频处理资源,通过子进程对待处理视频进行解码处理以得到原始视频帧,并对原始视频帧进行编辑处理以得到编辑视频帧;
视频展示模块740,被配置为通过主进程对编辑视频帧进行可视化展示。
在本申请的一些实施例中,基于以上各实施例,通信建立模块包括:
管理进程注册单元,被配置为注册用于进行服务注册和服务检索的服务管理进程;
服务注册请求单元,被配置为子进程向服务管理进程发送服务注册请求以注册得到子进程服务组件;
服务检索请求单元,被配置为主进程向服务管理进程发送服务检索请求以得到子进程服务组件的组件信息;
通信连接建立单元,被配置为根据组件信息建立主进程与子进程的进程间通信连接。
在本申请的一些实施例中,基于以上各实施例,视频处理资源包括用于存储待处理视频的视频路径参数、用于编辑待处理视频的编辑资源参数以及用于展示待处理视频的视频界面对象。
在本申请的一些实施例中,基于以上各实施例,资源传递模块包括:
参数传递单元,被配置为通过主进程调用参数初始化接口,以基于参数初始化接口由主进程向子进程传递视频路径参数和编辑资源参数;
对象传递单元,被配置为通过主进程调用界面绑定接口,以基于界面绑定接口由主进程向子进程传递视频界面对象。
在本申请的一些实施例中,基于以上各实施例,对象传递单元包括:
对象创建子单元,被配置为通过主进程创建用于展示待处理视频的视图对象,并基于视图对象设置界面监听接口;
对象传递子单元,被配置为当界面监听接口回调视频界面对象的界面可用函数时,通过调用界面绑定接口由主进程向子进程传递视频界面对象。
在本申请的一些实施例中,基于以上各实施例,解码编辑模块包括:
解码初始化单元,被配置为根据视频处理资源在子进程上进行解码初始化;
解码请求单元,被配置为通过主进程向经过解码初始化后的子进程发送远程解码请求;
解码编辑单元,被配置为响应于远程解码请求,子进程对待处理视频进行解码处理以得到原始视频帧,并对原始视频帧进行编辑处理以得到编辑视频帧。
在本申请的一些实施例中,基于以上各实施例,视频处理资源包括用于存储待处理视频的视频路径参数、用于编辑待处理视频的编辑资源参数以及用于展示待处理视频的视频界面对象;解码初始化单元包括:
资源初始化子单元,被配置为根据视频路径参数以及编辑资源参数在子进程上进行资源初始化以获得待处理视频以及用于对待处理视频进行编辑处理的编辑资源;
解码器初始化子单元,被配置为根据视频界面对象在子进程上进行解码器初始化以获得用于对待处理视频进行解码处理的解码器。
在本申请的一些实施例中,基于以上各实施例,视频展示模块包括:
帧缓冲单元,被配置为通过主进程将编辑视频帧放置于帧缓冲区域中;
帧提取单元,被配置为按照视频展示频率从帧缓冲区域中提取编辑视频帧;
帧展示单元,被配置为对提取得到的编辑视频帧进行可视化展示。
在本申请的一些实施例中,基于以上各实施例,视频处理装置还包括:
解码进度展示模块,被配置为通过主进程获取待处理视频的解码进度,并对解码进度进行可视化展示。
在本申请的一些实施例中,基于以上各实施例,解码进度展示模块包括:
回调接口注册单元,被配置为通过主进程注册用于监听子进程的子进程回调接口;
解码进度获取单元,被配置为通过主进程调用子进程回调接口,以基于子进程回调接口获取待处理视频的解码进度。
在本申请的一些实施例中,基于以上各实施例,视频处理装置还包括:
界面尺寸调整模块,被配置为通过主进程调整用于展示编辑视频帧的视频界面对象的界面尺寸;
帧尺寸调整模块,被配置为通过主进程调用尺寸调整接口,以基于尺寸调整接口调整子进程对待处理视频进行解码处理得到的原始视频帧的帧尺寸。
在本申请的一些实施例中,基于以上各实施例,视频处理装置还包括:
展示进度调整模块,被配置为通过主进程调整编辑视频帧的展示进度;
解码位置调整模块,被配置为将展示进度由主进程传递至子进程,以调整子进程对待处理视频进行解码处理的解码处理位置。
本申请各实施例中提供的视频处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图8示意性地示出了用于实现本申请实施例的电子设备的计算机***结构框图。
需要说明的是,图8示出的电子设备的计算机***800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机***800包括中央处理器801(Central Processing Unit,CPU),其可以根据存储在只读存储器802(Read-Only Memory,ROM)中的程序或者从存储部分808加载到随机访问存储器803(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器803中,还存储有***操作所需的各种程序和数据。中央处理器801、在只读存储器802以及随机访问存储器803通过总线804彼此相连。输入/输出接口805(Input/Output接口,即I/O接口)也连接至总线804。
以下部件连接至输入/输出接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至输入/输出接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理器801执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种视频处理方法,其特征在于,包括:
注册用于进行视频编解码处理的子进程,并建立主进程与所述子进程的进程间通信连接;
由所述主进程向所述子进程传递用于对待处理视频进行视频编解码处理的视频处理资源;
根据所述视频处理资源,通过所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧;
通过所述主进程对所述编辑视频帧进行可视化展示。
2.根据权利要求1所述的视频处理方法,其特征在于,所述建立主进程与所述子进程的进程间通信连接,包括:
注册用于进行服务注册和服务检索的服务管理进程;
所述子进程向所述服务管理进程发送服务注册请求以注册得到子进程服务组件;
所述主进程向所述服务管理进程发送服务检索请求以得到所述子进程服务组件的组件信息;
根据所述组件信息建立所述主进程与所述子进程的进程间通信连接。
3.根据权利要求1所述的视频处理方法,其特征在于,所述视频处理资源包括用于存储所述待处理视频的视频路径参数、用于编辑所述待处理视频的编辑资源参数以及用于展示所述待处理视频的视频界面对象。
4.根据权利要求3所述的视频处理方法,其特征在于,所述由所述主进程向所述子进程传递用于对待处理视频进行视频编解码处理的视频处理资源,包括:
通过所述主进程调用参数初始化接口,以基于所述参数初始化接口由所述主进程向所述子进程传递所述视频路径参数和所述编辑资源参数;
通过所述主进程调用界面绑定接口,以基于所述界面绑定接口由所述主进程向所述子进程传递所述视频界面对象。
5.根据权利要求4所述的视频处理方法,其特征在于,所述基于所述界面绑定接口由所述主进程向所述子进程传递所述视频界面对象,包括:
通过所述主进程创建用于展示所述待处理视频的视图对象,并基于所述视图对象设置界面监听接口;
当所述界面监听接口回调所述视频界面对象的界面可用函数时,通过调用所述界面绑定接口由所述主进程向所述子进程传递所述视频界面对象。
6.根据权利要求1所述的视频处理方法,其特征在于,根据所述视频处理资源,通过所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧,包括:
根据所述视频处理资源在所述子进程上进行解码初始化;
通过所述主进程向经过解码初始化后的子进程发送远程解码请求;
响应于所述远程解码请求,所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧。
7.根据权利要求6所述的视频处理方法,其特征在于,所述视频处理资源包括用于存储所述待处理视频的视频路径参数、用于编辑所述待处理视频的编辑资源参数以及用于展示所述待处理视频的视频界面对象;所述根据所述视频处理资源在所述子进程上进行解码初始化,包括:
根据所述视频路径参数以及所述编辑资源参数在所述子进程上进行资源初始化以获得所述待处理视频以及用于对所述待处理视频进行编辑处理的编辑资源;
根据所述视频界面对象在所述子进程上进行解码器初始化以获得用于对所述待处理视频进行解码处理的解码器。
8.根据权利要求1所述的视频处理方法,其特征在于,所述通过所述主进程对所述编辑视频帧进行可视化展示,包括:
通过所述主进程将所述编辑视频帧放置于帧缓冲区域中;
按照视频展示频率从所述帧缓冲区域中提取编辑视频帧;
对提取得到的编辑视频帧进行可视化展示。
9.根据权利要求1所述的视频处理方法,其特征在于,所述方法还包括:
通过所述主进程获取所述待处理视频的解码进度,并对所述解码进度进行可视化展示。
10.根据权利要求9所述的视频处理方法,其特征在于,所述通过所述主进程获取所述待处理视频的解码进度,包括:
通过所述主进程注册用于监听所述子进程的子进程回调接口;
通过所述主进程调用所述子进程回调接口,以基于所述子进程回调接口获取所述待处理视频的解码进度。
11.根据权利要求1所述的视频处理方法,其特征在于,所述方法还包括:
通过所述主进程调整用于展示所述编辑视频帧的视频界面对象的界面尺寸;
通过所述主进程调用尺寸调整接口,以基于所述尺寸调整接口调整所述子进程对所述待处理视频进行解码处理得到的原始视频帧的帧尺寸。
12.根据权利要求1所述的视频处理方法,其特征在于,所述方法还包括:
通过所述主进程调整所述编辑视频帧的展示进度;
将所述展示进度由所述主进程传递至所述子进程,以调整所述子进程对所述待处理视频进行解码处理的解码处理位置。
13.一种视频处理装置,其特征在于,包括:
通信建立模块,被配置为注册用于进行视频编解码处理的子进程,并建立主进程与所述子进程的进程间通信连接;
资源传递模块,被配置为由所述主进程向所述子进程传递用于对待处理视频进行视频编解码处理的视频处理资源;
解码编辑模块,被配置为根据所述视频处理资源,通过所述子进程对所述待处理视频进行解码处理以得到原始视频帧,并对所述原始视频帧进行编辑处理以得到编辑视频帧;
视频展示模块,被配置为通过所述主进程对所述编辑视频帧进行可视化展示。
14.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至12中任意一项所述的视频处理方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任意一项所述的视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010671068.8A CN111866508A (zh) | 2020-07-13 | 2020-07-13 | 视频处理方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010671068.8A CN111866508A (zh) | 2020-07-13 | 2020-07-13 | 视频处理方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111866508A true CN111866508A (zh) | 2020-10-30 |
Family
ID=72983001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010671068.8A Pending CN111866508A (zh) | 2020-07-13 | 2020-07-13 | 视频处理方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111866508A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242451A (zh) * | 2021-05-07 | 2021-08-10 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583022A (zh) * | 2009-06-11 | 2009-11-18 | 中兴通讯股份有限公司 | 视频监控客户端播放方法和*** |
US9462323B1 (en) * | 2015-08-28 | 2016-10-04 | Streamray Inc. | Method and system for display of mixed media content on devices without standard video |
CN109788325A (zh) * | 2018-12-28 | 2019-05-21 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
CN111176577A (zh) * | 2019-12-28 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 分布式块存储服务命令处理方法、装置、设备及介质 |
CN111405288A (zh) * | 2020-03-19 | 2020-07-10 | 北京字节跳动网络技术有限公司 | 视频抽帧方法、装置、电子设备及计算机可读存储介质 |
-
2020
- 2020-07-13 CN CN202010671068.8A patent/CN111866508A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583022A (zh) * | 2009-06-11 | 2009-11-18 | 中兴通讯股份有限公司 | 视频监控客户端播放方法和*** |
US9462323B1 (en) * | 2015-08-28 | 2016-10-04 | Streamray Inc. | Method and system for display of mixed media content on devices without standard video |
CN109788325A (zh) * | 2018-12-28 | 2019-05-21 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
CN111176577A (zh) * | 2019-12-28 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 分布式块存储服务命令处理方法、装置、设备及介质 |
CN111405288A (zh) * | 2020-03-19 | 2020-07-10 | 北京字节跳动网络技术有限公司 | 视频抽帧方法、装置、电子设备及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242451A (zh) * | 2021-05-07 | 2021-08-10 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930467B (zh) | 一种信息处理方法及电子设备 | |
CN110166810B (zh) | 视频渲染引擎切换方法、装置、设备及可读存储介质 | |
US9712589B2 (en) | System and method for playing a video on mobile web environments | |
US20220007083A1 (en) | Method and stream-pushing client for processing live stream in webrtc | |
WO2021143182A1 (zh) | 游戏的处理方法、装置、电子设备及计算机可读存储介质 | |
US10271105B2 (en) | Method for playing video, client, and computer storage medium | |
CN109819268B (zh) | 视频直播中的直播间播放控制方法、装置、介质及设备 | |
CN107209693A (zh) | 缓冲器优化 | |
CN104685873B (zh) | 编码控制设备以及编码控制方法 | |
WO2020220773A1 (zh) | 图片预览信息的显示方法、装置、电子设备及计算机可读存储介质 | |
CN109672902A (zh) | 一种视频抽帧方法、装置、电子设备和存储介质 | |
US11689749B1 (en) | Centralized streaming video composition | |
WO2018119711A1 (zh) | 多操作***多媒体编解码方法、装置及电子设备 | |
US11064008B2 (en) | Methods for facilitating a remote interface and devices thereof | |
CN115065684A (zh) | 数据处理方法、装置、设备以及介质 | |
CN113411660B (zh) | 视频数据的处理方法、装置和电子设备 | |
CN101442627A (zh) | 一种用于对等计算机顶盒的播放器的控制方法 | |
CN107241651B (zh) | 一种媒体数据播放方法和装置、智能终端 | |
CN111866508A (zh) | 视频处理方法、装置、介质及电子设备 | |
WO2018119616A1 (zh) | 多操作***多媒体数据编解码方法、装置、电子设备和计算机程序产品 | |
CN113411661B (zh) | 用于记录信息的方法、装置、设备、存储介质及程序产品 | |
CN113766266B (zh) | 音视频处理方法、装置、设备以及存储介质 | |
EP3229478B1 (en) | Cloud streaming service system, image cloud streaming service method using application code, and device therefor | |
WO2016127888A1 (zh) | 一种多媒体文件下载的方法与装置 | |
WO2016107174A1 (zh) | 多媒体文件数据的处理方法及***、播放器和客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030632 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |