video compressor alternative
影片壓縮替代方案:瀏覽器端、無需上傳

瀏覽器端影片壓縮替代方案的運作方式

瀏覽器端的影片壓縮替代方案完全在您目前的分頁中執行,解碼來源、將每個影格繪製到有界線的 Canvas 上,並將該串流錄製為 WebM 檔案,不會將任何位元組上傳到伺服器。影片壓縮工具採用此模式:它接受一個瀏覽器可解碼的檔案,限制為 500 MiB、五分鐘,或解碼輸出 3840 × 2160 像素,讓您選擇「小」、「平衡」或「品質」,然後在 MediaRecorder 編碼擷取的 Canvas 串流時即時播放來源。由於編碼會追蹤播放速度,兩分鐘的來源大約需要兩分鐘才能完成,而非瞬間完成。該工具會回報實際的輸出尺寸、輸入與輸出的位元組,以及帶正負號的百分比變化——絕不會將較大的檔案標示為縮減。輸出僅限 WebM,僅在瀏覽器公開可擷取音軌時才會包含音訊,並且來源在即時處理期間會以可聽見的方式播放。

大多數搜尋「影片壓縮替代方案」的讀者都在權衡取捨。FFmpeg 或 HandBrake 等桌面編碼器提供確定性的專業輸出,但需要安裝、熟悉命令列或預設檔,以及學習時間。傳統的線上壓縮工具速度快且熟悉,但會將來源上傳到遠端伺服器,這使得它無法用於私人影片、草稿母片或任何受政策規範的內容。瀏覽器端、本機運作的工具介於兩者之間:無需安裝、不執行上傳,並提供一組有限的有界線預設,使結果保持可預測。代價是控制力較低——沒有兩段式速率控制、沒有固定的關鍵影格間隔、沒有編解碼器設定檔選擇——且輸出容器僅限於 WebM。

為何選擇本機、瀏覽器端的替代方案

三項特性使瀏覽器端、本機運作的壓縮工具成為一種獨特的替代方案,而非任一鄰近方案的複製品。

  • 結構性隱私。來源位元組、解碼後的影格、Canvas 像素和輸出位元組全都保留在目前的分頁中。Lizely 不會收到任何影片、縮圖、時長、檔名、編解碼器或結果。對於希望詳細了解此特性的讀者,線上壓縮工具安全性比較將逐步說明「本機」的實際含義。
  • 有限的、由預設驅動的輸出。該工具不會要求使用者調整位元速率、關鍵影格間隔和編解碼器設定檔,而是公開三個具名的預設,並揭示寬度、影格率和位元速率的公開上限。使用者選擇最符合目標需求的預設,然後檢查實際的位元組變化。
  • 可見的、真實的數字。顯示的百分比僅根據兩個實際 Blob 大小(輸入與輸出)計算。該工具從不保證每個結果都會變小,所以接近零或正百分比僅代表「嘗試其他預設或其他來源」。

使用影片壓縮替代方案壓縮影片

  1. 選擇一個瀏覽器可解碼的影片,大小不超過 500 MiB、五分鐘,或 3840 × 2160 像素。檔案可能命名為 MP4、WebM、MOV、M4V 或 Ogg,但成功解碼仍取決於目前瀏覽器中安裝的編解碼器——有效的副檔名無法讓不受支援的編解碼器變得可解碼。
  2. 開啟影片壓縮工具並載入檔案。驗證會先執行:副檔名或 MIME、正向位元組大小上限 500 MiB、解碼時長大於零且最多 300 秒、每邊最多 4096 像素,以及解碼區域最多 3840 × 2160。無效的檔案、不受支援的解碼器、超出限制的時長或超出限制的影格會產生錯誤且不下載——不會靜默截斷任何內容。
  3. 選擇「小」、「平衡」或「品質」。每個預設都會保留來源長寬比,絕不放大來源,並將輸出尺寸向下捨入為偶數像素值,以獲得更廣泛的編解碼器相容性。
  4. 開始壓縮並在來源即時播放時保持分頁開啟。頁面以預設的節奏繪製,從來源播放時間追蹤進度,並在錄製後停止串流軌跡。選擇新檔案、更改預設、取消或離開頁面都會使進行中的工作失效,並釋放暫時性的 Object URL。
  5. 檢視實際的輸出尺寸、輸入與輸出的位元組,以及測量得出的百分比變化。該數字帶有正負號,因此正值表示檔案變大而非變小。
  6. 下載 WebM 並在刪除原始檔案之前完整播放。由於瀏覽器支援和編解碼器組合各不相同,請在下載的檔案中同時驗證影像和聲音。

