Android上的音视频编解码的软编的库主要是 ffmpeg, 实际上 ffmpeg 纯用软件实现视频编解码, 所以是跨平台的。
ffmpeg 的数据转换过程如下:
音视频文件 –demuxer–> 编码数据的包 –decoder–> 解码的帧 –encoder–> 编码的数据的包 –muxer–> 音视频文件
大的过程是一样的,因为音视频作为一种数据结构,一种数据结构,可能能够决定处理的流程。
音视频文件最外层是一个容器, 容器里可以有不同的数据,比如音频数据,视频数据,字幕数据等等,它只负责打包,便于将它们一块传输。而每一种数据,有自己的编码格式,这编码可能是为了压缩,也可能是为了加密。说道加密, 容器是不是也可以加密呢?
明天: 每天一点点音视频相关_ffmpeg解包数据示例