1.应用背景
在一些集成了算法SDK的Android APP中,这些APP是取出摄像头实时帧,然后调用视觉算法SDK并产生检测结果。而当测试人员发现某一场景下算法效果欠佳时,需要从摄像头实时原始数据帧dump一段视频(mp4格式),因此,这些Android APP中需要提供相应的功能,而Android MediaCodec则很方便为开发人员提供应用接口去实现Android视频方面的操作。
2.Android MediaCodec简介
1.MediaCodec含义:MediaCodec是Android中提供的音视频编码、解码工具。它主要是完成上层接口的封装,提供给开发者使用,编解码功能是在native底层服务中完成的。
2.工作流程

1)缓存队列:client需要将数据放入输入队列,等待MediaCodec处理后,从输出队列获取结果数据
输入队列,接受数据(格式ByteBuffer);
输出队列,输出数据(格式ByteBuffer);
(2)使用
a.把原始数据放入输入缓冲区队列中一个空缓冲区上;
b.编/解码器从输入缓冲队列中获取缓冲区上数据,进行编码处理,结果存放到输出缓冲区上一个空缓冲区上;
c.处理完毕后,释放该输入缓冲区,它会被重新放回输入缓冲区队列,以便下次重复使用。
3.相关API
createDecoderByType:获取解码器对象
createEncoderBytype:获取编码器对象
configure:对编解码器进行配置,使编解码器转入配置状态
start:使编码器转入执行刷新状态
stop:结束并返回到未初始化状态
release:释放实例资源
createInputSurface:创建输入缓冲Sur

最低0.47元/天 解锁文章
1308

被折叠的 条评论
为什么被折叠?



