乐趣区

FFmpeg组织结构

学习 ffmpeg 之前,我们应该对 ffmpeg 的组织结构有一个大体的了解。
ffmpeg 安装好之后,使用 cd /usr/local/ffmpeg 命令进入到 ffmpeg 目录下,会看到 ffmpeg 的 4 个 主要目录。

  • bin
  • include
  • lib
  • share

下面是 ffmpeg 的组织结构图:

一、bin 目录

bin 目录下主要是编译好的三个工具,ffmpegffplayffprobe
ffmpeg主要是提供对音视频进行 抽取 滤镜 裁剪 等等各种操作的。
ffplay主要提供音视频的播放。
ffprobe主要是查看音视频的各种信息的。

二、include 目录构成和说明

下方是 ffmpeg 的 include 目录下的组织结构和说明。

目录 说明
libavcodec 提供了一系列编码器的实现
libavformat 实现在流协议,容器格式及其基本 IO 访问。
libavutil 包括了 hash 器,解码器和各种工具函数。
libavfilter 提供了各种音视频过滤器。
libavdevice 提供了访问捕获设备和回放设备的接口。
libswresample 实现了混音和重采样。
libswscale 实现了色彩转换和缩放功能。

三、lib 目录

lib目录下的文件,基本上 include 目录下对应文件的 .a & dylib 文件。
lib目录下的内容如下入所示:

四、share 目录

share 目录下又分为 ffmpegman两个目录。
ffmpeg有一个重要的目录 examples,里面有一些示例代码,学习者可以拜读借鉴。
man 目录下有 man1man3,不知道具体是干什么的。

退出移动版