FFmpeg 是一套跨平台的开源音视频工具链,主要通过命令行完成录制、转换、处理和流媒体传输,也提供可供其他程序调用的多媒体库。截至 2026 年 8 月 25 日核对,FFmpeg 官方下载页列出的最新稳定版本为 9.0.1,发布日期为 2026 年 8 月 12 日。需要先分清一个重要边界:FFmpeg 官方项目主要发布源码,Windows、macOS 和 Linux 的可执行文件由下载页列出的第三方构建项目提供;核心代码采用 LGPL 2.1 或更高版本,启用部分 GPL 组件后会产生不同的合规要求。

FFmpeg 不是以时间线和按钮为中心的桌面剪辑器,而是把输入、解码、滤镜、编码、封装和输出串成可复用的处理流程。它适合脚本化批量处理、媒体信息检查、格式转换、流复制、画面或声音滤镜,以及需要精确控制参数的开发和制作场景;如果只想拖入文件后点几下完成任务,则需要额外寻找基于 FFmpeg 的图形界面程序。
FFmpeg 的三条使用主线:ffmpeg、ffprobe 与 ffplay
官方文档把命令行工具分成三个互补入口。它们共享 FFmpeg 的库和部分通用选项,但用途不同,不能把“安装了 FFmpeg”简单理解成只有一个播放器或转换器。
- ffmpeg:负责读取一个或多个输入,进行解码、滤镜、编码、封装、流复制和输出,也可以面向录制设备或网络流。
- ffprobe:只读分析媒体容器和其中的音频、视频、字幕等流,适合在处理前确认编码、分辨率、时长、元数据和流数量。
- ffplay:使用 FFmpeg 与 SDL 库的轻量播放器,官方文档将它定位为便携的媒体播放器和 API 测试工具;它不是 FFmpeg 主体的图形化替代品。
命令行工作流:先理解输入、流和输出
ffmpeg 的基本语法是先写输入选项和 -i 输入,再写输出选项和输出路径。官方文档特别提醒,大多数选项只作用于它后面紧邻的输入或输出,因此选项顺序、输入数量和输出数量都会影响结果。
普通转码
ffmpeg -i input.avi output.mp4
这条官方示例会读取 AVI 输入并重新编码到 MP4。实际使用时,输出容器、视频编码器、音频编码器、码率和兼容目标要一起考虑;仅修改扩展名并不能保证输入流适合目标容器。
只复制指定流
ffmpeg -i INPUT.mkv -map 0:1 -c copy OUTPUT.mp4
-map 0:1 选择第一个输入中的第二条流,-c copy 让 FFmpeg 不解码、不重新编码而直接复制数据包。流复制通常更快且不会引入重新编码损失,但目标容器是否接受该流、时间戳和元数据仍需单独确认。
滤镜与复杂流程:何时必须重新编码
当任务涉及缩放、去隔行、叠加、调色、音频重采样或混音时,FFmpeg 需要把压缩数据解码成帧,经过滤镜后再交给编码器;这与只改容器或选择流的 -c copy 不是同一条路径。官方文档将单输入单输出的滤镜链归为简单滤镜图,视频和音频分别常用 -vf、-af,多输入、多输出或跨流组合则使用 -filter_complex。
ffmpeg -i video.mkv -i image.png -filter_complex "overlay" out.mkv
上面的官方示例把图片叠加到视频上,真正运行时还要根据输入尺寸、像素格式、输出容器和编码器调整参数。复杂滤镜图的输入输出标签、-map 选择和流类型必须对应,不能把示例中的文件名、编码器或滤镜链直接套到所有素材上。

获取 9.0.1:源码与第三方构建要分开看
FFmpeg 官方下载页明确说明,项目本身提供源码,已编译的可执行文件由外部项目维护。源码下载区域提供 9.0.1 的压缩包和 PGP 签名,适合需要自行编译、审查配置或把 FFmpeg 集成到开发流程中的用户;同一页面还分别列出 Linux 软件包、Windows 构建和 macOS 静态构建入口。
Windows 用户常见的 Gyan.dev 和 BtbN 构建不是 FFmpeg 官方直接打包的安装程序,而是官方页面列出的第三方分发渠道。构建项目可能提供 essentials、full、shared、静态包或包管理器入口,内置库、架构、压缩格式和更新节奏可能不同。下载前应先确认构建者、版本、校验值、包含的编码器和系统要求,不要把第三方构建页写成 FFmpeg 官方二进制仓库。
本次本机操作使用的是 Gyan.dev 的 8.1.2 full build,仅用于验证命令格式和滤镜输出;文章记录的 9.0.1 是官方页面截至 2026 年 8 月 25 日列出的稳定源码版本,两者不能混写成同一个构建。
许可证与商业集成:LGPL、GPL 和专利边界
FFmpeg 官方法律页面说明,项目采用 LGPL 2.1 或更高版本,但其中若干可选部分和优化采用 GPL 2 或更高版本;如果使用这些 GPL 部分,整体 FFmpeg 会受到 GPL 约束。官方还明确表示 FFmpeg 不提供另一套专有或商业授权,不能因为购买某个构建包就把上游项目当作闭源商业组件。
如果只是个人处理本地媒体,主要关注来源和构建完整性;如果把 FFmpeg 链接进自己的软件、修改后再分发或随产品提供二进制,则需要按实际配置核对动态链接、源码对应关系、修改记录、许可证文本和关于框说明。FFmpeg 官方页面给出的合规清单只是帮助理解的路径,不是针对具体产品的法律意见。
编码格式还可能涉及不同法域的专利或其他权利,是否可以在商业产品中使用某种编码器,不能只看 FFmpeg 的 LGPL/GPL 字样。涉及商业发布、硬件设备、在线转码服务或再分发时,应让熟悉目标市场和具体格式的专业人士复核。
初次使用路径:先探测,再决定复制还是转码
- 获取:需要源码时从 FFmpeg 官方下载页进入;需要可执行文件时从官方页面列出的构建项目选择,并保存版本、校验值和构建说明。
- 探测:先用
ffprobe查看容器、流、编码和元数据,避免在不知道输入结构的情况下盲目写参数。 - 选择路径:只需要调整流数量、容器或部分元数据时,可研究
-map与-c copy;需要滤镜、缩放、混音或更换编码器时,再设计转码流程。 - 确认结果:输出后再次用
ffprobe检查流和关键元数据;需要快速查看时可用ffplay,但最终兼容性仍应以目标设备或平台的实际要求为准。
这条路径的价值在于先确定输入事实,再决定命令,而不是把网上某条长命令直接粘贴到所有文件上。Windows、macOS、Linux 的 shell 转义、路径写法和硬件加速接口也可能不同;出现报错时,先拆分输入、滤镜、编码器和输出容器,通常比一次性更换整套构建更容易定位原因。
官方入口
- FFmpeg 官方下载页:https://ffmpeg.org/download.html
- FFmpeg 官方文档总页:https://ffmpeg.org/documentation.html
- ffmpeg 命令行工具文档:https://ffmpeg.org/ffmpeg.html
- ffprobe 媒体信息探测文档:https://ffmpeg.org/ffprobe.html
- ffplay 播放器文档:https://ffmpeg.org/ffplay.html
- FFmpeg 滤镜文档:https://ffmpeg.org/ffmpeg-filters.html
- FFmpeg 官方许可证与法律说明:https://ffmpeg.org/legal.html
- Windows 构建(Gyan.dev):https://www.gyan.dev/ffmpeg/builds/
- BtbN Windows 构建与 Releases:https://github.com/BtbN/FFmpeg-Builds/releases














暂无评论内容