《FFmpeg入门详解——SDK二次开发与直播美颜原理及应用》读书笔记

244 阅读2分钟

第二章

FFmpeg “八大金刚”核心开发库。

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