第1讲:FFmpeg 是什么?安装与环境配置

第1讲:FFmpeg 是什么?安装与环境配置
本讲目标理解 FFmpeg 是什么、能干什么在你的电脑上成功安装 FFmpeg跑通第一条 FFmpeg 命令一、FFmpeg 是什么一句话概括FFmpeg 是世界上最强大的开源音视频处理工具。它能做的事情包括但不限于场景用 FFmpeg 怎么做把 MKV 格式的视频转成 MP4一条命令把 2GB 的视频压缩到 500MB一条命令从视频中截取一段精彩片段一条命令把视频里的音频提取出来存为 MP3一条命令给视频加上文字或图片水印一条命令把视频片段转成 GIF 动图一条命令几乎所有视频处理软件格式工厂、剪映、PR 等底层都在用 FFmpeg。但它有一个缺点没有图形界面全靠命令行操作。这就是本专栏存在的意义——带你一条一条命令掌握它。二、几个必须搞懂的名词一句话版在正式开始之前先搞清楚三个经常出现的词名词一句话解释容器​就是你看到的文件后缀名比如.mp4、.mkv、.avi。它像一个盒子里面装着视频和音频。编码​就是把视频压缩成数字信号的方式。常见的视频编码有 H.264、H.265音频编码有 AAC、MP3。转码​改变编码方式的过程。比如把一个视频从 H.265 转成 H.264因为后者兼容性更好。现在不理解没关系后面用到的时候会反复提到慢慢就熟了。三、安装 FFmpeg3.1 Windows 安装第一步下载打开浏览器访问 FFmpeg 官方下载页面https://ffmpeg.org/download.html点击 Windows 图标进入下载页面后找到Windows builds from gyan.dev​ 这个链接。在打开的页面中往下翻找到ffmpeg-release-full.7z​ 这个文件点击下载。如果官网访问慢可以用国内镜像Builds - CODEX FFMPEG gyan.dev第二步解压下载得到一个.7z压缩包用 7-Zip 或 WinRAR 解压到你想要的位置。比如解压到C:\ffmpeg解压后的目录结构应该是这样的C:\ffmpeg\ ├── bin\ │ ├── ffmpeg.exe │ ├── ffprobe.exe │ └── ffplay.exe ├── doc\ └── ...第三步配置环境变量右键此电脑​ →属性点击高级系统设置点击环境变量在系统变量​ 中找到Path双击打开点击新建输入C:\ffmpeg\bin点击确定关闭所有窗口第四步验证是否成功按Win R输入cmd回车打开命令行输入以下命令并回车ffmpeg -version如果看到类似下面的输出说明安装成功ffmpeg version 7.0.2 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 14.1.0 (Rev2, Built by MSYS2 project) configuration: --enable-gpl ... libavutil 59. 8.100 / 59. 8.100 ...如果提示ffmpeg 不是内部或外部命令说明环境变量没配好检查一下路径是否正确。3.2 macOS 安装macOS 推荐用 Homebrew 安装最简单brew install ffmpeg等待安装完成后验证ffmpeg -version3.3 Linux 安装Ubuntu/Debiansudo apt update sudo apt install ffmpegCentOS/RHELsudo yum install epel-release sudo yum install ffmpeg验证ffmpeg -version四、跑通第一条命令安装完成后我们来跑第一条 FFmpeg 命令。4.1 准备一个测试视频在桌面上新建一个文件夹命名为ffmpeg_test。找一个你电脑上的视频文件MP4、MOV 都行复制到这个文件夹里。如果没有现成的视频可以去网上下载一个短片或者用手机拍一段。4.2 查看视频信息打开命令行切换到测试文件夹cd Desktop\ffmpeg_test然后输入ffmpeg -i 你的视频文件名.mp4比如你的视频叫test.mp4ffmpeg -i test.mp4你会看到类似这样的输出Input #0, mov,mp4,m4a,3gp,3g2,mj2, from test.mp4: Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 Duration: 00:01:23.45, start: 0.000000, bitrate: 5821 kb/s Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 5423 kb/s, 30 fps, 30 tbr, 15360 tbn (default) Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 317 kb/s (default)这里面有很多信息但你现在只需要关注这几行信息含义Duration: 00:01:23.45视频时长 1 分 23 秒1920x1080分辨率是 1920×1080全高清Video: h264视频编码是 H.264Audio: aac音频编码是 AAC30 fps帧率是 30 帧/秒4.3 执行第一次转码现在我们把刚才那个视频转成另一种格式。把 MP4 转成 MKVffmpeg -i test.mp4 output.mkv你会看到命令行滚动输出信息等待它完成。完成后你会发现文件夹里多了一个output.mkv文件。恭喜你已经完成了第一次 FFmpeg 转码。五、常用参数速查这一讲先认识它们参数作用示例-i指定输入文件-i input.mp4-y覆盖输出文件不询问-y output.mp4-vn不要视频只保留音频-vn -acodec copy-an不要音频只保留视频-an -vcodec copy-t指定处理时长秒-t 10只处理前10秒-ss指定起始时间-ss 00:01:30从1分30秒开始现在不用记后面每讲都会反复用到用几次就记住了。六、本讲总结知识点掌握程度FFmpeg 是什么、能干什么✅ 已了解容器、编码、转码的概念✅ 初步了解Windows 安装与环境变量配置✅ 已完成macOS/Linux 安装✅ 已了解查看视频信息ffmpeg -i✅ 已实践执行第一次转码✅ 已实践七、课后练习找一个你电脑上的视频用ffmpeg -i查看它的信息看看分辨率、时长、编码格式分别是什么把这个视频从 MP4 转成 AVI 格式命令ffmpeg -i 你的视频.mp4 输出.avi对比一下转码前后的文件大小看看有什么变化遇到问题可以在评论区留言我会在 24 小时内回复。下一讲预告​ 视频格式转换——MP4 / MKV / MOV / WebM 随便转。