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