你瞅啥呢

2025-09-21 FFmpeg安装以及其使用方法(deepseek)

FFmpeg 是一个开源的、功能极其强大的多媒体处理工具集,被誉为“音视频处理的瑞士军刀”。它支持几乎所有音视频格式的转码、剪辑、合并、提取、流媒体处理、滤镜、分析等操作。


🌟 一、FFmpeg 是什么?

✅ 定义

FFmpeg 是一个跨平台的命令行工具和开发库,用于处理音频、视频、字幕、图片等多媒体文件。

它由多个组件组成:

  • ffmpeg:用于音视频转换和处理(最常用)
  • ffprobe:用于分析音视频文件信息(如时长、分辨率)
  • ffplay:简易音视频播放器(基于 SDL)
  • libavcodeclibavformat 等:底层开发库(供程序员调用)

✅ 核心能力

能力 说明
🔄 转码 将视频从 MP4 转为 AVI、MOV、WebM 等
✂️ 剪辑 截取片段、合并视频、裁剪画面
🎧 音频处理 提取音频、调整音量、降噪、混音
🖼️ 图片处理 视频转 GIF、截图、加水印
📊 分析 获取时长、分辨率、码率、帧率等元数据
📡 流媒体 推流到直播平台(如抖音、B站、YouTube)
🎨 滤镜 调色、加字幕、模糊、缩放、旋转

📦 二、如何安装 FFmpeg?

✅ 方法 1:Windows 安装(推荐)

1. 下载

前往官网或推荐构建:

🔗 https://www.gyan.dev/ffmpeg/builds/

下载:

  • ffmpeg-git-full.7z(完整版,含 ffprobe, ffplay

2. 解压

解压到任意目录,例如:

D:\tools\ffmpeg

目录结构:

ffmpeg/
 └── bin/
      ├── ffmpeg.exe
      ├── ffprobe.exe
      └── ffplay.exe

3. 添加到系统环境变量 PATH

  1. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量
  2. 在“系统变量”中找到 Path,点击“编辑”
  3. 添加:
    D:\tools\ffmpeg\bin
    
  4. 保存

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, '秒');
});

⚠️ 七、注意事项

  1. 路径空格问题:文件路径含空格时用引号包裹:

    ffmpeg -i "my video.mp4" output.mp4
    
  2. 编码耗时:不加 -c copy 会重新编码,非常慢

  3. 硬件加速:大视频建议使用 -c:v h264_nvenc(NVIDIA)

  4. 版权问题:不要用于盗版或非法内容处理


🏁 八、总结

项目 内容
📦 名称 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
那么你尝试关闭一下你的编译器,实在不行就重启一下电脑,再试一下,没准会有个惊喜在等着你。

posted @ 2025-09-21 12:22  叶乘风  阅读(1458)  评论(0)    收藏  举报