前言
FFmpeg 是一款开源免费的音视频处理工具库,几乎是音视频开发领域的"瑞士军刀"。无论是视频转码、格式转换、裁剪拼接,还是提取音频、添加字幕,FFmpeg 都能通过命令行轻松搞定。
很多初学者在 Windows 上安装 FFmpeg 时卡在环境变量配置这一步,导致命令行里始终提示"不是内部或外部命令"。本文将从下载到验证,手把手带你完成整个安装流程,并附带常用命令示例,装完就能用。
一、下载 FFmpeg
1.1 访问官网
打开浏览器,访问 FFmpeg 官方下载页面:
页面中列出了各平台的下载入口,找到 Windows 图标并点击。

1.2 选择构建来源
点击 Windows 图标后,页面会展示几个第三方构建源。推荐选择 Windows builds from gyan.dev,这是社区最常用的 Windows 预编译版本,更新及时且稳定。

1.3 选择版本
进入 gyan.dev 构建页面后,找到 release builds 区域。这里通常有两个版本可选:
| 版本 | 说明 | 大小 | 适用场景 |
|---|---|---|---|
| ffmpeg-release-essentials | 精简版,包含核心编解码器 | 约 33 MB | 日常使用,体积小、够用 |
| ffmpeg-release-full | 完整版,包含全部编解码器和滤镜 | 较大 | 需要特殊编解码器或高级滤镜 |
建议 :大多数场景下选 essentials 即可,如果后续遇到不支持的编码格式,再换 full 版本。

点击 ffmpeg-release-essentials.7z 下载,文件约 33 MB。
二、解压安装
2.1 解压压缩包
下载完成后,你会得到一个 .7z 压缩包。使用 7-Zip、Bandizip 或其他解压工具将其解压到目标目录。
本文以解压到 D:\ffmpeg-9.0-essentials_build 为例:
D:\ffmpeg-9.0-essentials_build\
└── ffmpeg-9.0-essentials_build\
├── bin\ ← 可执行文件目录(重要)
│ ├── ffmpeg.exe
│ ├── ffplay.exe
│ └── ffprobe.exe
├── doc\
├── include\
├── lib\
└── presets\
提示:解压路径尽量不要包含中文或空格,避免某些脚本调用时出现编码问题。
2.2 确认可执行文件
进入 bin 目录,你会看到三个核心可执行文件:
- ffmpeg.exe:主程序,负责音视频编解码、转码、推流等
- ffplay.exe:简易播放器,可快速预览音视频
- ffprobe.exe:媒体信息分析工具,可查看视频分辨率、码率、编码格式等
记住 bin 目录的完整路径,下一步配置环境变量时需要用到:
D:\ffmpeg-9.0-essentials_build\ffmpeg-9.0-essentials_build\bin
三、配置环境变量
配置环境变量的目的是让系统在任意目录下都能识别 ffmpeg 命令。
3.1 打开环境变量设置
- 按
Win + S打开搜索,输入"环境变量" - 点击"编辑系统环境变量"
- 在弹出的"系统属性"窗口中,点击右下角的 "环境变量(N)..." 按钮
3.2 编辑 Path 变量
在"环境变量"窗口中,找到下方的 "系统变量" 区域,找到名为 Path 的变量:
-
选中
Path,点击 "编辑(I)..." -
在弹出的编辑窗口中,点击 "新建(N)"
-
将 FFmpeg 的
bin目录路径粘贴进去:D:\ffmpeg-9.0-essentials_build\ffmpeg-9.0-essentials_build\bin
-
依次点击"确定"保存所有窗口

