影片調整大小時的疑難排解,是指從一個損壞或不如預期的結果往回追查,找出是哪一個控制項、檔案屬性或步驟所造成的問題。當調整大小出錯時,失敗通常可追溯到以下三種原因之一:瀏覽器無法解碼的來源檔案、超出工具接受範圍的目標尺寸,或是「符合」與「拉伸」之間的選擇產生了不如預期的畫面。影片調整大小工具會使用內建的瀏覽器編解碼器,在目前的瀏覽器分頁中執行所有作業,因此每個步驟都是可以觀察的:檔案是在本地端讀取、影格會繪製到經過調整大小的畫布上,而錄製結果會儲存為 WebM 檔案。這種可見性讓大多數調整大小的問題在知道要轉動哪個旋鈕之後,都變得容易診斷。疑難排解的路徑很短:確認來源受支援、確認目標尺寸在允許範圍內、選擇正確的幾何模式,然後在編碼器執行的過程中保持分頁開啟,最後再下載結果。

how do i troubleshoot a problem when i resize video
調整影片大小遇到問題時,該如何疑難排解?

調整影片大小時會出現哪些問題

症狀可歸納為幾個可預測的類別,將症狀對應到類別就解決了一半。

  • 輸出檔案從未出現,或是下載的檔案是空的或短到無法使用。
  • 結果的尺寸與您輸入的數字不符。
  • 畫面看起來被擠壓、拉扯,或出現預期外的黑邊。
  • 調整大小後,音訊缺失、音訊不同步,或聽起來失真。
  • 來源檔案在處理正式開始之前就被拒絕。
  • 編碼器回報不支援的編解碼器、缺少的軌跡或無效的尺寸。

每個症狀都指向管線中的不同層級:來源驗證、幾何計算、畫布繪製、音訊附加或錄製。一旦將症狀歸類,其修正方式通常就能從下節的限制中明顯看出。

為何一開始就會發生調整大小的問題

大多數調整大小的失敗都可歸結為少數幾個根本原因。

  • 來源編解碼器不相符。若檔案的影片或音訊編解碼器未內建於瀏覽器中,將會直接被拒絕。即使是常見的 MP4 和 MOV 容器,編解碼器的支援情況也會有所不同,因此兩個副檔名相同的檔案表現可能天差地別。
  • 來源大小或長度超出限制。檔案大小超過 500 MiB、長度超過五分鐘、單邊寬度超過 4096 像素,或總面積大於 3840 × 2160 像素,在編碼開始之前就會被拒絕。
  • 目標尺寸超出允許範圍。每個目標尺寸必須是 2 到 1920 像素之間的整數。任何超出這個範圍的值都是無效的,而且會以明顯的方式失敗,而不會產生誤導性的下載結果。
  • 幾何模式不符合目標。「符合」絕不會裁切,也絕不會扭曲;「拉伸」則一律遵守兩個數字,並可能刻意地扭曲畫面。針對預期用途選錯模式,是「看起來不對」這類抱怨最常見的原因。「符合」與「拉伸」的並排比較有助於在執行編碼之前釐清哪種模式符合您的目的。
  • 錄製期間分頁被關閉。由於編碼器在瀏覽器分頁中即時執行,中斷作業會使即時編碼在產生可用的下載檔案之前就停止。

確認來源檔案已準備好可調整大小

在更動尺寸欄位之前,請先根據工具強制執行的限制來檢查來源。支援的容器包括 MP4、WebM、MOV、M4V 和 Ogg。來源檔案大小上限為 500 MiB,長度上限為五分鐘,任一邊長不得超過 4096 像素,且單一影格面積不得超過 3840 × 2160 像素。在任何調整大小的動作開始之前,瀏覽器會在本地端讀取中繼資料,因此大多數超出限制的問題會以明確的拒絕訊息呈現,而不是在稍後以檔案損毀的方式出現。

限制允許的值
支援的容器MP4、WebM、MOV、M4V、Ogg
檔案大小上限500 MiB
長度上限5 分鐘
來源單邊長上限4096 像素
來源面積上限3840 × 2160 像素
目標寬度範圍2 到 1920 像素,整數
目標高度範圍2 到 1920 像素,整數
奇數目標值向下四捨五入到最接近的偶數

