在瀏覽器中調整影片大小意味著以新的像素尺寸重新編碼每一幀,因此在點擊 Resize 之前所做的選擇,將決定輸出是否清晰、保持比例,以及播放是否正確。Fit 模式會把你的數字視為邊界框,並在不移除畫面的情況下保留原始長寬比;Stretch 模式則會採用你輸入的確切寬度和高度,可能會刻意造成畫面變形。輸出是一個可在目前分頁即時產生的可下載 WebM,每邊上限為 1920 像素,且來源上限為 500 MiB 與五分鐘。由於這個工具會在本地解碼、繪製並錄製影格,因此不會上傳任何內容,但處理速度大約等同於播放速度——所以一段五分鐘的片段需要約五分鐘才能完成。了解這些機制,以及在人們於奇怪尺寸、編解碼器限制和音訊處理上容易出錯的小習慣,正是讓一次乾淨的調整與一次浪費的渲染之間的差別所在。

video resizer tips and common mistakes
影片調整大小技巧與常見錯誤

Fit 模式與 Stretch 模式如何產生不同的幾何結果

在任何調整之前,最重要的決定是畫面是否應保留原本的比例。Video Resizer 透過 Fit 和 Stretch 來呈現這個選擇,而兩者會產生明顯不同的影格。

Fit 會將你的寬度和高度視為邊界框。工具會選擇兩者中較小的縮放比例(寬度對目標寬度的比例 vs 高度對目標高度的比例),將該單一比例套用至兩個軸,並以空白像素填滿框的其餘部分,以在不裁切的情況下保留來源比例。Stretch 則忽略比例,獨立使用你所輸入的確切寬度和高度,因此將一個正方形來源強制變成 1920 × 1080 時,將會明顯寬於其高度。

產品規範對兩者都說明得很明確:Fit 模式「採用較小的寬度或高度縮放比例,保留來源比例,且絕不裁切」,而 Stretch 模式「獨立使用所要求的寬度和高度,因此可能會刻意造成畫面變形」。如果目標是在不失真的情況下符合某平台的規格,Fit 幾乎永遠是正確選擇;Stretch 則適用於目標框為強制規定且可接受部分變形的情境。

一個簡單的計算範例能讓數學結果一目了然。取一個 1280 × 720 的來源,並將其 Fit 進 1920 × 1080 的框內。寬度比例 = 1920 / 1280 = 1.5。高度比例 = 1080 / 720 = 1.5。將較小的比例 (1.5) 套用至兩個軸,因此輸出會落在 1280 × 1.5 = 1920 寬,以及 720 × 1.5 = 1080 高,完全填滿框而無需留白。

影響調整大小是否能執行的來源限制

Video Resizer 強制執行一組少量的硬性限制,而大多數的失敗都是默默觸碰到其中之一。事先了解這些數字,比起重新編碼後才發現來源超出預算要來得快得多。

根據已驗證的限制,來源最多可達 500 MiB 且長度不超過五分鐘,任一邊不得超過 4096 像素,且總面積不得大於 3840 × 2160 像素。每個要求的尺寸必須是介於 2 至 1920 像素之間的整數。超出這些範圍的來源會在編碼開始前遭到拒絕,因此工具會明確失敗,而不是產生誤導性的下載檔案。

  • 檔案大小上限:最多 500 MiB。
  • 時長上限:最多五分鐘。
  • 邊長上限:來源任一邊不得大於 4096 像素。
  • 面積上限:來源不得大於 3840 × 2160 像素。
  • 目標尺寸上限:每個尺寸必須是介於 2 至 1920 像素之間的整數。

編解碼器支援是另一個潛在的陷阱。這個工具接受 MP4、WebM、MOV、M4V 和 Ogg 短檔案,但僅限於目前瀏覽器能夠解碼的檔案。如果來源使用瀏覽器無法解碼的特殊編解碼器或容器,中繼資料載入步驟將會卡住,編碼器永遠不會啟動。規範中明確指出:「不支援的編解碼器、無效的尺寸、過多的來源中繼資料、空白的錄製輸出,以及瀏覽器功能的不足,都會明確失敗,而不是產生誤導性的下載檔案。」實際上,這代表在調整大小之前,應先在瀏覽器中檢查來源的播放情況,並先用桌面工具修剪或轉檔編碼異常的片段。

使用 Video Resizer 在本地調整影片大小