預設邊界及其適用時機

這三個預設是透明的產品選擇,並非對通用最佳值的聲明。下表列出每個預設的公開上限。

預設 最大寬度(像素) 目標影格率(fps) 長寬比 放大
640 24 保留 永不
平衡 1280 30 保留 永不
品質 1920 30 保留 永不

對於每個預設,有界線的每像素位元數啟發式方法會選擇所要求的錄製位元速率,並限制在 180 kbps 到 8 Mbps 的範圍內。實際的錄製器會根據瀏覽器回報的支援情況,依序嘗試 VP9、VP8,然後是通用的 WebM,因此即使使用相同的預設和來源,不同瀏覽器之間的輸出也可能有所不同。

實例演練:1920 × 1080 來源的輸出尺寸

假設有一個 1920 × 1080 的來源使用平衡預設,所要求的最大寬度為 1280 像素,且長寬比在不放大的情況下保留。縮放比例為 1280 ÷ 1920 = 0.6667。輸出寬度上限為 1280,由此產生的輸出高度為 1080 × 0.6667 = 720 像素。向下捨入到最接近的偶數像素後為 720(已經是偶數),最終 Canvas 大小為 1280 × 720,影格率為 30 fps。如果來源為 1280 × 719(奇數高度),則高度會捨入為 718;該工具絕不向上捨入。這是說明為何下載的 WebM 像素寬度或高度可能比天真的縮放器所產生的更窄或更短的小細節之一。

輸出可能不會變小的情況

壓縮取決於內容。低動畫量的動畫或乾淨的螢幕錄製可能會大幅變小,而雜訊較多的影片、顆粒、攝影機晃動、快速變化的細節,或是已經有效率的來源,則可能產生大小相近或更大的檔案。顯示的百分比僅根據兩個實際 Blob 大小計算,因此接近零或正的結果是真實的呈現,而非錯誤。

輸出未變小時的實用應對方式:

  • 嘗試下一個較小的預設——從品質移至平衡會降低尺寸,從平衡移至小會同時降低尺寸和影格率,這通常比增加編碼成本更能減少位元組。
  • 重新檢查來源本身:如果它已經是小型 WebM 或 VP9 檔案,以相同的有效位元速率重新編碼通常會產生更大的輸出。
  • 如果相關內容比來源短,請先修剪或裁切;該工具無論如何都會重新編碼完整的時長。

工具保留與捨棄的內容

僅當瀏覽器透過 HTMLMediaElement captureStream 公開音訊軌時,音訊才會包含在輸出中(請參閱 MDN — HTMLCanvasElement.captureStream)。來源在即時處理期間若包含音訊會以可聽見的方式播放;如有需要請使用裝置音量,但不要假設靜音對擷取的音軌沒有影響。字幕、章節、附件、旋轉標記、色彩中繼資料、HDR 信號以及許多容器功能皆不會保留。錄製器僅產生 WebM,因為瀏覽器的 MediaRecorder 對所產生 MP4 的支援仍然不一致(請參閱 MDN — MediaRecorder)。該工具不會標準化音量、混音軌、依據認證標準移除中繼資料,或修復損壞的媒體。對於歸檔母片、專業交付規格、精確的編解碼器設定檔、兩段式速率控制、固定的關鍵影格間隔、字幕保留,或確定性的跨平台輸出,請使用維護良好的桌面編碼器,例如搭配審核過命令的 FFmpeg。

請保留原始檔案,直到完整的輸出已播放並確認符合目的地對大小、時長、影像、聲音和相容性的要求。

如果您正在權衡選項,影片壓縮工具說明:本機重新編碼的運作方式詳細介紹了相關內容。