如果來源符合這些限制,下一個要檢查的變數就是幾何模式,以及目標尺寸對於來源比例是否合理。

逐步調整影片大小

來源通過預先檢查之後,實際的調整大小包含三個簡短的步驟。請依序執行,並在出現下載提示之前保持分頁開啟。

  1. 選擇一個支援的本地影片檔案,並等待瀏覽器讀取其中繼資料。在繼續之前,狀態文字應先確認來源的尺寸,因為幾何計算所使用的就是這份中繼資料。
  2. 輸入最大寬度與最大高度。選擇符合可在這些尺寸內保留來源長寬比,或選擇拉伸則可獨立使用確切的寬度與高度。「符合」會將數字視為邊界框;「拉伸」則會將數字當作最終的像素尺寸。
  3. 選擇調整影片大小,並在編碼器以最高 30 fps 的速率將影格繪製到經過調整大小的畫布上並錄製為 WebM 的過程中,保持分頁開啟。當下載提示出現時,請先儲存檔案再關閉分頁。

這種即時重新編碼是另一個常見困惑的來源:編碼所需的時間大約與影片播放時間相同。一段五分鐘的來源大約需要五分鐘的實際時間。這是重新編碼,而不是中繼資料的編輯,因此輸出會是一個具有新位元率、影格時間與色彩處理方式的全新 WebM — 請參閱MDN 關於 canvas captureStream 的參考資料,以了解此工具所依賴的底層擷取機制。

檢視結果並找出看起來不對的地方

在 WebM 下載完成後,請先進行快速的合理性檢查,再假設調整大小失敗了。

  • 確認確切的像素大小。在任何會顯示屬性的播放器中開啟檔案,並確認寬度與高度符合您的要求,且兩個值都是偶數。如果您輸入的數字少了一像素,那就是文件記載中的奇數尺寸進位,而不是 bug。
  • 注意失真。如果人臉看起來不自然地變高或變寬,很可能是幾何模式選錯了。「拉伸」會忽略來源比例而產生確切的尺寸;「符合」則會縮放畫面,直到較長的一邊符合邊界框為止,並在較短的一邊留下黑邊。
  • 聽聽音訊。只有在瀏覽器能夠公開音訊時,音訊才會被附加。如果來源有多個音軌或不常見的音訊編解碼器,產生的 WebM 可能會沒有聲音。這並不是調整大小的 bug — 而是瀏覽器無法公開該音軌。
  • 比較檔案大小與長度。由於輸出是具有受限位元率的即時重新編碼,因此檔案大小與長度會與來源不同。

當通過這些檢查之後,結果看起來仍然不對勁時,可進一步閱讀修正調整大小後看起來不對的影片結果,該文將以更詳細的方式逐步執行相同的檢查。

本地瀏覽器調整大小並非合適工具的情境

有些調整大小的問題其實不是真正的問題 — 而是代表這項工作已超出本地瀏覽器即時重新編碼所能處理的範圍。在花時間進行疑難排解之前,請先了解這些限制。

  • 輸出永遠是 WebM,而絕對不是 MP4。如果交付格式必須是 MP4,那麼適合的工具是桌面編碼器,而不是本地瀏覽器的即時重新編碼。
  • 品質、位元率、影格時間、音訊配置、色彩中繼資料以及檔案大小,全部都由瀏覽器內建的 VP9 或 VP8 編碼器決定。沒有手動的位元率滑桿,也無法保證與來源的品質相符。
  • 此工具無法放大細節、移除黑邊、裁切主體、保留字幕或多個音軌,也無法繞過 DRM。請僅使用您擁有或有權編輯的媒體。
  • 影格精準的交付、長篇影片、色彩管理的工作流程,以及精確的位元率控制,全部都不在此工具的設計範圍內。在這些情況下,正確的疑難排解方式應該是更換工具,而不是重試相同的調整大小作業。

此工具所依賴的 MediaRecorder API,會選擇瀏覽器所支援的 VP9 或 VP8 WebM 組態,這就是為什麼同一個來源在不同瀏覽器中可能會產生略有不同的輸出。這種變化已記載於MDN 關於 MediaRecorder 的參考資料中,也是「在我朋友的電腦上可以正常運作」不代表調整大小本身有問題的最常見原因。