FFmpeg
解码获得的AVPacket
只包含视频压缩数据,并没有包含相关的解码信息(比如:h264的sps pps头信息,AAC的adts头信息)
,没有这些编码头信息解
码器(MediaCodec)
是识别不到不能解码的。在FFmpeg
中,这些头信息是保存
在解码器上下文(AVCodecContext
)的extradata
中的,所以我们需要为每一种
格式的视频添加相应的解码头信息,这样解码器(MediaCodec)
才能正确解析
每一个AVPacket
里的视频数据。
主要使用的类AVBitStreamFilter
添加过程:
1 |
|