本发明专利技术公开了一种视频处理方法、装置、视频处理设备及存储介质。该方法包括:调用视频处理API并通过所述视频处理API打开共享库;基于所述共享库向视频编解码服务器传递第一命令,以使所述视频编解码服务器为每个视频编解码流程创建独立的进程;调用供用户空间调用的接口库,基于所述接口库通过系统调用扩展接口在各所述进程中使用GPU的硬件编解码功能对相应的视频编解码流程进行硬件编解码。上述技术方案利用共享库与视频编解码服务器交互,使视频编解码服务器每个视频编解码流程创建独立的进程,在各独立的进程中使用GPU进行硬件编解码,提高了视频处理效率,实现了对视频有效的硬件加速。的硬件加速。的硬件加速。
【技术实现步骤摘要】
视频处理方法、装置、视频处理设备及存储介质
[0001]本专利技术实施例涉及视频处理
,尤其涉及一种视频处理方法、装置、视频处理设备及存储介质。
技术介绍
[0002]在各种场景(如在汽车智能座舱内)视频播放效果的优劣直接影响到用户的体验,尤其是在屏幕不断升级的背景下,高分辨率、高刷新率的超大屏幕是否能够播放足够清晰的高帧率视频成为评价座舱系统的一项指标。随着虚拟化技术的普及,在虚拟操作系统中使用GPU硬件播放视频具有迫切需求。目前在虚拟操作系统中的播放视频时存在弊端,如使用软件解码播放视频导致系统卡顿,严重时则波及实时性要求高的应用,视频处理效率偏低。
技术实现思路
[0003]本专利技术提供了一种视频处理方法、装置、视频处理设备及存储介质,以提高了视频处理效率,实现了对视频有效的硬件加速。
[0004]第一方面,本专利技术实施例提供了一种视频处理方法,包括:
[0005]调用视频处理应用程序编程接口(Application Programming Interface,API)并通过所述视频处理API打开共享库;
[0006]基于所述共享库向视频编解码服务器传递第一命令,以使所述视频编解码服务器为每个视频编解码流程创建独立的进程;
[0007]调用供用户空间调用的接口库,基于所述接口库通过系统调用扩展接口在各所述进程中使用图形处理器(Graphics Processing Unit,GPU)的硬件编解码功能对相应的视频编解码流程进行硬件编解码。
[0008]第二方面,本专利技术实施例提供了一种视频处理装置,包括:
[0009]第一调用模块,用于调用视频处理API并通过所述视频处理API打开共享库;
[0010]第一命令模块,用于基于所述共享库向视频编解码服务器传递第一命令,以使所述视频编解码服务器为每个视频编解码流程创建独立的进程;
[0011]视频处理模块,用于调用供用户空间调用的接口库,基于所述接口库通过系统调用扩展接口在各所述进程中使用GPU的硬件编解码功能对相应的视频编解码流程进行硬件编解码。
[0012]第三方面,本专利技术实施例提供了一种视频处理设备,包括:
[0013]一个或多个处理器;
[0014]存储装置,用于存储一个或多个程序;
[0015]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的视频处理方法。
[0016]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机
程序,该程序被处理器执行时实现如第一方面所述的视频处理方法。
[0017]本专利技术实施例提供了一种视频处理方法、装置、视频处理设备及存储介质,该方法包括:调用视频处理API并通过所述视频处理API打开共享库;基于所述共享库向视频编解码服务器传递第一命令,以使所述视频编解码服务器为每个视频编解码流程创建独立的进程;调用供用户空间调用的接口库,基于所述接口库通过系统调用扩展接口在各所述进程中使用GPU的硬件编解码功能对相应的视频编解码流程进行硬件编解码。上述技术方案利用共享库与视频编解码服务器交互,使视频编解码服务器每个视频编解码流程创建独立的进程,在各独立的进程中使用GPU进行硬件编解码,提高了视频处理效率,实现了对视频有效的硬件加速。
附图说明
[0018]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0019]图1为本专利技术实施例一提供的一种视频处理方法的流程图;
[0020]图2为本专利技术实施例二提供的一种视频处理方法的流程图;
[0021]图3为本专利技术实施例二提供的一种硬件编解码架构的示意图;
[0022]图4为本专利技术实施例三提供的一种视频处理装置的结构示意图;
[0023]图5为本专利技术实施例四提供的一种视频处理设备的结构示意图。
具体实施方式
[0024]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。此外,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0025]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0026]需要注意,本专利技术实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
[0027]为了更好地理解本专利技术实施例,下面对相关名词进行介绍。
[0028]Hardware:硬件,计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。
[0029]GPU:图形处理器。
[0030]libva:intel提供的视频加速(Video Acceleration API,VA
‑
API)的开源库。
[0031]Hypervisor:虚拟机监视机。
[0032]renderD128:一个Linux中的设备文件,它代表了第128个渲染设备。这个设备文件通常用于支持图形加速,例如通过硬件加速播放视频或进行3D渲染。
[0033]renderD128(fake)设备:VM上的renderD128(fake)可以理解为一个虚假的设备,可用于欺骗虚拟机系统,让其误认为自身有一个可以使用的用于硬件加速codec的GPU。
[0034]kernel:操作系统内核。
[0035]libdrm:提供了一个用户空间用于访问直接渲染管理器(Direct Rendering Manager,DRM)的库,支持ioctl接口的操作GPU。libdrm是一个低级库,通常由图形驱动程序使用,例如Mesa DRI驱动程序,X驱动程序,libva和类似项目。
[0036]ffmpeg:用于录制、转换和流式传输音频和视频的完全跨平台解决方案。
[0037]mesa:也称为Mesa3D和Mesa 3D图形库,是OpenGL,Vulkan和其他图形API规范的开源软件实现。Mesa根据规范转换特定供应商的图形硬件驱动程序。
[0038]ioctl:系统调用扩展接口。
[0039]codec:硬件编解码器,用于视频硬件加速编解码。
[0040]Host:主的操作本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种视频处理方法,其特征在于,包括:调用视频处理应用程序编程接口API并通过所述视频处理API打开共享库;基于所述共享库向视频编解码服务器传递第一命令,以使所述视频编解码服务器为每个视频编解码流程创建独立的进程;调用供用户空间调用的接口库,基于所述接口库通过系统调用扩展接口在各所述进程中使用图形处理器GPU的硬件编解码功能对相应的视频编解码流程进行硬件编解码。2.根据权利要求1所述的方法,其特征在于,通过所述视频处理API打开共享库,包括:通过所述视频处理API打开对应于第一环境变量和第二环境变量的共享库;其中,所述第一环境变量用于指示所述共享库的名称,所述第二环境变量用于指示所述共享库的路径。3.根据权利要求1所述的方法,其特征在于,在调用供用户空间调用的接口库,基于所述接口库通过系统调用扩展接口在各所述进程中使用图形处理器GPU的硬件编解码功能对相应的视频编解码流程进行硬件编解码之前,还包括:通过所述视频处理API打开视频处理API的用户态硬件驱动库;通过所述用户态硬件驱动库根据GPU类型对待处理的视频进行预处理。4.根据权利要求1所述的方法,其特征在于,还包括:基于所述共享库向视频编解码服务器传递第二命令,以使所述视频编解码服务器并为每个视频编解码流程创建共享内存,所述共享内存用于传输视频编解码过程中的数据。5.根据权利要求1所述的方法,其特征在于,还包括:通过所述视频编解码服务器打开虚...
【专利技术属性】
技术研发人员:董小平,刘亮,张小康,马力,
申请(专利权)人:亿咖通湖北技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。