使用 FFmpeg 压缩 MP4 视频

软件工具   2025-06-11 21:27   6   0  

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