ffmpeg整体结构

整体结构

整体结构如图所示

模块

  1. AVUtil:核心工具库,该模块是最基础的模块,许多其他的模块都会依赖该库做一些基本的音视频处理。
  2. AVFormat:文件格式和协议库,该模块是最重要的模块之一,封装了Protocol层和Demuxer,Muxer层,使得协议和格式对于开发者来说是透明的。
  3. AVCodec:编解码库,最重要的模块之一,封装了Codec层。但是有些Codec是具备自己license的,FFmpeg不会默认添加libx264,FDK-AAC,lame等库,但是FFmpeg就像一个平台,可以将其他的第三方库的codec以插件的形式添加进来,然后为开发者提供统一的接口。
  4. AVFilter:音视频滤镜库,该模块提供来包括音频特效和视频特效的处理。
  5. AVDevice:输入输出设备库,该设备模块播放声音和播放视频使用的是libSDL库。
  6. SwrResample:音频重采样库,提供对数字音频进行声道数,数据格式,采样率等多种基本信息的转换。
  7. SWScale:图像格式转换库,该模块提供图像格式转换,比例缩放等功能,比如YUV与RGB的数据转换。
  8. PostProc:后期效果处理,使用AVFilter的时候需要打开该模块的开关,因为Filter中会使用到该模块的一些基础函数。

本文来自博客园,作者:faithlocus,转载请注明原文链接:https://www.cnblogs.com/faithlocus/p/15631445.html

原文地址:https://www.cnblogs.com/faithlocus/p/15631445.html