影片壓縮完全指南:把 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-TW/video/trim |
| 音訊位元率不動 | 體積省不下來 | 降到 128kbps |
| 拿 MOV 直接發安卓/Win | 對方可能打不開 | 先轉 MP4 /zh-TW/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 再截一幀當封面,可以用影片轉圖片按需取幀。
本站提供瀏覽器本地工具,免註冊即可試用 →