Windows 安装 FFmpeg 完整教程(附环境变量配置 + 常用命令示例)

前言

FFmpeg 是一款开源免费的音视频处理工具库,几乎是音视频开发领域的"瑞士军刀"。无论是视频转码、格式转换、裁剪拼接,还是提取音频、添加字幕,FFmpeg 都能通过命令行轻松搞定。

很多初学者在 Windows 上安装 FFmpeg 时卡在环境变量配置这一步,导致命令行里始终提示"不是内部或外部命令"。本文将从下载到验证,手把手带你完成整个安装流程,并附带常用命令示例,装完就能用。


一、下载 FFmpeg

1.1 访问官网

打开浏览器,访问 FFmpeg 官方下载页面:

https://ffmpeg.org/download.html

页面中列出了各平台的下载入口,找到 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 打开环境变量设置

  1. 按 Win + S 打开搜索,输入"环境变量"
  2. 点击"编辑系统环境变量"
  3. 在弹出的"系统属性"窗口中,点击右下角的 "环境变量(N)..." 按钮

3.2 编辑 Path 变量

在"环境变量"窗口中,找到下方的 "系统变量" 区域,找到名为 Path 的变量:

  1. 选中 Path,点击 "编辑(I)..."

  2. 在弹出的编辑窗口中,点击 "新建(N)"

  3. 将 FFmpeg 的 bin 目录路径粘贴进去:

    D:\ffmpeg-9.0-essentials_build\ffmpeg-9.0-essentials_build\bin

  4. 依次点击"确定"保存所有窗口

注意 :如果"用户变量"和"系统变量"中都有 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 不是内部或外部命令"

原因:环境变量未配置或配置错误。

解决:

  1. 检查环境变量路径是否指向 bin 目录(不是解压根目录)
  2. 确认路径正确,无多余空格
  3. 关闭旧命令行窗口,重新打开新的

Q2:配置环境变量后仍然不生效

原因:可能是路径拼写错误,或者系统环境变量缓存未刷新。

解决:

  1. 仔细��对路径,可以直接在文件资源管理器中复制路径粘贴
  2. 重启电脑后重试
  3. 在命令行中手动测试: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 的命令行参数非常丰富,本文列举的只是最常用的几个场景。更多用法可以参考官方文档:

https://ffmpeg.org/documentation.html

如果在安装或使用过程中遇到其他问题,欢迎在评论区交流。


关于作者:长期关注音视频处理与云原生技术领域,日常分享开发工具教程与实践经验。文章内容基于个人实操整理,如有疏漏欢迎指正。

相关推荐
牛马工作号5 小时前
Docker Compose 部署 FreeRADIUS:从 AAA 原理到 Windows 有线 802.1X 认证实战
windows·docker·容器
智能直播14 小时前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
李少兄21 小时前
Windows 11 环境下 BAT 脚本无法执行的排查与修复指南
windows
解道Jdon21 小时前
FigCraft把Figma用Rust从零重写了一遍
ide·windows·git·svn·eclipse·github·visual studio
zh73141 天前
Docker Desktop on Windows 挂载问题根因分析
windows·docker·容器
Surpass-HC1 天前
WSL2 windows-ubuntu
linux·windows·ubuntu
遇印记1 天前
网络安全,数据链路层,物理层
运维·服务器·网络·windows·学习
八月的雨季 最後的冰吻1 天前
FFmepg-- 42-ffplay.c 线程安全机制深度分析
c语言·安全·ffmpeg
mx_jun1 天前
Wireshark 蓝牙 HCI 日志分析常用操作速查
windows·microsoft·hci·bt
艾iYYY1 天前
思考: C++ 万能引用与完美转发
c++·windows·microsoft