MediaCodec编码

本文介绍了使用Android的MediaCodec模块进行硬件编码的过程,包括获取编码设备信息、创建编码对象、设置编码参数、数据传递与读取等步骤。在创建Codec时,通过ByName和ByType的方式有不同效果,如关键帧间隔设置等。同时,文章提出了利用MediaCodec设置B帧输出和强制关键帧输出的问题,期待解决方案。
摘要由CSDN通过智能技术生成

原因:由于涉及到yuv的编码故使用android自带的MediaCodec模块进行硬件编码

概况:通过获取编码设备信息创建编码对象,然后设置编码参数,通过输入输出缓冲区进行数据的传递和读取。

流程如下:

首先获取当前设备支持的编解码设备信息:首先获取codc个数,然后判断是否是编码codec.

 m_codeccount = MediaCodecList.getCodecCount();//获取codec个数

for(int i=0;i<m_codeccount;i++)
{
    MediaCodecInfo info = MediaCodecList.getCodecInfoAt(i);//获取codecinfo
    
    if(info.isEncoder())//判断当前codec是否支持编码
    {
         String[] str = info.getSupportedTypes();//获取支持的类型
         
    }
}

通过上面获取的Codec类型有如下:

Type==audio/3gpp       Name==OMX.google.amrnb.encoder
Type==audio/amr-wb     Name==OMX.google.amrwb.encoder
Type==video/hevc       Name==OMX.qcom.video.encoder.hevc
Type==video/mp4v-es    Name==OMX.qcom.video.encoder.mpeg4
Type==video/avc        Name==OMX.qcom.video.encode
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值