一旦來源通過限制檢查,實際的工作流程很短且完全在瀏覽器端進行。不會有任何資料離開裝置,編碼在目前分頁中進行,而 WebM 下載檔案會直接儲存到磁碟。

  1. 開啟 Video Resizer,並選擇一個支援的本地影片 (MP4、WebM、MOV、M4V 或 Ogg)。在操作任何控制項之前,請等待瀏覽器完成讀取檔案的中繼資料。
  2. 輸入你所需的最大寬度和最大高度,使用介於 2 至 1920 像素之間的整數。選擇 Fit 以在框內保留來源的長寬比,或選擇 Stretch 以強制使用確切的寬度和高度,而不考慮比例。
  3. 選擇 Resize video。讓分頁保持開啟並顯示在螢幕上——編碼器以最高 30 fps 即時擷取影格,因此處理時間大致等同於播放時間。
  4. 當錄製完成時,儲存產生的 WebM。這個檔案具有固定的時長,在本地產生,可立即播放或上傳。

如果來源包含音訊,工具會將瀏覽器公開的任何音軌附加到擷取的畫布串流上。如果來源是無聲的,則產生的 WebM 就不會包含音訊——這是設計上的選擇,而非錯誤。

毀掉調整後影片的常見錯誤

大多數調整大小的失敗都可歸納為幾種反覆出現的模式。在編碼前察覺這些問題,可省下一次完整的渲染。

在平台要求特定比例時選擇 Stretch。使用 Stretch 將 9:16 的來源強制變成 1920 × 1080,將會產生水平方向被擠壓的直立影片。如果目標是「在不失真的情況下放入此框內」,Fit 才是正確的模式。

假設工具會放大細節。它並不會。一個 640 × 360 的來源被調整為 1920 × 1080 時,像素尺寸會變大,但可見的細節仍然只是 640 × 360 的資訊量被拉伸到更大的畫布上。放大細節明確超出此工具的處理範圍。

輸入奇怪的尺寸。編碼器會將奇數值向下取整一個像素,因為偶數尺寸與常見的瀏覽器影片編碼器搭配時更為可靠。輸入 1081 × 721 在輸出時會變成 1080 × 720。從一開始就輸入偶數,以避免意外。

預期結果為 MP4。輸出預設為 WebM,因為錄製器會選擇支援的 VP9 或 VP8 WebM 配置。如果需要 MP4,規範建議使用專用的桌面編碼器。

預期位元率、音訊配置、色彩中繼資料或影格時間會與來源一致。這是一次即時的重新編碼,而不是僅更改中繼資料的尺寸變更。品質、位元率、影格時間、音訊配置、色彩中繼資料和檔案大小「可能與來源不同」,產品規範中如此說明。

在編碼期間關閉分頁。錄製器依附於分頁運作。在某些瀏覽器上,關閉分頁、導覽離開或失去焦點可能會中斷擷取。請保持分頁開啟,直到出現 WebM 下載為止。

在沒有權利的情況下上傳受著作權保護的媒體。此工具無法繞過 DRM,規範提醒使用者「僅使用你擁有或有權編輯的媒體」。

挑選能順利通過編碼器的尺寸

由於奇數尺寸會被向下取整,因此從一開始就選擇偶數,可讓輸出結果更為可預測。同樣地,選擇符合常見平台比例的尺寸,可降低意外出現黑邊或變形的機會。

模式將輸入視為保留長寬比可能造成變形可能裁切奇數尺寸
Fit邊界框向下取整為偶數
Stretch確切目標向下取整為偶數

幾項額外的經驗法則可幫助調整過程順利完成。每邊保持在 2 至 1920 像素之間——超出此範圍的輸入將遭到拒絕。將來源控制在 500 MiB 與五分鐘以內;較長或較大的檔案應先進行修剪。請記住,這是一次即時的重新編碼,因此一段五分鐘的片段需要約五分鐘才能處理,請據此規劃分頁的使用時間。錄製器以最高 30 fps 擷取影格,並會附加瀏覽器公開的任何音軌,因此輸出的影格時間和音訊配置可能與來源不同。

若想更深入了解本地解碼-畫布-錄製管線的底層運作方式,逐步拆解瀏覽器內調整大小管線的文章會介紹 Video Resizer 使用的相同畫布與 MediaRecorder 機制。

當目標超出瀏覽器式重新編碼所能達成的範圍時——例如影格精準度、長片內容、精確的位元率控制、色彩管理流程,或需要 MP4 輸出——產品規範會引導你改用專用的桌面編碼器。Video Resizer 適合用於快速、本地、有範圍限制的調整大小;它並非完整母帶處理流程的替代方案。

延伸閱讀:無需應用程式的影片調整工具:在瀏覽器中調整大小