影片壓縮工具會在重新編碼完成時,立即回報輸出的精確像素尺寸、輸入與輸出的位元組數量,以及一個帶正負號的百分比變化,因此檢查結果需要分三部分進行:查看頁面上的報告、下載檔案的系統屬性,以及完整的播放測試。本工具的壓縮過程在本機執行:來源影片由瀏器解碼,每一個顯示的影格會繪製到一個有界 Canvas 中,而 Canvas 串流會以 WebM 編碼器錄製,同時原始影片以即時速度播放。由於編碼以播放速度進行,兩分鐘的來源影片大約需要兩分鐘,而且只有當來源影片透過 Canvas 播放完畢後,工具才會停止回報。停止後所顯示的數字,是判斷壓縮是否成功的唯一事實依據,這也是為什麼檢查結果實際上代表的是仔細閱讀那些數字、開啟下載的檔案,並在刪除原始檔案前同時確認影像與音訊。

how do i check the result after i use video compression
如何使用影片壓縮後檢查結果

壓縮結束時工具回報的內容

當來源影片透過錄製 Canvas 播放完畢後,頁面會顯示一小塊已驗證的事實。您將會看到以像素表示的輸出解析度、原始檔案的位元組數量、產生的 WebM 的位元組數量,以及一個比較這兩個數字的單一百分比數值。內容不會經過內插或估算:每個數字都來自具體的測量,而百分比僅根據分頁中實際存在的兩個 Blob 大小計算。工具不會保證結果會變小、不會四捨五入成行銷導向的數字,也不會悄悄加上填充資料讓輸出看起來像是縮小了。如果回報的百分比為正數,表示新檔案比輸入小;如果為負數,則表示新檔案比輸入大。這兩種結果都是編碼器實際產出內容的誠實描述。

如何閱讀頁面上的大小變化

這個百分比使用一個值得記住的簡單公式:輸入位元組減去輸出位元組,再除以輸入位元組,然後乘以 100。正值表示輸出比輸入小,縮小的幅度佔原始大小的該比例;負值表示輸出比輸入大,超出的幅度佔該比例。由於保留了正負號,-8.4% 的數值表示輸出比輸入大約 8.4%,而不是表示壓縮在某種技術意義上失敗。瀏覽器編碼器、來源的動態與雜訊特性、所選預設的度與影格率,以及所要求的位元率,都會共同決定該正負號最終是正還是負。低動態的動畫可以大幅縮減檔案大小,而顆粒感明顯的影片、鏡頭晃動,或本身已經很有效率的編碼,則可能產生大小相近或更大的檔案。如需深入了解這些回報數字是如何產生以及它們的實際意義,請參閱〈影片壓縮工具的準確度:它實際回報的內容〉。

預設最大寬度目標影格率位元率範圍長寬比行為
640 px24 fps180 kbps – 8 Mbps保持原始比例,絕不放大,像素以偶數四捨五入
平衡1280 px30 fps180 kbps – 8 Mbps保持原始比例,絕不放大,像素以偶數四捨五入
高品質1920 px30 fps180 kbps – 8 Mbps保持原始比例,絕不放大,像素以偶數四捨五入

每個預設會選擇其寬度與影格率,接著由一個有界的每像素位元數啟發式方法選擇目標位元率,並在錄製開始前將其限制在 180 kbps – 8 Mbps 的範圍內。來源長寬比一律保持,且絕不放大來源,因此 1280 × 720 的影片在使用高品質預設時會維持 1280 × 720,而不會被升級為 1920 × 1080。輸出尺寸也會向下四捨五入至偶數像素值,以獲得更廣泛的編碼相容性。了解您選擇了哪個預設是閱讀結果的一部分,因為同一個來源在小與高品質預設下會回報不同的尺寸、影格率,且大小很可能也不同。

在系統中驗證下載的檔案

頁面上的報告只是三項檢查中的一項。第二項檢查是下載的檔案本身。開啟系統的檔案管理員,在 WebM 檔案上按右鍵,並讀取其內容或取得資訊面板中顯示的位元組大小。確認該大小與工具結果面板上回報的輸出位元組相符,因為數值不符通常代表下載未完成。再按一次右鍵,選擇以預設的媒體播放器或覽器開啟檔案;如果播放器能解碼 VP9 或 VP8 並回報中繼資料,您將會在那裡看到檔案的實際長度與像素尺寸。如果這些與工具回報的數值一致,代表錄製流程確實產生了其所宣稱的檔案。如果不一致,則檔案可能在下載過程中損毀,應重新下載或重新錄製。在兩個獨立的地方交叉檢查相同的數字,是排除部分下載或程序卡住的最便宜方法。

