FFmpeg 是领先的多媒体框架,能够解码、编码、 转码、复用、解复用、流、过滤和播放几乎所有人类和机器创建的东西。它支持最模糊的古老格式,直到最前沿。无论它们是由某个标准委员会、社区还是公司设计的。它还具有高度的可移植性:FFmpeg 可以 在各种构建环境、机器架构和配置下跨 Linux、Mac OS X、Microsoft Windows、BSD、Solaris 等 编译、运行;
它包含可供应用程序使用的 libavcodec、libavutil、libavformat、libavfilter、libavdevice、
libswscale 和 libswresample。还有ffmpeg、ffplay和ffprobe可供最终用户转码和播放。
- libavutil是一个包含用于简化编程的函数的库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等等。
- libavcodec是一个包含音频/视频编解码器的解码器和编码器的库。
- libavformat是一个包含用于多媒体容器格式的解复用器和复用器的库。
- libavdevice是一个包含输入和输出设备的库,用于抓取和渲染许多常见的多媒体输入/输出软件框架,包括 Video4Linux、Video4Linux2、VfW 和 ALSA
- libavfilter是一个包含媒体过滤器的库。
- libswscale是一个执行高度优化的图像缩放和色彩空间/像素格式转换操作的库。
- libswresample是一个执行高度优化的音频重采样、重矩阵化和样本格式转换操作的库。
- FFmpeg用于各种格式之间转换,裁剪、编辑音视频的一个命令行工具
- FFPlay 是基于SDL库与FFmpeg库的一个音视频播放器;
- FFProbe 是一个多媒体流分析器