如何縮小影片檔案又看不出畫質下降(實測)
我們把一個 49 MB 的手機風格影片縮小了 77% 到 94%,並替每個結果評分。告訴你哪些設定能縮小檔案,哪些設定會犧牲畫質。
重點速覽
- 檔案大小等於位元率乘以長度。要縮小檔案,就把每秒用的位元數,省在眼睛察覺不到的地方。
- 手機錄影和螢幕錄影用的是很高的固定位元率;改用固定畫質設定重新編碼後,我們的測試檔縮小了 77%,VMAF 只降了 1.9 分。
- H.265 在分數相近的情況下,又把大小砍了一半;較慢的預設檔位幾乎沒有幫助。
- 檔案大小相同時,維持解析度、加大壓縮,分數比縮小到 720p 更高。
- 從畫質最高的複本壓縮一次就好,刪掉原始檔之前,先用全螢幕檢查結果。
通常你可以把影片檔案縮小到原本的一小部分,卻看不出差別,因為大多數相機和螢幕錄影工具寫進的資料,遠比畫面需要的多。訣竅在於用固定畫質、而不是固定位元率重新編碼,再挑一個效率高的編碼。
每次重新編碼都會損失一些東西,所以「不損失畫質」其實是指「不損失你看得出來的畫質」。本文會說明:影片檔案為什麼會這麼大、我們實測了哪些設定能用最小的可見變化把檔案縮到最小、怎麼壓到指定大小,以及如何在 KwaFlux 裡或用 FFmpeg 完成。
目錄
- 影片檔案為什麼會這麼大
- 我們的測試:把同一個檔案縮小的七種方法
- 該選哪種方法?
- 方法 1:用固定畫質(CRF)重新編碼
- 方法 2:改用 H.265
- 方法 3:壓到指定大小
- 其他小幅節省:音訊、軌道、長度
- 在 KwaFlux 裡怎麼做
- 問題排解
- 常見問題
影片檔案為什麼會這麼大
影片的檔案大小,等於位元率乘以長度,再加上一點容器的開銷。一段 16 Mbps 的一分鐘片段,就是 16 × 60 ÷ 8 = 120 MB,不論解析度多少。所以能調整的只有幾項:
- 位元率:每秒能用多少位元。這是影響最大的一項,遠遠超過其他。
- 編碼效率:H.265 和 AV1 這類較新的編碼,描述同樣的畫面所需的位元比 H.264 少。
- 解析度與影格速率:像素或影格越少,需要的位元越少,但會犧牲細節或流暢度。
- 音訊:通常占比很小,但不是零。
- 長度:剪掉多餘的部分能讓檔案變小,而且不會犧牲任何畫質。
手機和螢幕錄影工具為了即時跟上,會用快速的硬體編碼器,搭配寬裕的固定位元率。這就給了更慢、更聰明的編碼器很大的發揮空間。
我們的測試:把同一個檔案縮小的七種方法
我們做了一個「手機風格」的原始檔:30 秒的 1080p 影片,用快速編碼器、設定為 16 Mbps 編碼(49.2 MB,平均約 13 Mbps),再用七種方法縮小。每個結果都和原始檔的評分方式一樣,以 VMAF(0 到 100,越高越接近母檔)和未壓縮的母檔比對評分。所有結果的音訊都是 128 kbps AAC。
| 結果 | 大小 | 縮小幅度 | VMAF | 編碼時間 |
|---|---|---|---|---|
| 原始檔(目標 16 Mbps,快速編碼器) | 49.2 MB | — | 83.1 | — |
| H.264,CRF 20,medium | 11.2 MB | 77% | 81.2 | 11 秒 |
| H.264,CRF 20,slow | 10.9 MB | 78% | 81.2 | 16 秒 |
| H.264,CRF 23,medium | 7.4 MB | 85% | 80.1 | 9 秒 |
| H.265,CRF 24,medium | 4.7 MB | 90% | 79.7 | 36 秒 |
| H.264,二次編碼,目標 5 MB | 5.2 MB | 89% | 78.2 | 未計時 |
| H.265,CRF 28,medium | 2.8 MB | 94% | 77.3 | 30 秒 |
| H.265,CRF 24,縮小到 720p | 2.7 MB | 95% | 75.1 | 21 秒 |
測試素材取自 Tears of Steel(CC BY 3.0);時間是在一顆 Intel 筆電 CPU 上量得的。
這些數字說明了:
- 大部分的節省幾乎不用付出代價。 從固定的 16 Mbps 設定改成 CRF 20,大小少了 77%,分數只降 1.9 分,正常觀看時很難看出差別。
- H.265 是下一個大躍進。 H.265 的 CRF 24 不到 H.264 CRF 20 的一半大小,分數略低一點,編碼時間則約是三倍。
- 較慢的預設檔位只有小幅收穫。 在這次測試裡,「slow」比「medium」只省了 3%。
- 如果觀眾用大螢幕看,不要靠降低解析度省空間。 大小幾乎相同時,1080p 的 H.265 CRF 28 檔案拿到 77.3 分,720p 檔案只有 75.1 分。
該選哪種方法?
| 你的目標 | 方法 | 常用設定 |
|---|---|---|
| 檔案變小,而且到處都能播 | 方法 1 | H.264,CRF 20 到 23 |
| 在畫質不錯的前提下檔案最小,給新裝置播放 | 方法 2 | H.265,CRF 24 到 28 |
| 必須符合大小上限(電子郵件、聊天、表單上傳) | 方法 3 | 以目標大小做二次編碼 |
| 封存原始檔 | 不要壓縮 | 保留相機原始檔 |
| 上傳到會重新編碼的平台 | 方法 1,CRF 18 到 20 | 給平台一個乾淨、不要太小的檔案 |
各種編碼的比較,請見H.264、H.265 與 AV1 比較。
方法 1:用固定畫質(CRF)重新編碼
CRF(constant rate factor,恆定速率係數)會告訴編碼器維持某個畫質水準,每個場景只用需要的位元:靜止鏡頭少用,動作場面多用。數字越低,畫質越高、檔案越大;H.264 用 18 到 23 就能涵蓋大部分用途。
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 20 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4-movflags +faststart 會把索引移到檔案開頭,讓檔案還沒下載完就能開始播放。
方法 2:改用 H.265
H.265(HEVC)達到相近畫質所需的位元,大約只有 H.264 的一半,代價是編碼較慢,而且舊裝置和部分網頁瀏覽器的支援較少。
ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 24 -pix_fmt yuv420p -tag:v hvc1 -c:a aac -b:a 128k -movflags +faststart output.mp4-tag:v hvc1 讓 Apple 裝置和 QuickTime 能辨識這個檔案。H.265 的 CRF 數值和 H.264 不是同一個尺度:在我們的測試裡,H.265 的 CRF 24 和 H.264 的 CRF 23 分數相近,檔案卻小得多。
補充: AV1 的壓縮效率更好,但在大多數電腦上編碼很慢,舊手機也播不順。以現在的分享需求來說,H.265 是比較穩妥的下一步。
方法 3:壓到指定大小
檔案必須符合某個大小上限時,就從大小反推:
- 把目標大小換算成百萬位元(megabit):MB × 8。25 MB 就是 200 megabit。
- 除以長度(秒)。60 秒的話,總共是 3.33 Mbps。
- 扣掉音訊。音訊用 128 kbps 的話,視訊大約剩 3.2 Mbps。
- 為容器留幾個百分點的餘裕:目標設在約 3.1 Mbps。
然後分兩次編碼,讓編碼器把位元分配到需要的地方:
ffmpeg -y -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 2 -c:a aac -b:a 128k -movflags +faststart output.mp4在 macOS 上,把 NUL 改成 /dev/null。在我們的測試裡,目標設 4.98 MB,結果是 5.18 MB,超出約 4%,所以上限很嚴格的話,請預留這個餘裕。
其他小幅節省:音訊、軌道、長度
- 音訊: 128 kbps AAC 對語音和大部分音樂都綽綽有餘。從 256 kbps 降到 128 kbps,每分鐘約可省下 1 MB。
- 多餘的軌道: 移除用不到的評論音軌、第二語言音軌或資料軌。
-map 0:v:0 -map 0:a:0只保留第一條視訊軌和音訊軌。 - 長度: 剪掉沒人需要的部分。在所有調整裡,只有這一項不會犧牲任何畫質。
- 影格速率: 60 fps 的投影片螢幕錄影可以降到 30 fps。遊戲和運動畫面則維持 60 fps。
在 KwaFlux 裡怎麼做
KwaFlux 的 壓縮器(模組名稱為 影片音訊壓縮)不用命令列就能批次縮小影片和音訊:
- 在側邊欄打開 壓縮器,加入或拖入你的檔案。圖片會被跳過;壓縮器只處理影片和音訊。
- 在 壓縮方式 底下選擇 畫質優先,再選 高畫質(幾乎看不出差別,省得少一些)、均衡(畫質和體積兼顧)或 更小體積(體積最小,能看出畫質下降)。也可以選 大小優先,檔案必須符合上限時,再輸入 目標大小。
- 開始壓縮。每個完成的檔案都會顯示「從……壓到……」。如果目標小到維持原尺寸會很難看,KwaFlux 會縮小畫面並告訴你。如果壓縮後檔案不會變小,你會得到原檔案的副本,而不是一個更差的檔案。
如果要指定編碼,例如 MP4 容器裡的 H.265,請改用 轉換器,在裡面選擇格式和編碼。
問題排解
| 問題 | 可能原因 | 解決方法 |
|---|---|---|
| 壓縮後的檔案比原始檔還大 | 原始檔本來就很有效率 | 保留原始檔;沒有可省的空間 |
| H.265 檔案在舊電視或瀏覽器上無法播放 | 沒有 HEVC 解碼器 | 改用 H.264,CRF 20 到 23 |
| 暗場或快速畫面出現色塊 | CRF 太高或目標太小 | 把 CRF 調低 2,或放寬目標大小 |
| 檔案沒有壓到目標大小 | 容器開銷和音訊 | 目標設在上限以下 4% 到 5% |
| 壓縮後色彩看起來變淡、發灰 | 10 位元或 HDR 來源沒做色調映射就轉成 8 位元 SDR | 用 H.265 10 位元保留 HDR,或先做色調映射 |
| 上傳平台後還是變模糊 | 平台會重新編碼每一支上傳的影片 | 上傳更乾淨的檔案,大約 CRF 18 到 20 |
結語
把影片縮小得漂亮,關鍵大多在於不浪費位元:從固定位元率改成固定畫質;觀眾的裝置播得了的話就改用 H.265;必須符合上限時,就從上限反推。從畫質最高的複本壓縮一次,確認結果之前先保留原始檔。至於反覆壓縮為什麼會累積損失,請見下載的影片為什麼很模糊。
在你自己的電腦上批次縮小影片
KwaFlux 的壓縮器和格式轉檔可以依畫質或目標大小縮小影片和音訊。媒體檔案不會為了處理而上傳。可在 Windows 10(64 位元,1809 或更新版本)、Windows 11,以及搭載 Apple Silicon 的 macOS 12 或更新版本上執行。匯入檔案和瀏覽應用程式都不需要帳號。僅在匯出、轉換、檔案修復和從連結下載檔案時需要登入並購買付費方案。
用你自己的素材試試效果
下載 KwaFlux,付費前先用自己的素材免費預覽效果——無需註冊,在你的 GPU 上處理,處理不需要上傳媒體檔案。 影片預覽可選 1、3或5 秒;防抖預覽可選 5、15或30 秒。
常見問題
影片要怎麼壓縮才不會損失畫質?
用固定畫質設定、而不是固定位元率重新編碼,並使用效率高的編碼。每次重新編碼都會損失一點,但用 H.264 CRF 20,我們的測試檔縮小了 77%,差別很難看出來。
同樣畫質下,H.265 比 H.264 小嗎?
是的,通常小一半左右。在我們的測試裡,CRF 24 的 H.265 是 4.7 MB,CRF 20 的 H.264 是 11.2 MB,分數略低一點。它的編碼時間較長,也不是到處都支援。請見H.264、H.265 與 AV1 比較。
降低解析度能縮小檔案嗎?
可以,但這常常不是對的做法。大小幾乎相同時,我們的 720p 檔案分數比壓縮更多的 1080p 檔案還低。只有觀眾用小螢幕觀看時才降低解析度。請見解析度越高越好嗎?
CRF 該設多少?
H.264 用 18 到 23 就能涵蓋大部分用途:18 接近原始畫質,23 適合分享。H.265 約 22 到 28。用一小段片段試兩個數值,再以全螢幕比較。
為什麼手機錄的影片檔案這麼大?
因為手機是用快速的硬體即時編碼,搭配很高的固定位元率,所以留下很大的空間。用較慢的編碼器、以固定畫質編碼,描述同樣的畫面只需要少得多的位元。
參考資料
- Blender Foundation, Tears of Steel (CC BY 3.0, test clip) (2026-10-27 查閱)
- FFmpeg Codecs Documentation (libx264, libx265, aac) (2026-10-27 查閱)
- FFmpeg Wiki, "Encode/H.264" (CRF, presets, two-pass) (2026-10-27 查閱)
- FFmpeg Wiki, "Encode/H.265" (2026-10-27 查閱)
- Netflix, "VMAF" repository (vmaf_v0.6.1.json model) (2026-10-27 查閱)


