1 FFmpeg
音视频编解码开源项目,堪称自由软件中最完备的一套多媒体支持库,几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器。
FF: Fast Forward
深入学习可参考雷神博客:http://blog.csdn.net/leixiaohua1020/article/details/15811977/
2 FFMPEG从功能上划分为几个模块:
- 核心工具(libavutils):提供公用的功能函数
- 媒体格式(libavformat):实现多媒体文件的读包和写包
- 编解码(libavcodec):完成音视频的编解码
- 设备(libavdevice):管理音视频设备的操作
- 后处理(libavfilter, libswscale, libpostproc):进行音视频后处理。
(目前音视频封装仅使用到libavutils、libavformat、libavcodec中的内容)
3 FFMPEG 关键结构体说明
- ① 解封装(flv,avi,rmvb,mp4,ts)
AVFormatContext:主要存储视音频封装格式中包含的信息
AVInputFormat:存储输入视音频使用的封装格式。每种视音频封装格式都对应一个