要把影片壓縮到大約 25 MB,你需要一款本地端的編碼器,讓你能透過解析度、影格率與位元率來限制輸出大小——而不是一台伺服器端的上傳工具,讓它決定回傳什麼。25 MB 這個數字之所以反覆出現,是因爲它與常見的附件上限一致:Gmail(25 MB)、Outlook(20–25 MB,視租用戶而定),以及許多網頁表單上傳工具。所以當影片落在 80 MB 或 200 MB 時,人們就會碰到一道牆,需要把它壓到該門檻以下,又不想安裝桌面軟體。要達到目標,取決於你能調整的三個旋鈕——寬度、每秒影格數與位元率——以及內容本身,這正是為什麼沒有任何單一按鍵能永遠產出 25 MB 的檔案。

影片壓縮器正是為這項任務設計:它把瀏覽器可解碼的影片重新編碼為本地端的 WebM,並提供明確的寬度、影格率與位元率控制。挑選符合大小目標的預設值、開始壓縮,然後讓頁面即時播放來源,同時錄製結果。完成後,工具會顯示輸入位元組數、輸出位元組數,以及實際量測到的百分比變化,讓你能看出這次執行是否真的接近 25 MB,還是你需要換一個預設值再試。所有處理都不會離開瀏覽器分頁,這在原始影片屬於私人或未公開素材時尤其重要。

compress video to 25mb
compress video to 25mb

為什麼 25 MB 是一個取決於內容的目標

一段 60 秒、640×480 的螢幕錄影,即使維持高畫質,壓縮後也會遠低於 25 MB,因為影格簡單、色彩有限,所需的位元率也很低。但一段四分鐘、1920×1080 的演唱會影片,伴隨持續的動作、舞台燈光與�粒,則是完全不同的情況——無論選哪個預設值,單趟 WebM 編碼可能永遠達不到 25 MB,在 Small 預設下也輕鬆落在 50–80 MB。壓縮效果取決於動態、雜訊、顆粒、來源編碼、瀏覽器的編碼器,以及所選的預設值。本工具回報的是實際位元組變化,而不是聲稱一個通用的壓縮百分比,所以若某次執行結果變大,就會如實顯示為變大,不會被重新標記為成功。

對於像 25 MB 這種固定目標,這種誠實至關重要。若 Small 預設跑出 40 MB,你會得到一個真實訊號:內容太密集,單趟無法裝進去。這時可以裁剪到較短的段落、改用更小解析度的來源,或者接受這種內容類型無法一次壓到 25 MB。請把顯示出來的位元組數當作唯一事實,而不是預設名稱。

預設值限制與位元率上限

三組預設值是透明的產品選擇,而不是對通用最佳值的聲稱。它們的差異在於最大寬度與目標影格率;錄製器實際使用的位元率,則是由一個有界的每像素位元數啟發式決定,並夾在 180 kbps 到 8 Mbps 之間。每組預設都會保留來源長寬比、絕不放大來源,並把輸出尺寸向下取整為偶數像素值,以提升編解碼相容性。

預設最大寬度目標影格率位元率夾取範圍是否適合 25 MB 目標
Small640 px24 fps180 kbps – 8 Mbps大多數 1–2 分鐘短片達到 25 MB 上限的最佳起點
Balanced1280 px30 fps180 kbps – 8 Mbps需要 720p 可讀性的短片;在較長或動態大的來源上經常超出 25 MB
Quality1920 px30 fps180 kbps – 8 Mbps畫質優先;幾乎不適合做為硬性 25 MB 上限的預設

三組預設的位元率夾取範圍完全相同。可見的差異來自寬度與影格率上限,搭配每像素位元數的啟發式——影格越小,它選的位元率越低;影格越大,選的位元率越高。對典型 1–2 分鐘短片要達到 25 MB 目標而言,Small 預設幾乎永遠是起點。

在瀏覽器中將影片壓縮到 25 MB

整個流程都在本地端:瀏覽器解碼你的來源、把每一幀畫進 Canvas,再用目前瀏覽器回報支援的 WebM 編解碼器錄製該 Canvas 串流。你可以即時觀看執行過程,完成後就會拿到檔案。

  1. 在目前版本的桌面瀏覽器中開啟影片壓縮器。
  2. 選擇一段瀏覽器可解碼的影片,大小不超過 500 MiB、時長不超過五分鐘、單邊不超過 4096 像素、解碼區域不超過 3840 × 2160 像素。檔名為 MP4、WebM、MOV、M4V 或 Ogg 的檔案都可接受,但能否成功解碼仍取決於目前瀏覽器中安裝的編解碼器;有效的副檔名無法讓不支援的編解碼器變得可解碼。
  3. 若目標是 25 MB,請選擇 Small 預設。它會把輸出寬度限制在 640 像素,並以每秒 24 影格為目標。
  4. 開始壓縮。在頁面錄製 Canvas 串流的過程中,請保持分頁開啟,並讓來源持續播放。編碼以即時方式執行,因為 MediaRecorder 會在來源播放的同時觀察 Canvas 串流——所以一段兩分鐘的來源,大約也需要兩分鐘,而不是瞬間完成。
  5. 來源播完後,工具會回報輸出尺寸、輸入位元組數、輸出位元組數,以及實際量測的百分比變化。請直接讀取這兩個位元組數;百分比僅由兩個實際 Blob 大小計算而來,本工具並不保證每次結果都會變小。
  6. 下載 WebM、從頭到尾完整播放一次,並確認檔案大小、時長、畫面、聲音與相容性都符合目的地需求後,再刪除原始檔。