注意 :如果"用户变量"和"系统变量"中都有
Path,建议添加到"系统变量"的Path中,这样所有用户都能使用。
四、验证安装
4.1 重新打开命令行
环境变量修改后,必须重新打开一个新的命令行窗口才能生效。已经打开的旧窗口不会自动刷新。
按 Win + R,输入 cmd,回车打开新的命令提示符窗口。
4.2 执行验证命令
输入以下命令:
bash
ffmpeg -version
如果安装成功,你将看到类似输出:
ffmpeg version 9.0-essentials_build Copyright (c) 2000-2026 the FFmpeg developers
built with gcc 14.2.0 (Rev2, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 ...
libavutil 59. 0.100 / 59. 0.100
libavcodec 61. 0.100 / 61. 0.100
libavformat 61. 0.100 / 61. 0.100
libavdevice 61. 0.100 / 61. 0.100
libavfilter 10. 0.100 / 10. 0.100
...
看到版本号输出,说明 FFmpeg 已成功安装并配置完毕!
可以再验证一下另外两个工具:
bash
ffplay -version
ffprobe -version
五、FFmpeg 常用命令示例
安装完成后,这里分享几个日常最常用的 FFmpeg 命令,帮助你快速上手。
5.1 视频格式转换
将 MKV 转为 MP4(最常见的需求):
bash
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
-c:v copy -c:a copy表示直接复制音视频流,不重新编码,速度极快且无质量损失。前提是目标格式支持原始编码。
如果需要重新编码(如 H.265 → H.264):
bash
ffmpeg -i input.mkv -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4
5.2 提取音频
从视频中提取音频并保存为 MP3:
bash
ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3
-vn:不要视频-q:a 2:音频质量(0-9,0 最高质量)
5.3 视频裁剪
截取视频的第 10 秒到第 30 秒:
bash
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c copy output.mp4
-ss:开始时间-to:结束时间
5.4 视频压缩
降低分辨率和码率来压缩视频体积:
bash
ffmpeg -i input.mp4 -vf scale=1280:720 -crf 28 -preset slow output.mp4
scale=1280:720:缩放到 720p-crf 28:质量系数(18-28,数值越大压缩率越高)-preset slow:编码速度(越慢压缩率越高)
5.5 查看媒体信息
bash
ffprobe -v error -show_format -show_streams input.mp4
这条命令会输出视频的完整信息,包括编码格式、分辨率、帧率、码率、时长等。
5.6 视频拼接
先创建一个 filelist.txt:
file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'
然后执行:
bash
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
拼接时要求各视频的编码格式、分辨率、帧率一致,否则需要去掉
-c copy重新编码。
六、常见问题
Q1:提示"ffmpeg 不是内部或外部命令"
原因:环境变量未配置或配置错误。
解决:
- 检查环境变量路径是否指向
bin目录(不是解压根目录) - 确认路径正确,无多余空格
- 关闭旧命令行窗口,重新打开新的
Q2:配置环境变量后仍然不生效
原因:可能是路径拼写错误,或者系统环境变量缓存未刷新。
解决:
- 仔细��对路径,可以直接在文件资源管理器中复制路径粘贴
- 重启电脑后重试
- 在命令行中手动测试:
D:\ffmpeg-9.0-essentials_build\ffmpeg-9.0-essentials_build\bin\ffmpeg.exe -version,如果这条能执行,说明文件没问题,是环境变量的路径不对
Q3:下载的 .7z 文件无法解压
原因:Windows 自带工具不支持 .7z 格式。
解决 :安装 7-Zip(免费开源)或 Bandizip 等解压工具。
Q4:essentials 版本缺少需要的编解码器
原因:精简版未包含某些非主流编解码器。
解决 :重新下载 full 版本替换即可,环境变量路径不需要改。
Q5:ffplay 无法打开,提示缺少 SDL2
原因:部分精简构建可能未包含 ffplay 所需的 SDL2 库。
解决:下载 full 版本,或单独安装 SDL2 运行时库。如果只需要转码功能,不影响 ffmpeg 主程序使用。
七、总结
整个安装流程可以概括为四步:
下载 → 解压 → 配置环境变量 → 验证
| 步骤 | 关键操作 |
|---|---|
| 下载 | 官网 → Windows → gyan.dev → release essentials |
| 解压 | 解压到无中文无空格的目录 |
| 环境变量 | 将 bin 目录路径添加到系统 Path |
| 验证 | 新开 cmd 执行 ffmpeg -version |
FFmpeg 的命令行参数非常丰富,本文列举的只是最常用的几个场景。更多用法可以参考官方文档:
如果在安装或使用过程中遇到其他问题,欢迎在评论区交流。
关于作者:长期关注音视频处理与云原生技术领域,日常分享开发工具教程与实践经验。文章内容基于个人实操整理,如有疏漏欢迎指正。