音视频专题--硬件解码

1 前言概念: MediaCodec是android提供用于对音视频进行编解码的类,他通过底层的编解码器来实现音视频的功能。

解码芯片: 移动端soc的视频硬解码靠的是soc里面的DSP芯片,不是GPU也不是CPU

硬解码:指的是系统将某个视频封装类型的文件分离成H.264视频数据量和aac音频数据量,然后再将H264视频数据流转交给DSP芯片进行处理,DSP将了好的一帧帧画面转交给GPU/CPU然后显示在屏幕上,这就是视频硬解码的过程。

2 MediaCodec的使用

硬编码设置:配置MediaFormat

如果是采集投屏数据则 KEY_COLOR_FORMAT设置为COLOR_FormatSurface

mediacodec.start()开始进行编码

 获取到编码通道,一直从通道中获取编码好的数据,获取结束后需要进行通道的释放。

 

 采集编码中vps(h265),sps,pps信息

注意:如果从摄像头采集的数据是NV21格式。如果codec申明的格式不对还需要进行数据转换。其次摄像头采集的数据由于旋转了90度,还需要进行还原操作。

 硬解码使用:

 config中设置需要渲染到surface.解码后将会直接渲染此。

解码过程:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值