估算 25 MB 輸出的位元率

若想判斷某組預設是否可能落在 25 MB,請計算編碼器在整段影片時長中必須花費的平均位元率。算式很直接,並且都在頁面內完成。

以一段 60 秒影片、目標 25 MB 為例:

25 MB = 25 × 1024 × 1024 bytes = 26,214,400 bytes。26,214,400 bytes × 8 bits/byte = 209,715,200 bits 總計。209,715,200 bits ÷ 60 秒 = 每秒 3,495,253 bits ≈ 3.5 Mbps 總位元率。

如果音軌再加約 128 kbps,影像部分預算約為 3.4 Mbps。這遠在 180 kbps – 8 Mbps 的夾取範圍內,也在 640 寬的 Small 預設下每像素位元數啟發式可選取的範圍內。若同樣目標改為 30 秒短片,則需要約 7 Mbps 的總位元率,雖然仍在夾取範圍內,但已接近上限——所以在 8 Mbps 上限下,短片的餘裕較小,長片在同一預設下餘裕較大,這與本工具實際產出的結果一致。其他時長請套用同一算式:總位元數 ÷ 時長(秒),即可得到預設必須維持的平均位元率。

當 25 MB 無法一次達成時

若 Small 預設跑出 40 MB 或 60 MB,瓶頸在內容,不在工具。有兩個實際做法可在不離開瀏�器的情況下把檔案壓到 25 MB 以下:

  • 先用影片裁剪器把片段剪短,然後在剪後的檔案上重新跑 Small 預設。在固定位元率下,時長砍半,輸出位元組大約也會砍半。
  • 從原本的錄製工具以更小的寬度或更低的影格率重新輸出來源,讓 Small 預設有更少的素材要處理。影片壓縮器絕不放大來源,所以把 1920×1080 的母帶換成 960×540 的母帶,輸出就會自動下降。

若你特別需要 25 MB、適合用電子郵件寄送的輸出,同一套本地流程另有獨立的逐步說明,請見在本機壓縮後用電子郵件寄送大型影片。若你還需要 MP4 容器、精確的編解碼器設定檔、兩趟速率控制、固定關鍵影格間隔,或跨平台可重現的輸出,請使用維護良好的桌面編碼器,例如 FFmpeg 搭配經審閱的指令——�覽器工具適合快速本地執行,不適合做為封存母帶。

為什麼對這個目標來說,本地 WebM 編碼器很重要

伺服器端壓縮工具通常會以後端偏好的容器與它自選的位元率回傳檔案,你只能在整趟來回結束後才知道大小。對於像 25 MB 這種硬性上限,這種不透明的循環就是個問題:一次失敗的執行就會耗掉你的上傳頻寬,還讓你摸不著頭緒為何檔案仍是 38 MB。影片壓縮器則停留在目前分頁內——解碼、Canvas 繪製、MediaRecorder 編碼與下載都在本地完成,所以你能在不同預設之間反覆迭代,並把輸入與輸出位元組並列讀取。MediaRecorder 會依據MediaRecorder API,從�取到的 Canvas 串流產生 Blob。

本工具會優先嘗試瀏覽器回報的 VP9,接著是 VP8,再來是一般 WebM,所以即使是同一組預設與同一段來源,不同瀏覽器輸出的編解碼器也可能不同。請務必在下載後的檔案中確認影像與聲音。音訊只有在瀏覽器透過 HTMLMediaElement captureStream 公開可擷取軌道時才會被包含;若你的來源帶有音訊但輸出無聲,代表瀏覽器在該組合下並未公開軌道。字幕、章節、附件、旋轉標記、色彩中繼資料與 HDR 訊號都不會被本工具保留,所以請先確認下載檔案符合目的地的需求,再刪除原始檔。

若第二趟仍然壓不到 25 MB 以下,請換預設或縮短片段——不要以為第三組預設能拯救超出預算的執行。壓縮取決於內容,本工具回報的是實際位元組;請信任這些數字。

若想深入了解,請參閱不上傳就調整 Discord 影片大小