音视频开发笔记
一、音视频基础知识
- 封装
- 解码
- 重采样
- 像素格式
二、封装格式
国际组织标准——MPEG-4(一套用于音视频压缩的编码标准)
其他封装格式:
- AVI 压缩标准可任意选择
- FLV ts 流媒体格式
- ASF 微软开发的压缩格式
- mp4 MPEG-4中定义好的封装格式
三、常用的编码格式
视频编码 (全部都是有损压缩)
帧外压缩(主流)
- H264(AVC Part10)
- wmv
- XviD(Part2)
帧内压缩(每一帧单独压缩)
- mjpeg(大多数摄像机直接出来的格式)
音频编码(分为有损压缩和无损压缩)
- acc、MP3 有损压缩,文件体积小
- ape、flac 无损压缩,文件体积大
四、音视频文件编码结构
- 封装头装包含解码必需的格式头(ffmpeg已经具有解析这些格式头的功能,了解格式头有助于编写自定义格式头解码程序)
- 音频帧和视频帧的帧率一般是不一致的
视频解码过程
YUV到RGB的转换过程开销较大,软解码兼容性好使用的较多
音频解码过程
解码完成后还需要进行音视频同步
五、视频文件解码流程
其中解码以及之前的部分主要由ffmpeg完成