FFmpeg项目的组成

主要由三个部分组成:

工具

  • ffmpeg:用于音视频转码、转换
  • ffplay:音视频播放器
  • ffserver:流媒体服务器
  • ffprobe:多媒体码流分析器

SDK

这个部分是供开发者使用的SDK,SDK是编译好的库。基本上每个平台都有对应的SDK。这个SDK包括以下这些库:

  1. libavcodec:音视频编码器和解码器。
  2. libavutil:编程工具,如随机数生成器、数据结构、数学函数等。
  3. libavformat:多种多媒体窗口格式的封装、解封装工具
  4. libavfilter:音视频滤镜库,如音频特效、视频特效
  5. libavdevice:输入输出设备库,与用于音视频数据的采集和渲染等功能的设备有关。
  6. libswscale:图像缩放、色彩空间和像素格式转换,如将YUV数据转换为RGB数据。
  7. libswresample: 用于音频重采样和格式转换,如对数字音频进行声道数、数据格式、采样率等多种基本信息进行转换。
  8. libpostproc:用于音视频数据后期处理

源码

无论是上面提供的工具还是SDK,它们的源代码都在工程中,都是由这些源代码编译出来的,FFmpeg是由C语言实现的,主要在Linux平台上进行开发。

FFmpeg源代码下载

你可能感兴趣的:(音视频开发,ffmpeg)