视频压缩完全指南:把 1GB 视频压到 100MB,画质几乎无损
录了一段视频,却发不出去
手机里一段产品演示、孩子一场演出、会上一个发言,录完一看:2GB。微信传输助手提示「文件过大」,邮件附件被拒,网盘上传进度条像睡着了。
视频就是这么吃空间。一张照片几 MB,一段 30 秒视频轻松上百 MB,根源在于它本质是「几十万张图连着声音」。我们在做工具库的视频工具这几年,最常听到的诉求就是「帮我弄小点,但别糊」。这篇文章把视频体积的来源和压小的办法一次讲透——读完你不仅能压,还能明白「为什么这么压」。
先分清:容器和编码不是一回事
新手最容易混淆 .mp4、.mov、.mkv 和 H.264、H.265。记住:
- 容器(Container):
.mp4/.mov/.mkv是「盒子」,决定文件怎么打包视频、音频、字幕。 - 编码(Codec):盒子里那团数据用啥算法压的,比如 H.264、H.265/HEVC、VP9、AV1。
同一个 .mp4 盒子,里面可以是 H.264 也可以是 H.265。体积主要看编码,不看容器。iPhone 录的 .mov 常常用的是 H.265,所以同样时长比安卓 .mp4(H.264) 小很多——这就是很多人觉得「苹果视频占空间小」的原因。
视频体积到底从哪来
四个因素叠加:
- 分辨率:4K(3840×2160)的像素量是 1080p 的 4 倍、720p 的近 9 倍。像素越多,数据越肥。
- 码率(Bitrate):每秒钟包含的数据量,这是影响体积最大的旋钮。
- 编码格式(Codec):H.264 是兼容之王;H.265/HEVC 体积能小约一半,但部分老设备不认;AV1 更省,但编码慢。
- 帧率与音频码率:60fps 比 30fps 数据多一倍;音频 320kbps 比 128kbps 占得多。
同一段内容,参数不同体积能差出十倍:
| 配置 | 大约体积(60 秒片段) |
|---|---|
| 4K + H.264 + 高码率 | ~380 MB |
| 1080p + H.264 + 中码率 | ~90 MB |
| 720p + H.265 + 中码率 | ~35 MB |
| 720p + H.264 + 低码率 | ~22 MB |
上面是典型场景的估算,实际取决于画面复杂度——静态画面(开会PPT)压得狠,高速运动画面(球赛)压不动多少。
真正能压小的四个杠杆
1. 降分辨率:见效最快
1080p 降到 720p,像素量砍掉一半多,体积往往跟着降一半以上。在手机小屏上看,几乎看不出差别。除非你要投到大电视或做后期剪辑,否则 720p 足够发朋友圈、发群里。
2. 调码率 / CRF:最精细的旋钮
转码工具里常出现 CRF(恒定速率因子,Constant Rate Factor)。简单记:CRF 越大,压得越小,画质略降。常用区间是 18–28:
- 18–20:几乎无差,体积偏大(适合存档母版)
- 23–24:默认甜点区(压完肉眼基本无差)
- 26–28:明显小,画质轻微下降,手机看没问题
CRF 是「按画质定码率」,属于 VBR(可变码率)的一种:复杂画面多给点码率,简单画面少给点,同样画质下最省体积。相对的 CBR(恒定码率)则是「固定每秒多少数据」,简单画面也浪费,不推荐用于压缩。
3. 换编码:H.265 比 H.264 小约 40%–50%
同样画质,H.265 文件更小。代价是兼容——老电视、部分车机、某些剪辑软件打不开。通用分享优先 H.264;只在自己生态内传,可以上 H.265 省空间。
编码还有「Profile/档位」概念,以 H.264 为例:
| Profile | 能力 | 适用 |
|---|---|---|
| Baseline | 最简,兼容性最高 | 极老设备、实时通信 |
| Main | 中等 | 标清流媒体 |
| High | 最强压缩 | 高清、蓝光(首选) |
4. 剪掉废片 + 降音频码率
片头 10 秒黑屏、片尾 20 秒闲聊,剪掉就是实打实的体积。音频降到 128kbps 对人声完全够用,别用 320kbps 撑着——视频里音频占比小,但聊胜于无。
目标体积参考
| 原始情况 | 建议操作 | 大致结果 |
|---|---|---|
| 1080p 1GB 演示视频 | 降到 720p + CRF 24 | ~350 MB |
| 4K 手机录屏 2GB | 降到 1080p + H.265 | ~400 MB |
| 微信要发的 500MB 片段 | 降到 720p + CRF 26 | ~120 MB |
| 邮件附件限制 25MB | 降到 480p + 剪多余 | ~20 MB |
各平台实际上传限制(常变,作参考):微信单文件约 1GB(聊天)、200MB(朋友圈);邮件附件普遍 20–25MB;多数网盘单文件 4GB 上限。先想清楚「发去哪」再定参数。
用工具库在浏览器本地压
视频压缩让你拖动滑块调分辨率和 CRF,浏览器用 ffmpeg.wasm 在本地转码——文件不上传,关掉页面数据就没了。
顺手的配套:
一个真实工作流:微信发产品演示
iPhone 录的 MOV(H.265,1.2GB)
→ /video/to-mp4 转成 H.264 的 MP4(兼容安卓/Win)
→ /video/trim 剪掉开头 8 秒黑屏和结尾闲聊
→ /video/compress 降到 720p + CRF 26
→ 输出 ~110MB,微信秒发
什么时候本地压不够用
浏览器受内存和性能限制,遇到这些情况建议上桌面 ffmpeg:
- 单个文件几 GB 以上
- 要批量处理几十个
- 对速度要求极高(WASM 比原生慢不少)
本地装好 ffmpeg 后,下面这些命令覆盖绝大多数场景。
基础:降分辨率 + H.265 + 调音频
# 降到 720p,用 H.265,CRF 28,音频 128kbps
ffmpeg -i input.mp4 \
-vf scale=1280:-2 \
-c:v libx265 -crf 28 \
-c:a aac -b:a 128k \
output.mp4
参数拆解:
scale=1280:-2:宽设为 1280,高按比例自动(-2保证偶数,编码器要求)libx265 -crf 28:H.265 编码,CRF 28-c:a aac -b:a 128k:音频 AAC,128kbps
要最大兼容就换 -c:v libx264;要更狠的压缩把 CRF 调到 30 左右(画质会更明显地降)。
两遍编码(追求最小体积)
# 第一遍:分析,不输出画面
ffmpeg -i input.mp4 -c:v libx265 -b:v 800k -pass 1 -f mp4 /dev/null
# 第二遍:按分析结果精压
ffmpeg -i input.mp4 -c:v libx265 -b:v 800k -pass 2 -c:a aac -b:a 128k output.mp4
两遍适合「我有明确目标体积」的场景,比单遍 CRF 更可控,但慢一倍。
只裁一段(不重新编码,超快)
# 截取 00:00:10 开始、时长 30 秒,不重编码(-c copy)
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:30 -c copy clip.mp4
-c copy 几乎瞬间完成,但切点不精准(会落在关键帧)。要精准就去掉 -c copy(会重编码,稍慢)。
硬件加速(NVIDIA / Intel)
# NVIDIA 显卡:NVENC 硬编码,快很多
ffmpeg -i input.mp4 -c:v hevc_nvenc -rc vbr -cq 28 -c:a aac -b:a 128k output.mp4
硬件编码快但压缩效率略低于软件(CPU)编码,日常分享完全够。
关于「画质」:怎么判断压得值不值
别只信文件大小。一个简单自检法:
- 压完在全屏/大屏上看一遍关键片段(运动、文字、人脸)。
- 放大看边缘有没有「块效应」(马赛克块)、文字有没有毛刺。
- 对比原片,找出画质明显下降的时间点。
如果肉眼看不出差别,就说明压得值。一旦 CRF 超过 30 或分辨率降太多,文字和高速画面就会露馅。
常见错误
| 错误 | 后果 | 正确做法 |
|---|---|---|
| 反复压同一个文件 | 质量一层层掉 | 从原片压一次到位 |
| CRF 拉到 35+ | 大片马赛克、色块 | 控制在 18–28 |
| 用 H.265 发给老设备 | 对方打不开 | 通用分享用 H.264 |
| 只压不剪 | 片头废片照样占空间 | 先剪 /zh-CN/video/trim |
| 音频码率不动 | 体积省不下来 | 降到 128kbps |
| 拿 MOV 直接发安卓/Win | 对方可能打不开 | 先转 MP4 /zh-CN/video/to-mp4 |
常见问题
H.264 和 H.265 怎么选? 给别人、跨设备、怕打不开 → H.264。只在自己苹果/现代设备间传、想省空间 → H.265。
压完能还原成原画质吗? 不能。压缩是有损的,压完的信息回不来。所以永远留一份原片,别把原片删了。
手机浏览器能压吗? 能。工具库的视频工具是网页,手机打开同样能用本地转码,只是大文件会比电脑慢。
为什么我压完体积没小多少? 多半是分辨率没降、或 CRF 调太低。先动分辨率这把最大的旋钮——它比码率影响更直观。
GIF 和视频该用哪个? 短动画发群里,GIF 方便但巨大;短视频(MP4/H.265)体积小十倍还清晰。能发视频就别发 GIF。
一句话决策
视频太大传不出去?
├── 要快速压小、保画质 → /video/compress(调分辨率 + CRF)
├── iPhone 录的 MOV → /video/to-mp4
├── 只要其中一段 → /video/trim 先裁再压
├── 要换编码 H.265 → /video/convert
└── 单个几 GB / 批量几十个 → 桌面 ffmpeg(见上文命令)
下次再录出个「传不动」的大视频,照着上面的分支来,几分钟就能收到一个又小又清晰的版本。要把压出来的 MP4 再截一帧当封面,可以用视频转图片按需取帧。
本站提供浏览器本地工具,免注册即可试用 →