工具

/

使用 FFmpeg 压缩视频

最后更新时间:

2025-04-23

视频文件过大是导致网页加载缓慢的常见原因,尤其是在移动设备上。过大的视频会增加带宽消耗,延长页面加载时间,影响用户体验,甚至可能导致用户流失。

使用 FFmpeg 压缩视频 可以在保持较好画质的同时,显著减小文件体积,从而:

加快网页加载速度,提升用户体验

降低服务器带宽成本,减少流量消耗

适配移动端,确保流畅播放

兼容主流浏览器,无需额外插件

无论是个人网站、电商平台还是社交媒体,优化视频大小都能有效提高访问效率。本教程将详细介绍如何使用 FFmpeg 高效压缩视频,让您的网页更快、更流畅! 🚀

什么是 FFmpeg

FFmpeg 是一个开源的跨平台音视频处理工具集,它包含了用于录制、转换和流式传输音视频的完整解决方案。FFmpeg 支持几乎所有常见的音视频格式,并且具有强大的视频压缩能力。

FFmpeg 的主要特点包括:

  • 支持多种视频/音频编解码器
  • 高质量的视频压缩能力
  • 支持批量处理
  • 跨平台(Windows、Linux、macOS)
  • 命令行工具,易于集成到脚本中

压缩效果对比

使用 FFmpeg 压缩视频可以在保持较好画质的同时显著减小文件大小。以下是不同压缩设置的典型效果对比:

原始视频压缩设置文件大小画质评价
100MB (1080p)默认H.26430MB优秀
100MB (1080p)中等压缩15MB良好
100MB (1080p)高压缩5MB较差

实际压缩效果取决于原始视频内容、分辨率、帧率等因素。运动较少的视频通常能获得更好的压缩率。

安装 FFmpeg

Windows 安装方法

  1. 访问官方下载页面:https://ffmpeg.org/download.html
  2. 点击 "Windows builds" 链接
  3. 下载最新版本的静态版本(如 ffmpeg-release-full.7z)
  4. 解压文件到任意目录(如 C:\ffmpeg)
  5. 将 FFmpeg 的 bin 目录(如 C:\ffmpeg\bin)添加到系统 PATH 环境变量

macOS 安装方法

使用 Homebrew 安装:

brew install ffmpeg

Linux 安装方法

对于基于 Debian/Ubuntu 的系统:

sudo apt update
sudo apt install ffmpeg

对于基于 RHEL/CentOS 的系统:

sudo yum install ffmpeg ffmpeg-devel

基本压缩命令

1. 简单压缩(保持原始分辨率)

ffmpeg -i input.mp4 -vcodec libx264 -crf 23 -preset medium output.mp4

参数说明:

  • crf 23:控制质量(18-28,数值越小质量越高)
  • preset medium:平衡压缩速度和质量(可选:ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow)

2. 调整分辨率的压缩

ffmpeg -i input.mp4 -vf "scale=1920:1080" -vcodec libx264 -crf 23 output.mp4

3. 更激进的压缩(更小文件)

ffmpeg -i input.mp4 -vcodec libx264 -crf 28 -preset slow -tune film output.mp4

4. 保持原始质量但减小文件大小

ffmpeg -i input.mp4 -vcodec libx265 -crf 28 -preset slow output.mp4

最佳实践

使用 1080p -crf 24,通常尺寸和质量都能很好的平衡。

ffmpeg -i input.mp4 -vf "scale=1920:1080" -vcodec libx264 -crf 24 output.mp4

建议先对小片段进行测试,找到满意的参数后再处理完整视频。

如果对尺寸很敏感,可以用 1080p -crf 28

尽量使用 1080p,而不是更小的 比如 720p,因为相比调整分辨率,调整 crf 的效果更好,crf 值越大,视频的颜色会有点失真,不过不会模糊,如果使用 720p 就会有点模糊。

常见问题解答

Q: 压缩后视频质量下降太多怎么办?

A: 尝试降低 CRF 值(如从28降到23),或使用更慢的预设(如从medium改为slow)

Q: 如何批量压缩文件夹中的所有视频?

A: 可以使用脚本,例如在Linux/macOS下:

for f in *.mp4; do ffmpeg -i "$f" -vcodec libx264 -crf 23 "${f%.*}_compressed.mp4"; done

Q: 压缩过程太慢怎么办?

A: 使用更快的预设(如veryfast),或考虑使用硬件加速(如添加-hwaccel auto参数)

Q: 如何查看视频的详细信息?

A: 使用命令:

ffmpeg -i input.mp4

 

继续阅读

下一篇