輸出結果是 WebM,因為基於瀏覽器的影片縮放會使用瀏覽器中已安裝的編解碼器重新編碼您的影片片段,而這些編解碼器預設會寫入 WebM 容器。當您使用 影片縮放工具等工具在本機縮放影片時,來源會在您目前的分頁中逐影格解碼,每個影格會以新的尺寸繪製到 HTML canvas 上,而該 canvas 會被擷取回影片串流,以便 MediaRecorder 將其打包為 WebM 檔案。不涉及伺服器,不會載入額外的媒體相依套件,編碼器路徑與瀏覽器用於內嵌播放影片的路徑相同。格式是編碼器的特性,而非工具對您內容所做的選擇,因此 MP4 和 MOV 輸出需要完全不同的處理流程。

why is the result webm when i resize video
為什麼縮放影片時結果是 WebM

為什麼縮放後的結果是 WebM 檔案

簡短的答案是,VP8 和 VP9 是標準瀏覽器分頁中可用的影片編解碼器。它們是為網頁播放所制定的標準,基於 Matroska 的 WebM 容器圍繞它們而建構,每個現代瀏覽器都透過 MediaRecorder API 將它們公開為現成可用的錄製設定。不想依賴伺服器、下載或沉重的原生相依套件就能運作的本機工具,必須使用瀏覽器已提供的功能。WebM 搭配 VP8 或 VP9 正好就是這個選項。

這也是影片縮放工具在其常見問題中給出的答案:該工具使用內建的瀏覽器編解碼器,避免大型媒體相依套件或伺服器處理。同樣的邏輯也適用於其他在瀏覽器內運作的重新編碼工具,這些工具在不上傳的情況下縮放、裁剪或剪輯片段,這就是為什麼首次縮放影片的讀者經常會驚訝地發現,不論來源格式為何,下載資料夾中都會出現一個 .webm 檔案。

瀏覽器縮放如何將任何來源轉換為 WebM

不論來源是 MP4、WebM、MOV、M4V 還是 Ogg,處理流程都相同。首先瀏覽器使用其自身的解碼器解碼所選的檔案,並讀取寬度、高度、持續時間和可用音軌的元資料。然後使用 HTMLCanvasElement.captureStream 將即時影片串流附加到一個已調整為目標尺寸的 canvas,並以每秒最多三十個影格的速度將解碼後的影格繪製到該 canvas 上。最後,MediaRecorder 使用瀏覽器回報為支援的 VP9 或 VP8 WebM 設定來錄製擷取到的串流,這就是為什麼不論來源原始格式為何,最終下載的檔案永遠都是 WebM。

整個迴圈都在您目前的瀏覽器分頁中執行,這表示您的影片從未上傳到伺服器,且重新編碼大致以即時速度執行。您可以在這篇關於本機縮放與隱私的說明中進一步了解您的檔案會發生什麼事。

使用影片縮放工具在本機縮放影片

實際操作流程很短,因為繁重的工作都在瀏覽器內部完成。開啟工具、選擇檔案、輸入數字、選擇模式,然後下載 WebM。

  1. 選擇一個支援的本機影片(MP4、WebM、MOV、M4V 或 Ogg),並等待瀏覽器完成載入其元資料後再變更任何欄位。
  2. 輸入您想要的最大寬度和最大高度,然後選擇符合以在該邊界框內保留來源長寬比,或選擇拉伸以強制使用您輸入的確切寬度和高度。
  3. 選擇縮放影片並在即時編碼期間保持分頁開啟;關閉或將分頁切換到背景可能會中斷錄製。
  4. 處理完成後,從工具提供的連結下載 WebM 結果,並視需要重新命名或移動。

符合與拉伸:選擇正確的輸出行為

兩種模式都會產生 WebM,但它們所產生的幾何形狀不同。符合將您的數字視為邊界框,並套用較小的寬度或高度比例,因此可在不裁剪的情況下保留來源長寬比。拉伸則獨立地使用您的寬度和高度,因此可能會使畫面失真,這只有在確切尺寸比影像形狀更重要時才有用。

行為符合(保留長寬比)拉伸(確切尺寸)
將輸入視為最大邊界框確切的寬度和高度
來源長寬比保留可能會失真
套用裁剪否否
最適合在目標尺寸內讓畫面看起來正常填滿允許失真的目標位置

如果回傳的 WebM 看起來有問題,原因幾乎總是符合與拉伸的選擇,而不是編碼器。這篇疑難排解指南說明了常見的原因。

WebM 縮放會變更與保留的內容

由於 WebM 是透過即時重新編碼產生,而不是元資料編輯,即使尺寸看起來正確,幾個可見的屬性仍可能改變。了解哪些會被保留、哪些不會,有助於在下載前設定合理的預期。

屬性WebM 縮放後的狀態
像素尺寸變更為您的符合或拉伸目標,向下取整為偶數像素
容器格式永遠是 WebM(VP8 或 VP9)
來源長寬比在符合中保留,在拉伸中可能失真
音訊瀏覽器公開的音軌在可用時會附加
品質、位元速率、影格時序、檔案大小因為是全新的編碼,所以可能與來源不同
字幕、多重音軌、色彩元資料、DRM不會保留;工具不會處理這些項目

如果您需要位元速率控制、色彩管理輸出、字幕或 MP4 容器,桌面型編碼器才是合適的工具。瀏覽器內方法的最佳化重點在於速度、隱私,以及在不透過伺服器的情況下在您的裝置上取得可用的 WebM。

可能導致無法產生 WebM 結果的限制

有幾項限制可能導致縮放作業明顯失敗,而不是默默失敗。每個寬度和高度必須是介於 2 到 1920 像素之間的整數;奇數值會減一,以便編碼器接收對編解碼器安全的偶數尺寸。來源本身限制為約 500 MiB 和五分鐘,任一邊不得超過 4096 像素,面積不得超過 3840 × 2160 像素。不支援的編解碼器、無效的尺寸、過多的來源元資料、空白的錄製輸出,或是缺少必要 API 的瀏覽器,都會以可見的方式失敗,而不是產生誤導性的下載。由於縮放使用瀏覽器自身的編解碼器,因此結果的能力僅與您當下執行的瀏覽器相當。

WebM 何時是縮放片段的合適格式

搭配 VP8 或 VP9 的 WebM 廣泛被用於網頁播放、接受 WebM 上傳的社群平台、Discord、電子郵件附件,以及大多數現代媒體播放器。它也是與 HTML5 影片自然搭配的格式。當目的地是上述其中之一時,WebM 結果正是您想要的,您可以不再關注副檔名。如果目的地是舊版工作流程、廣播工具,或嚴格要求 MP4 的系統,請規劃使用專用桌面型編碼器進行第二步,將 WebM 重新打包,而不是期望基於瀏覽器的縮放直接產生 MP4。