在下載的 WebM 中需要確認的項目

  • 檔案大小(以位元組為單位)等於頁面上的輸出位元組數。
  • 長度與來源的播放時間一致,且播放器回報的長度為有限值。
  • 像素尺寸與頁面上的輸出解析度相符。
  • 音訊從頭到尾皆可播放,沒有爆音、中斷或同步漂移。
  • 影像從頭到尾皆可播放,沒有綠色畫面、凍結或可見的撕裂。

逐步檢查您的影片壓縮結果

  1. 等待來源透過 Canvas 播放完畢;請勿關閉或重新整理頁面,因為即時編碼只有在播放結束時才會完成。
  2. 閱讀結果面板:記下輸出尺寸、輸入位元組、輸出位元組,以及帶正負號的百分比變化。
  3. 如果百分比為負或小於預期,請勿驚慌;大小取決於動態、雜訊、來源編碼、覽器編碼器與預設,因此對於已經很有效率的來源而言,產生較大的檔案是正常的結果。
  4. 點擊下載按鈕,將 WebM 儲存到已知資料夾,然後在作業系統中驗證檔案內容,確認其顯示的大小與頁面上的輸出位元組數一致。
  5. 在預設播放器或瀏覽器中開啟下載的 WebM,並從頭到尾觀看完整片段,以便確認長度、影像品質與音訊行為皆符合您目標用途的要求。
  6. 如果有任何問題,請選擇不同的預設並重新執行,因為來源仍完整保留在本機,而新的執行只需要來源播放一次的時間。
  7. 只有在完整播放下載的 WebM,並確認其符合您目標用途的大小、長度、影像、音訊與相容性要求後,才能刪除原始檔案。

當輸出比原始檔案大時

負的百分比並不代表錯誤。它通常代表來源編碼已經非常有效率、動態很高、雜訊底層很高,或所選的預設保留了比來源實際所需更多的位元。本工具並不會將較大的檔案標示為縮小,因此該百分比可以作為字面上的描述而被信任。如果大小比影像更重要,請切換到較小的預設:從高品質切換到平衡,或從平衡切換到小,會降低寬度與影格率,進而降低所要求的位元率,通常也會降低位元組數。如果影像比大小更重要,則維持較高的預設,並接受某些來源幾乎無法壓縮的事實。無論如何,結果就是編碼器實際產出的內容,而報告會如實描述而不加修飾。同樣的 MediaRecorder 流程為瀏覽器中的 WebM 擷取提供動力(在 MDN 的 MediaRecorder 參考文件中有所記載)並沒有保證縮減的概念,這也是為什麼本工具回報的是實際位元組而非估算的節省量。

確認音訊、尺寸與播放符合目標用途

此處的壓縮具備容器感知能力,但功能範圍較窄。只有在目前的瀏覽器透過 HTMLMediaElement captureStream 暴露可擷取的音訊軌時,才會包含音訊;來源在即時處理過程中可以聽到聲音播放,因此您可能需要調整裝置音量才能聽見。字幕、章節、附件、旋轉標記、色彩中繼資料與 HDR 訊號不會被保留,因此不要依賴它們能夠被帶入。輸出容器一律為 WebM,因為 MediaRecorder 對瀏覽器產生的 MP4 支援並不一致;錄製工具會先嘗試 VP9,再嘗試 VP8,最後才是通用 WebM,因此即使預設與來源相同,不同瀏覽器之間的輸出也可能不同。對於需要 MP4、精確的編碼設定檔、兩段式速率控制、固定關鍵影格間隔、字幕保留或跨平台決定性輸出的目標用途,使用維護良好的桌面編碼器是更安全的做法,且在任何清理動作之前,都應在目標應用程式中檢查下載的 WebM。如 MDN HTMLCanvasElement.captureStream() 參考文件中所述,由 Canvas 驅動的錄製方法從播放中的來源擷取內容,這也是輸出為乾淨重新編碼而非重新封裝複製檔案的技術原因。

隱私:檢查過程中哪些資料保留在您的裝置上

解碼、Canvas 繪製、MediaRecorder 編碼與下載皆在目前的瀏覽器分頁中進行,這表示來源位元組、解碼後的影格與輸出位元組在整個檢查過程中都保留在本機。過程中隨時不會發生上傳步驟,因此驗證結果並不會將影片移出您的裝置。當作業被取代、取消或卸載時,來源與輸出的物件 URL 會被撤銷,這表示當您選擇新檔案、更換預設或離開頁面時,暫存參考會立即被清理。在檢查結果是涉及私人影片、進行中的草稿或受保密協議約束之檔案的工作流程的一部分時,這一點很重要:驗證步驟除了頁面本身已進行的動作之外,並不會引入額外的伺服器往返。在下載的 WebM 經過完整驗證之前,將原始檔案保留在磁碟上,是本機優先檢查的最後一層防護。

如需深入了解,請參閱〈避免影片壓縮錯誤:本機工作流程〉

如需深入了解,請參〈使用影片壓縮時如何選擇平衡預設〉