一种视频流首帧图像快速生成方法、框架和存储介质技术

技术编号:38018060 阅读:14 留言:0更新日期:2023-06-30 10:45
本发明专利技术公开了一种视频流首帧图像快速生成方法、框架和存储介质,方法包括以下步骤:ACodec层获取源视频流,自源视频数据中解析得到视频参数;所述视频参数,具体包括视频宽度、视频高度和需要的目标缓冲区个数;ACodec层将视频参数传输至openMax层,openMax层根据所述视频参数建立目标缓冲区;openMax层将解码器分配至所述目标缓冲区;解码器在目标缓冲区中对源视频流进行解码,得到解码视频流;openMax层自解码视频流中提取得到视频流首帧图像,将视频流首帧图像传输至显示模块显示。本发明专利技术通过加入参数预配置手段,使openMax层能够提前获取视频流参数信息,在视频流解码过程中只需建立一次缓冲区,减少首帧图像加载耗时,达到快速出图的目的。快速出图的目的。快速出图的目的。

【技术实现步骤摘要】
一种视频流首帧图像快速生成方法、框架和存储介质


[0001]本专利技术涉及视频解码
,尤其是一种视频流首帧图像快速生成方法、框架和存储介质。

技术介绍

[0002]openMax是由Khronos组织所发布的一种开放标准,用来实现高效的多媒体加速。在投屏场景下,机顶盒等接收端产品在接收到发送端(手机等)传来的视频流数据后,需要将这些视频流数据进行解码和显示,其中主流使用的Android多媒体通路是MediaCodec。而该通路处理接收到的视频流数据时,需要openMax来启动对应的解码器,解码器对视频流数据进行解码后,openMax将其送到显示模块进行渲染和显示。
[0003]而在MediaCodec框架内,视频流显示前的参数配置操作需要在Acodec层进行,即Acodec层根据视频参数进行显示初始化设置。然而在现有技术中,实际的视频参数需要在解码器解码之后才能得到,但用于输出的缓冲区(buffer)却在解码器解码之前就已经建立。这样在解码器解码出视频流的首帧图像后,会因为缓冲区参数和实际的视频参数不匹配造成首帧图像无法输出,需要Acodec层重新根据视频参数建立缓冲区之后,才能正常输出首帧图像,造成首帧图像加载耗时过长的问题。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种视频流首帧图像快速生成方法、框架和存储介质。
[0005]本专利技术的第一方面提供了一种视频流首帧图像快速生成方法,包括以下步骤:
[0006]ACodec层获取源视频流,自源视频数据中解析得到视频参数;所述视频参数,具体包括视频宽度、视频高度和需要的目标缓冲区个数;
[0007]ACodec层将视频参数传输至openMax层,openMax层根据所述视频参数建立目标缓冲区;
[0008]openMax层将解码器分配至所述目标缓冲区;解码器在目标缓冲区中对源视频流进行解码,得到解码视频流;
[0009]openMax层自解码视频流中提取得到视频流首帧图像,将视频流首帧图像传输至显示模块显示。
[0010]进一步地,所述ACodec层自源视频数据中解析得到视频参数,具体通过以下步骤实现:
[0011]在ACodec层设置setPortRefFrameNum()接口函数,通过setPortRefFrameNum()接口调用getParameter()接口函数;
[0012]ACodec层通过getParameter()接口函数自源视频流中解析得到视频宽度和视频高度;
[0013]ACodec层setPortRefFrameNum()接口函数自源视频流中解析得到需要的目标缓
冲区个数。
[0014]进一步地,所述ACodec层将视频参数传输至openMax层,具体通过以下步骤实现:
[0015]ACodec层通过setPortRefFrameNum()接口调用setParameter()接口函数;
[0016]ACodec层通过setParameter()接口函数将视频宽度、视频高度和目标缓冲区个数传输至openMax层。
[0017]进一步地,所述openMax层将视频流首帧图像传输至显示模块显示,具体通过以下步骤实现:
[0018]在ACodec层设置.drain接口函数;
[0019]openMax层将视频流首帧图像通过.drain接口函数传输至显示模块。
[0020]进一步地,所述视频参数还包括参考帧个数,所述方法还包括以下步骤:
[0021]ACodec层获取源视频流的参考帧个数;将源视频流的参考帧个数传输至openMax层;
[0022]openMax层将源视频流的参考帧个数设置于解码器上,解码器根据源视频流的参考帧个数对源视频流进行解码。
[0023]进一步地,在所述ACodec层获取源视频流的参考帧个数之后,还包括以下步骤:
[0024]ACodec层调用findInt32()接口函数,对源视频流的参考帧个数进行赋值。
[0025]进一步地,还包括以下步骤:
[0026]openMax层检查目标缓冲区参数,确定目标缓冲区参数与解码器的硬件信息和显示模块的硬件信息是否适应;
[0027]当目标缓冲区参数与解码器的硬件信息不相适应时,根据解码器的硬件信息对目标缓冲区参数作对齐处理;
[0028]当目标缓冲区参数与显示模块的硬件信息不相适应时,根据目标缓冲区参数修改显示模块的硬件信息。
[0029]本专利技术第二方面公开一种视频流首帧图像快速生成框架,包括ACodec层、openMax层以及解码器;其中:
[0030]ACodec层用于获取源视频流,自源视频数据中解析得到视频参数;所述视频参数,具体包括视频宽度、视频高度和需要的目标缓冲区个数;
[0031]ACodec层还用于将视频参数传输至openMax层,openMax层根据所述视频参数建立目标缓冲区;
[0032]openMax层用于将解码器分配至所述目标缓冲区;解码器用于在目标缓冲区中对源视频流进行解码,得到解码视频流;
[0033]openMax层还用于自解码视频流中提取得到视频流首帧图像,将视频流首帧图像传输至显示模块显示。
[0034]本专利技术第三方面公开一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现一种视频流首帧图像快速生成方法。
[0035]本专利技术的实施例居然如下方面有益效果:本专利技术通过加入参数预配置手段,使openMax层能够提前获取视频流参数信息,在视频流解码过程中只需建立一次缓冲区,减少首帧图像加载耗时,达到快速出图的目的。本专利技术中所申请和设置的缓冲区能够满足解码器和显示模块的硬件对齐等要求,能够广泛应用于安防摄像头、机顶盒、投影仪等视频流服
务平台。
[0036]本专利技术的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0037]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是现有技术中Med iaCodec框架的视频流解码处理流程;
[0039]图2是本专利技术一种视频流首帧图像快速生成方法、框架和存储介质的视频流解码处理流程图;
[0040]图3是本专利技术一种视频流首帧图像快速生成方法、框架和存储介质的接口函数调用图。
具体实施方式
[0041]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0042]Med iaCodec是And本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频流首帧图像快速生成方法,其特征在于,包括以下步骤:ACodec层获取源视频流,自源视频数据中解析得到视频参数;所述视频参数,具体包括视频宽度、视频高度和需要的目标缓冲区个数;ACodec层将视频参数传输至openMax层,openMax层根据所述视频参数建立目标缓冲区;openMax层将解码器分配至所述目标缓冲区;解码器在目标缓冲区中对源视频流进行解码,得到解码视频流;openMax层自解码视频流中提取得到视频流首帧图像,将视频流首帧图像传输至显示模块显示。2.根据权利要求1所述的一种视频流首帧图像快速生成方法,其特征在于,所述ACodec层自源视频数据中解析得到视频参数,具体通过以下步骤实现:在ACodec层设置setPortRefFrameNum()接口函数,通过setPortRefFrameNum()接口调用getParameter()接口函数;ACodec层通过getParameter()接口函数自源视频流中解析得到视频宽度和视频高度;ACodec层setPortRefFrameNum()接口函数自源视频流中解析得到需要的目标缓冲区个数。3.根据权利要求2所述的一种视频流首帧图像快速生成方法,其特征在于,所述ACodec层将视频参数传输至openMax层,具体通过以下步骤实现:ACodec层通过setPortRefFrameNum()接口调用setParameter()接口函数;ACodec层通过setParameter()接口函数将视频宽度、视频高度和目标缓冲区个数传输至openMax层。4.根据权利要求1所述的一种视频流首帧图像快速生成方法,其特征在于,所述openMax层将视频流首帧图像传输至显示模块显示,具体通过以下步骤实现:在ACodec层设置.drain接口函数;openMax层将视频流首帧图像通过.drain接口函数传输至显示模块。5.根据权利...

【专利技术属性】
技术研发人员:叶自兴甘秋业
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1