第二章
FFmpeg “八大金刚”核心开发库。
- AVUtil
核心工具库,用于辅助实现可移植的多媒体编程。包含安全的可移植的字符串函数,随机数生成器,附加的数学函数,密码学和多媒体相关的功能函数。 - AVFormat 协议及容器封装库。该库封装了协议层(Protocol 协议,包括文件的数据来源,I/O操作方式等)和媒体格式容器层(Muxer/Demuxer 复用/解复用,媒体文件的封装和解封装方式)。AVFormat库支持多种输入和输出协议(FILE、HTTP、UDP、RTMP等),以及多种媒体容器格式(MP4,RMVB等)。
- AVCodec
编解码库,封装了编解码层(Codec),提供了一个通用的编码/解码框架,包含了用于音频、视频和字幕流的多个编码器和解码器。也可以将其他的第三方的编解码器以插件形式加入(如x264,x265等)。 - AVFilter
滤镜库,提供了一个通用的可对音频/视频进行过滤处理的框架,其中包含过滤器,数据源和接收器的概念。 - Postproc
后处理库,包括对于音频/视频文件进行后期处理的常用操作例如隔行滤波,去噪滤波、锐化滤波等,可以用于增强视频的清晰度、减少噪点和伪影等。常与AVFilter库一起使用,新版本已经移除。 - AVDevice
设备库,提供了一个通用框架,用于对许多常见的多媒体I/O设备进行抓取和渲染。 - SWresample
音频处理库,用于处理音频,可以执行音频的重采样、重矩阵化和样本格式转换等操作。 - SWscale
图像转换库,用于处理图像,可以执行图像缩放,色彩空间和像素格式转换等操作。