0
点赞
收藏
分享

微信扫一扫

音视频专题--硬件解码

梯梯笔记 2022-03-27 阅读 51
android

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 条评论