FFmpeg 是一套开源的多媒体框架,用于处理音频、视频、字幕及相关元数据。项目由 Fabrice Bellard 和 Bobby Bingham 发起,于 2000 年 12 月 20 日首次发布,名称中的“FF”代表 Fast Forward。
FFmpeg 的核心是一个命令行工具集,配合一系列开发库,完成解码、编码、转码、复用、解复用、流传输、滤镜和播放等任务。它面向开发者、运维人员、视频创作者以及需要批量或自动化处理音视频的用户,也作为底层依赖被大量播放器、转码软件和视频网站使用。
核心功能
格式转换与转码:支持 H.264、H.265/HEVC、VP9、AV1、AAC、MP3、Opus 等主流编解码器,以及 MP4、MKV、WebM、FLV 等容器格式之间的转换与重新封装。
音视频编辑与处理:可完成剪辑、拼接、压缩、截图、添加水印、调整分辨率与码率等常见操作,也支持通过滤镜链进行色彩转换、缩放、去噪等处理。
流媒体与直播:支持 RTMP、HLS、DASH 等流媒体协议,可用于推流、拉流和直播场景。
设备采集与录制:可以从摄像头、采集卡、屏幕等设备采集音视频,并支持将采集内容实时编码推送到流媒体服务器。
分析工具:
ffprobe用于分析多媒体流的格式、编码参数和元数据,便于排查文件问题或编写自动化脚本。滤镜系统:通过简单滤镜(
-vf、-af)或复杂滤镜图(-filter_complex)实现灵活的音视频处理管线。
软件特色
FFmpeg 最突出的特点是“格式覆盖极广”。它既能处理冷门的老旧格式,也跟进最新的编码标准,几乎所有人类和机器创造的媒体格式都在其支持范围内。
命令行驱动是其另一个鲜明特征。所有功能通过参数组合完成,适合脚本化和批处理,一次编写即可重复执行大量文件的处理任务,不需要逐个图形界面操作。对于不习惯命令行的用户,也存在大量基于 FFmpeg 的图形化前端工具,但 FFmpeg 本体始终以命令行工具为核心。
项目本身高度可移植,除了常见的桌面系统,还能在 BSD、Solaris 以及多种硬件架构上编译运行。2026 年的 9.0 系列进一步引入了 Animated WebP、Vulkan/CUDA 滤镜加速以及对更多硬件编码器的支持。
支持平台
Windows
macOS
Linux
其他:BSD、Solaris 等,覆盖 x86、ARM、PowerPC、MIPS 等多种架构
收费方式
开源免费。
开源情况
FFmpeg 的大部分文件采用 GNU Lesser General Public License v2.1 或更高版本(LGPL-2.1+);部分可选组件采用 GNU General Public License v2 或更高版本(GPL-2.0+),具体取决于编译时启用的功能。源代码托管于 GitHub。















