在日常使用电脑的过程中,我们经常需要处理视频文件。尤其是 MP4 格式的视频,虽然画质不错,但体积往往较大,不利于传输或存储。这时,我们就需要进行视频压缩。
本文中简鹿办公将介绍如何使用一款强大且免费的工具 - FFmpeg,通过命令行方式压缩 MP4 视频文件,帮助你在不明显损失画质的前提下,大幅减小视频体积。
一、什么是 FFmpeg?
FFmpeg 是一个开源的多媒体处理工具,支持几乎所有常见的音视频格式。它不仅可以用来压缩视频,还能转换格式、裁剪片段、提取音频等。它的核心优势在于:
✅ 免费、开源
✅ 支持 Windows、Mac 和 Linux 系统
✅ 功能强大,操作灵活
✅ 压缩效率高,画质可控
二、为什么要用 FFmpeg 压缩 MP4 视频?
优点 说明
💾 减小文件体积 轻松将几百MB甚至几GB的视频压缩到几十MB
🖼️ 控制画质 可根据需求选择画质等级,平衡清晰度与大小
⚙️ 批量处理 支持批量压缩多个视频,节省时间
🧑💻 高度自定义 通过修改参数可适应不同场景需求
三、安装 FFmpeg
访问官网 https://www.gyan.dev/ffmpeg/builds/ 后根据自己的电脑系统下载对应的版本后进行安装部署到系统中即可使用。
四、实操教程:使用 FFmpeg 压缩 MP4 视频
目标:将一个 500MB 的 MP4 视频压缩为更小的体积,同时保持可接受的画质。
方法 1:使用 CRF 参数控制画质压缩
CRF(Constant Rate Factor)是 H.264 编码器中用于控制视频质量的一个参数,值越小画质越高,体积越大。
示例命令:
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset fast -c:a aac -b:a 128k output.mp4
参数解释:
- -i input.mp4:输入视频文件名
- -c:v libx264:使用 H.264 编码器压缩视频
- -crf 28:设置质量因子,推荐范围 18~28,默认是 23
- -preset fast:压缩速度预设,可选 ultrafast, superfast, veryfast, faster, fast...
- -c:a aac:使用 AAC 编码处理音频
- -b:a 128k:设置音频比特率为 128kbps
- output.mp4:输出文件名
🔍 小技巧:你可以尝试不同的 CRF 值,比如 23 是“原画质”,28 是“较低画质但体积小”。
方法 2:指定目标文件大小(适合限制上传大小)
如果你想压缩成接近某个特定大小,例如压缩到 50MB:
示例命令:
ffmpeg -i input.mp4 -target ntsc-dvd -fs 50M output.mp4
- -target ntsc-dvd:设定目标编码标准(可选)
- -fs 50M:最大文件大小为 50MB(可以改为其他数值)
方法 3:调整分辨率来减小体积(适合手机观看)
降低视频分辨率也能显著减小体积,比如从1080p降到720p:
示例命令:
ffmpeg -i input.mp4 -vf scale=1280:720 -c:a copy output.mp4
- -vf scale=1280:720:将视频尺寸缩小为 1280×720 像素
- -c:a copy:直接复制音频流,不重新编码,加快速度
五、进阶技巧
1. 批量压缩多个视频(Windows)
假设你有一堆 .mp4 文件放在一个文件夹里,可以使用以下批处理命令:
for %i in (*.mp4) do ffmpeg -i "%i" -crf 28 "compressed_%~ni.mp4"
这个命令会对当前目录下所有 .mp4 文件进行压缩处理,并以 compressed_ 开头命名新文件。
2. 查看视频信息
想了解视频的原始参数(如码率、分辨率、帧率等):
ffmpeg -i input.mp4
六、总结
使用 FFmpeg 进行 MP4 视频压缩是一种既高效又灵活的方式。无论是为了减少空间占用、提升传输效率,还是适配移动设备播放,FFmpeg 都能提供强大的支持。
当然,除了使用 FFmpeg 这种命令行方式对视频可以有效转换或压缩外,我们为了方便还可以使用简鹿视频格式转换器进行压缩或转换视频。也可以使用一些基于 FFmpeg 的软件(如 HandBrake、格式工厂等),但掌握基本的 FFmpeg 命令,会让你在视频处理方面更加得心应手。