2025-09-21 FFmpeg安装以及其使用方法(deepseek)
FFmpeg 是一个开源的、功能极其强大的多媒体处理工具集,被誉为“音视频处理的瑞士军刀”。它支持几乎所有音视频格式的转码、剪辑、合并、提取、流媒体处理、滤镜、分析等操作。
🌟 一、FFmpeg 是什么?
✅ 定义
FFmpeg 是一个跨平台的命令行工具和开发库,用于处理音频、视频、字幕、图片等多媒体文件。
它由多个组件组成:
ffmpeg:用于音视频转换和处理(最常用)ffprobe:用于分析音视频文件信息(如时长、分辨率)ffplay:简易音视频播放器(基于 SDL)libavcodec、libavformat等:底层开发库(供程序员调用)
✅ 核心能力
| 能力 | 说明 |
|---|---|
| 🔄 转码 | 将视频从 MP4 转为 AVI、MOV、WebM 等 |
| ✂️ 剪辑 | 截取片段、合并视频、裁剪画面 |
| 🎧 音频处理 | 提取音频、调整音量、降噪、混音 |
| 🖼️ 图片处理 | 视频转 GIF、截图、加水印 |
| 📊 分析 | 获取时长、分辨率、码率、帧率等元数据 |
| 📡 流媒体 | 推流到直播平台(如抖音、B站、YouTube) |
| 🎨 滤镜 | 调色、加字幕、模糊、缩放、旋转 |
📦 二、如何安装 FFmpeg?
✅ 方法 1:Windows 安装(推荐)
1. 下载
前往官网或推荐构建:
下载:
ffmpeg-git-full.7z(完整版,含ffprobe,ffplay)
2. 解压
解压到任意目录,例如:
D:\tools\ffmpeg
目录结构:
ffmpeg/
└── bin/
├── ffmpeg.exe
├── ffprobe.exe
└── ffplay.exe
3. 添加到系统环境变量 PATH
- 右键“此电脑” → 属性 → 高级系统设置 → 环境变量
- 在“系统变量”中找到
Path,点击“编辑” - 添加:
D:\tools\ffmpeg\bin - 保存
4. 验证安装
打开 新的命令提示符(cmd),输入:
ffmpeg -version
如果输出版本信息,说明安装成功 ✅
✅ 方法 2:macOS 安装
使用 Homebrew:
brew install ffmpeg
验证:
ffmpeg -version
✅ 方法 3:Linux 安装(Ubuntu/Debian)
sudo apt update
sudo apt install ffmpeg
验证:
ffmpeg -version
🧰 三、FFmpeg 的基本使用语法
ffmpeg [全局选项] [-i 输入文件] [输入选项] [输出选项] 输出文件
⚠️ 注意:选项顺序很重要!
-i之前是全局选项,-i之后是输入/输出选项。
🚀 四、FFmpeg 常用功能与命令示例
1. 🔁 视频格式转换(MP4 → AVI)
ffmpeg -i input.mp4 output.avi
2. ✂️ 截取视频片段(从第 10 秒开始,持续 30 秒)
ffmpeg -i input.mp4 -ss 10 -t 30 -c copy output.mp4
-ss 10:从第 10 秒开始-t 30:持续 30 秒-c copy:不重新编码,速度快
3. 🖼️ 视频转 GIF
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1" output.gif
fps=10:每秒 10 帧scale=480:-1:宽度 480,高度自动
4. 🎧 提取音频(MP4 → MP3)
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
-q:a 0:高质量音频-map a:只提取音频流
5. 📸 视频截图(第 5 秒截一张图)
ffmpeg -i input.mp4 -ss 5 -vframes 1 output.jpg
-vframes 1:只取 1 帧
6. 🔊 调整音量(放大 2 倍)
ffmpeg -i input.mp4 -af "volume=2.0" output.mp4
7. 🎞️ 合并多个视频
先创建 list.txt:
file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
然后合并:
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
8. 📊 获取视频信息(使用 ffprobe)
ffprobe -v quiet -show_format -show_streams input.mp4
输出:
- 时长、码率、分辨率、帧率、编码格式等
9. 📺 推流到直播平台(如抖音)
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://live.douyin.com/your-key
-re:按原始速度播放rtmp://...:抖音直播推流地址
10. 🎨 加水印
ffmpeg -i input.mp4 -i watermark.png -overlay=10:10 output.mp4
overlay=10:10:水印放在左上角 10,10 位置
🔍 五、FFmpeg 的详细功能分类
| 类别 | 功能 |
|---|---|
| 输入/输出 | 支持 MP4, AVI, MOV, MKV, FLV, WebM, MP3, AAC, JPG, PNG, GIF 等数百种格式 |
| 编解码 | H.264, H.265 (HEVC), VP9, AV1, AAC, MP3, Opus 等 |
| 滤镜(Filters) | 缩放、裁剪、旋转、调色、模糊、字幕、去水印、降噪 |
| 流处理 | RTMP, HLS, DASH, SRT, RTP 等流媒体协议 |
| 硬件加速 | 支持 NVIDIA (NVENC), Intel (QSV), AMD (AMF) 硬件编码 |
| 元数据操作 | 读取/修改 creation_time, title, artist, copyright 等 |
| 字幕处理 | 添加 SRT、ASS 字幕,硬字幕/软字幕 |
| 音频处理 | 混音、变速、变调、声道分离、降噪 |
🧪 六、在编程中使用 FFmpeg
Node.js 示例(使用 fluent-ffmpeg)
npm install fluent-ffmpeg
const ffmpeg = require('fluent-ffmpeg');
// 设置路径(如果没加到 PATH)
ffmpeg.setFfmpegPath('D:/tools/ffmpeg/bin/ffmpeg.exe');
ffmpeg.setFfprobePath('D:/tools/ffmpeg/bin/ffprobe.exe');
// 转换视频
ffmpeg('input.mp4')
.output('output.avi')
.on('end', () => console.log('✅ 转换完成'))
.run();
// 获取视频信息
ffmpeg.ffprobe('input.mp4', (err, metadata) => {
console.log('时长:', metadata.format.duration, '秒');
});
⚠️ 七、注意事项
-
路径空格问题:文件路径含空格时用引号包裹:
ffmpeg -i "my video.mp4" output.mp4 -
编码耗时:不加
-c copy会重新编码,非常慢 -
硬件加速:大视频建议使用
-c:v h264_nvenc(NVIDIA) -
版权问题:不要用于盗版或非法内容处理
🏁 八、总结
| 项目 | 内容 |
|---|---|
| 📦 名称 | FFmpeg |
| 🧰 核心工具 | ffmpeg, ffprobe, ffplay |
| 💡 用途 | 音视频转码、剪辑、分析、流媒体、滤镜等 |
| 🖥️ 支持平台 | Windows, macOS, Linux, Android, iOS |
| 📚 学习资源 | https://ffmpeg.org/documentation.html |
| 🧑💻 开发者 | 音视频工程师、爬虫开发者、自动化脚本编写者 |
🎯 一句话总结:
FFmpeg 是处理音视频的“终极武器”,无论你是想转格式、剪视频、提音频、推直播,它都能帮你一键搞定。
如果你正在做视频下载、分析、转码、自动化,FFmpeg 是必不可少的工具 ✅
================ 2025-09-22 ================
如果把ffprobe设置到环境变量里并且cmd查找ffprobe的版本也能成功版本号,却无法在项目里使用,并且报错:Cannot find ffprobe
那么你尝试关闭一下你的编译器,实在不行就重启一下电脑,再试一下,没准会有个惊喜在等着你。

浙公网安备 33010602011771号