用于视频裁剪的方法和装置制造方法及图纸

技术编号:37535777 阅读:14 留言:0更新日期:2023-05-12 16:03
一种用于视频裁剪的方法和装置,涉及多媒体技术领域,该方法包括:检测到第一用户操作,第一用户操作用于触发对视频编辑应用的裁剪界面中的第一视频帧的裁剪操作;响应于第一用户操作,记录第一视频帧对应的第一显示区域的裁剪参数,裁剪参数对应于第一用户操作;调用GPU根据裁剪参数进行视频帧绘制,以得到裁剪后的第一视频帧的第一画面数据;根据第一画面数据显示更新的裁剪界面,更新的裁剪界面中包括裁剪后的第一视频帧。该方法可以减少在视频裁剪过程中视频画面出现的延迟和卡顿情况,给予用户更流畅的操作体验,提高了视频裁剪的处理效率。理效率。理效率。

【技术实现步骤摘要】
用于视频裁剪的方法和装置
[0001]本申请要求于2022年5月30日提交中国国家知识产权局、申请号为202210601437.5、申请名称为“用于视频裁剪的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及多媒体
,尤其涉及一种用于视频裁剪的方法和装置。

技术介绍

[0003]随着互联网的普及和发展,视频逐渐成为主流的多媒体载体,各种视频编辑工具也随之不断进化和升级,提供诸如视频特效、视频滤镜等视频编辑功能。其中,视频裁剪是视频编辑的基础功能。视频裁剪可以指对视频画面进行移动、缩放、旋转、画面裁切等编辑操作,并通过视频播放窗口呈现已裁剪的视频画面效果。
[0004]但是,在视频编辑工具进行视频裁剪的操作的过程中,涉及到多种函数调用,例如,视频编解码模块、渲染工具的逻辑计算等,这使得视频裁剪过程中出现延时卡顿的现象,影响用户体验。
[0005]因此,业界青睐于研究处理效率更高、用户体验更好的视频裁剪的方法。

技术实现思路

