HarmonyOS 基于NDK开发抽取视频帧

基于NDK开发,通过AVDemuxer获取视频某帧,然后通过VideoDecoder进行视频解码,最后将获取数据返回给ArkTS层,此方案是否可行?

因为当前项目API为11,AVImageGenerator接口只适配API12,所有需要换一种方案。

对于通过第三方库mp4parse进行解决,后续考虑由此第三方库体积太大,所有想替换一个轻量化方案。

是否上述所说能否实现,或者还有其他方案可行

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

方案可行,具体操作步骤如下:

1.通过AVDemuxer获取视频帧:

使用AVDemuxer读取视频文件,获取视频帧数据。

将获取到的视频帧数据存储在AVBuffer中。

2.视频解码:

创建一个VideoDecoder实例,并配置解码器。

使用VideoDecoder的PushInputBuffer方法将AVBuffer中的数据推入解码器进行解码。

解码器会返回解码后的数据,可以通过回调函数获取解码结果。

3.将获取数据返回给ArkTS层:

从回调函数中获取解码后的数据。

将数据返回给ArkTS层进行处理。

在这个过程中,需要注意以下几点:

①确保AVDemuxer和VideoDecoder的初始化和配置正确;

②处理解码过程中可能出现的错误,并进行相应的错误处理;

③确保解码器在使用完毕后及时释放资源,避免内存泄漏。

参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/audio-video-demuxer-V5

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/video-decoding-V5

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 关于视频
37浏览 • 1回复 待解决
关于NDK开发
13浏览 • 1回复 待解决
HarmonyOS 支持获取视频图吗?
68浏览 • 1回复 待解决
怎么基于Java实现视频播放?
2961浏览 • 1回复 待解决
HarmonyOS 视频上传的完成链路
590浏览 • 1回复 待解决
HarmonyOS如何获取视频第一作为封面
1113浏览 • 1回复 待解决
arkTs如何获取视频第一图片?
1139浏览 • 2回复 待解决
HarmonyOS上面的NDK开发有无详细文档
4754浏览 • 2回复 待解决
HarmonyOS 如何获取视频文件的第一
60浏览 • 1回复 待解决
基于原生的应用主题开发
573浏览 • 1回复 待解决
NDK开发是否有提供交叉编译工具
1828浏览 • 1回复 待解决
服务卡片只能基于JAVA开发吗?
3471浏览 • 1回复 待解决