NDK开发-Android下摄像头YUV数据获取与H264编码(FFmpeg、x264)总结

本文介绍了在Android中使用NDK进行摄像头数据获取,YUV420P与NV21格式转换,以及H264编码的过程。通过FFmpeg与x264库实现视频编码,并对编码速度进行优化,目标是将编码时间控制在33.3ms以下。在优化过程中,调整了x264的参数,解决了编码线程调度问题,最终实现了实时编码的需求。
摘要由CSDN通过智能技术生成

涉及知识点:

  • Camera2 API使用
  • YUV420P与YUV420SP(NV21)格式转换
  • h264文件格式
  • FFmpeg工程
  • x264解码器

这次就先记录一下开发过程,因为牵涉到的很多技术问题都不太清楚,Android的知识都不太记得了,还有一些知识牵扯到这些开源工程的内部实现,待以后慢慢学习再写。
这个小demo就是做一个摄像头数据的获取与编码存储,由于这个demo的目的是为了给学习直播技术打基础,所以对编码速度有一定要求。
指标:编码耗费时间必须在33.3ms以下
指标说明:由于摄像头采集速度一般在30fps左右,所以编码速度不能小于这个值,否则就会出现编码速度跟不上视频获取速度的情况,造成帧的积压与丢失。

很久没有写过Android代码了,Android开发的资料还是丰富,官方文档比较详细,再看FFmpeg的文档,非核心的函数也就有个返回值类型的说明了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值