[0006]本申请实施例提供一种用于视频裁剪的方法和装置,可以减少在视频裁剪过程中视频画面出现的延迟和卡顿情况,给予用户更流畅的操作体验,提高了视频裁剪的处理效率。
[0007]第一方面,本申请实施例提供一种用于视频裁剪的方法,应用于终端设备,该方法包括:检测到第一用户操作,所述第一用户操作用于触发对视频编辑应用的裁剪界面中的第一视频帧的裁剪操作;响应于所述第一用户操作,调用应用框架记录所述第一视频帧对应的第一显示区域的裁剪参数,所述裁剪参数对应于所述第一用户操作;调用图像处理单元GPU根据所述裁剪参数进行视频帧绘制,以得到裁剪后的第一视频帧的第一画面数据;根据所述第一画面数据显示更新的裁剪界面,所述更新的裁剪界面中包括所述裁剪后的第一视频帧。
[0008]这样,裁剪界面在响应用户的裁剪操作的过程中,不使用渲染模块对视频帧进行渲染,即不触发渲染线程,而是在调用应用框架和GPU进行视频帧绘制时记录和传递裁剪参数,以更新裁剪后视频帧的画面。这使得在显示裁剪界面时减少了多线程的时间片调度,从而使得裁剪界面的操作体验感更加流畅,改善了裁剪界面中的延时卡顿的现象。
[0009]另外,裁剪界面中不引入渲染工具,例如,OpenGl、EGL,这使得编辑界面和裁剪界面之间交互的信息变少,从而使两者的耦合度更少、更独立,提高了视频编辑应用的后台管理效率。
[0010]在一种可能的实现方式中,在响应所述第一用户操作的过程中,不使用渲染模块
对所述第一视频帧进行渲染操作。
[0011]在一种可能的实现方式中,所述裁剪操作包括以下至少一项:旋转、移动、缩放、镜像、画面裁切。
[0012]在一种可能的实现方式中,所述裁剪参数包括以下至少一项:旋转角度、镜像参数、裁剪坐标。
[0013]在一种可能的实现方式中,所述响应于所述第一用户操作,记录所述第一视频帧对应的第一显示区域的裁剪参数,包括:所述视频编辑应用向所述应用框架发送第一指令,所述第一指令用于指示所述应用框架发起视频绘制过程,所述第一指令中包括第五指令,所述第五指令用于指示所述应用框架记录所述裁剪参数;所述应用框架记录所述裁剪参数。
[0014]在一种可能的实现方式中,所述调用GPU根据所述裁剪参数进行视频帧绘制,包括:所述GPU接收所述应用框架发送的第二指令,所述第二指令用于指示GPU进行视频帧绘制,所述第二指令中包括所述裁剪参数;所述GPU根据所述裁剪参数进行视频帧绘制,以得到所述第一画面数据;所述GPU将所述第一画面数据存入所述第一显示区域对应的第一共享内存中。
[0015]在一种可能的实现方式中,所述根据所述第一画面数据显示裁剪界面,包括:所述视频编辑应用向应用框架发送第三指令,所述第三指令用于指示应用框架将第一窗口视图对应的共享内存中的画面数据输出至屏幕显示,所述第一窗口视图为所述裁剪界面对应的窗口视图,所述第一窗口视图对应的共享内存中包括所述第一共享内存;所述应用框架向SurfaceFlinger发送第四指令,所述第四指令用于通知SurfaceFlinger输出共享内存中的画面数据;所述SurfaceFlinger将多个窗口视图对应的共享内存中的画面数据叠加混合成一个总画面数据,所述多个窗口视图包括所述第一窗口视图;所述SurfaceFlinger将所述总画面数据装填至屏幕的缓存区域,以显示所述裁剪界面。
[0016]在一种可能的实现方式中,在所述检测到第一用户操作之前,所述方法还包括:检测到第二用户操作,所述第二用户操作用于触发从所述视频编辑应用的编辑界面进入所述裁剪界面的操作;响应于所述第二用户操作,显示所述裁剪界面,其中,所述裁剪界面中包括所述第一视频帧,在响应所述第二用户操作的过程中,不使用渲染模块对第一视频帧进行渲染操作。
[0017]这样,进入裁剪界面的过程中,没有初始化渲染模块以及使用渲染模块对视频帧进行渲染的过程,即不触发渲染线程,在裁剪界面减少了多线程的时间片调度,从而使得裁剪界面的操作体验感更加流畅,改善了裁剪界面中的延时卡顿的现象。并且,在裁剪界面中不引入渲染工具,例如,OpenGL、EGL,这使得编辑界面和裁剪界面之间交互的信息变少,从而使两者的耦合度更少、更独立,提高了视频编辑应用的后台管理效率。
[0018]在一种可能的实现方式中,所述响应于所述第二用户操作,显示所述裁剪界面,包括:调用MediaCodec创建编解码器;根据所述编解码器对所述第一视频帧对应的视频数据进行解析,以获取YUV格式的第一视频帧;根据所述YUV格式的第一视频帧进行绘制,以得到所述第一视频帧对应的第二画面数据;根据所述第二画面数据,显示所述裁剪界面。
[0019]在一种可能的实现方式中,所述调用MediaCodec创建编码器以及解码器,包括:调用所述MediaCodec获取所述第一视频帧对应的视频文件路径,所述视频文件格式指示所述
第一视频帧对应的视频数据的压缩存储方式;调用所述MediaCodec根据所述视频文件路径,创建所述编解码器。
[0020]在一种可能的实现方式中,所述调用所述MediaCodec获取所述第一视频帧对应的视频文件路径,包括:所述视频编辑应用向所述MediaCodec发送所述第一视频帧对应的视频文件路径;所述MediaCodec解析所述视频文件路径,以得到所述视频文件格式;所述MediaCodec向所述视频编辑应用发送所述视频文件格式。
[0021]在一种可能的实现方式中,所述调用所述MediaCodec根据所述视频文件路径,创建所述编解码器,包括:所述视频编辑应用向所述MediaCodec发送指示创建编解码器的第七指令,所述第七指令中包括所述视频文件格式;所述MediaCodec根据所述视频文件格式创建编解码器;所述MediaCodec向所述视频编辑应用发送指示编解码器创建成功的信息。
[0022]在一种可能的实现方式中,所述方法还包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于视频裁剪的方法,其特征在于,应用于终端设备,所述方法包括:检测到第一用户操作,所述第一用户操作用于触发对视频编辑应用的裁剪界面中的第一视频帧的裁剪操作;响应于所述第一用户操作,记录所述第一视频帧对应的第一显示区域的裁剪参数,所述裁剪参数对应于所述第一用户操作;调用图像处理单元GPU根据所述裁剪参数进行视频帧绘制,以得到裁剪后的第一视频帧的第一画面数据;根据所述第一画面数据显示更新的裁剪界面,所述更新的裁剪界面中包括所述裁剪后的第一视频帧。2.如权利要求1所述的方法,其特征在于,在响应所述第一用户操作的过程中,不使用渲染模块对所述第一视频帧进行渲染操作。3.如权利要求1或2所述的方法,其特征在于,所述裁剪操作包括以下至少一项:旋转、移动、缩放、镜像、画面裁切。4.如权利要求1至3中任一项所述的方法,其特征在于,所述裁剪参数包括以下至少一项:旋转角度、镜像参数、裁剪坐标。5.如权利要求1至4中任一项所述的方法,其特征在于,所述响应于所述第一用户操作,记录所述第一视频帧对应的第一显示区域的裁剪参数,包括:所述视频编辑应用向所述应用框架发送第一指令,所述第一指令用于指示所述应用框架发起视频绘制过程,所述第一指令中包括第五指令,所述第五指令用于指示所述应用框架记录所述裁剪参数;所述应用框架记录所述裁剪参数。6.如权利要求5所述的方法,其特征在于,所述调用GPU根据所述裁剪参数进行视频帧绘制,包括:所述GPU接收所述应用框架发送的第二指令,所述第二指令用于指示GPU进行视频帧绘制,所述第二指令中包括所述裁剪参数;所述GPU根据所述裁剪参数进行视频帧绘制,以得到所述第一画面数据;所述GPU将所述第一画面数据存入所述第一显示区域对应的第一共享内存中。7.如权利要求6所述的方法,其特征在于,所述根据所述第一画面数据显示裁剪界面,包括:所述视频编辑应用向应用框架发送第三指令,所述第三指令用于指示应用框架将第一窗口视图对应的共享内存中的画面数据输出至屏幕显示,所述第一窗口视图为所述裁剪界面对应的窗口视图,所述第一窗口视图对应的共享内存中包括所述第一共享内存;所述应用框架向SurfaceFlinger发送第四指令,所述第四指令用于通知SurfaceFlinger输出共享内存中的画面数据;所述SurfaceFlinger将多个窗口视图对应的共享内存中的画面数据叠加混合成一个总画面数据,所述多个窗口视图包括所述第一窗口视图;所述SurfaceFlinger将所述总画面数据装填至屏幕的缓存区域,以显示所述裁剪界面。8.如权利要求1至7中任一项所述的方法,其特征在于,在所述检测到第一用户操作之
前,所述方法还包括:检测到第二用户操作,所述第二用户操作用于触发从所述视频编辑应用的编辑界面进入所述裁剪界面的操作;响应于所述第二用户操作,显示所述裁剪界面,其中,所述裁剪界面中包括所述第一视频帧,在响应所述第二用户操作的过程中,不使用渲染模块对所述第一视频帧进行渲染操作。9.如权利要求8所述的方法,其特征在于,所述响应于所述第二用户操作,显示所述裁剪界面,包括:调用MediaCodec创建编解码器;根据所述编解码器对所述第一视频帧对应的视频数据进行解析,以获取YUV格式的第一视频帧;根据所述YUV格式的第一视频帧进行绘制,以得到所述第一视频帧对应的第二画面数据;根据所述第二画面数据,显示所述裁剪界面。10.如权利要求9所述的方法,其特征在于,所述调用MediaCodec创建编码器以及解码器,包括:所述视频编辑应用向所述MediaCodec发送所述第一视频帧对应的视频文件路径;所述MediaCodec解析所述视频文件路径,以得到所述视频文件格式;所述MediaCodec向所述视频编辑应用发送所述视频文件格式;所述视频编辑应用向所述MediaCodec发送指示创建编解码器的第七指令,所述第七指令中包括所述视频文件格式;所述MediaCodec根据所述视频文件格式创建编解码器。11.如权利要求10所述的方法,其特征在于,所述方法还包括:所述视频编辑应用向内存申请所述第一显示区域对应的第一共享内存,所述第一共享内存用于存储所述编解码器的输入数据或输出数据;所述内存向所述视频编辑应用发送共享内存创建成功的信息,所述共享内存创建成功的信息中包括所述第一共享内存的...

【专利技术属性】
技术研发人员:吴孟函吴比
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1