裁切影片時避免上傳錯誤,關鍵在於輸入能完整容納於每一個來源畫面內的整數像素座標、在點擊前等待解碼後的尺寸載入完成,以及在刪除原始檔案前完整檢視下載的 WebM 檔。Video Cropper 會在您目前的覽器分頁中處理檔案,絕不會將來源或輸出傳送到伺服器,因此失敗模式都是本機且可預期的:落在畫面外的矩形會被直接拒絕,不會位移、裁剪、四捨五入,也不會產生部分檔案;未通過整數、非負值或最小兩像素檢查的數值不會被靜默修正;輸出面積超過 3840 × 2160 像素的矩形也會被直接拒絕。在開啟檔案前了解這四項相互影響的限制,正是乾淨匯出與被拒絕的裁切、靜默輸出,或因容器時長從未寫入而導致部分播放器拒絕開啟的 WebM 檔之間的差別。本文將逐步說明每項前置條件、讓矩形保持有效的精確座標計算,以及在您將檔案視為定稿前能抓出靜默音訊遺失或缺少時長的驗證步驟。

影片裁切真正失敗的地方
當裁切結果看起來不對時,原因幾乎一定是下列四項輸入之一:尺寸、座標、音訊預期或輸出驗證。這個工具並不會模糊真實失敗與成功匯出之間的界線,因此每一項都會以安靜的意外呈現,而不是明確的錯誤。
- 輸入時尺寸尚未就緒。來源尺寸只有在瀏覽器完成解碼檔案後才會存在。在那之前輸入數值代表您是在猜測;工具會直接拒絕,不會位移、裁剪、四捨五入,也不會產生部分檔案。
- 座標為小數、被截斷或為負數。工具會將數值解析為未經處理的整數像素。貼上帶有前後空白的「 320 」、複製的「319.5」,或是像「-4」這類偏移值,全都會驗證失敗,矩形會被拒絕,不會被吸附到鄰近像素。
- 音訊靜默消失。只有當瀏覽器透過 Media Capture 公開可擷取的音軌時,工具才會附加音訊。在某些來源中,音軌可能會被靜音、以無法擷取的形式附加,或根本不存在;檔案會播放並結束而不產生錯誤,但輸出卻是無聲的。
- 輸出在檢視前就被視為定稿。串流式的 MediaRecorder 輸出可能會省略有限的容器時長,而工具會透過 Matroska Duration 寫入器將其補上,但下游播放器仍會有所不同。在目的地播放器中確認時長、影像和音訊,是確保 WebM 可用的唯一方法。
裁切前檢查清單:在點擊前先確認
五項確認就能讓幾乎所有裁切在第一次嘗試時就成功。請在工具中選擇「裁切影片」之前,先逐項檢視這份清單。
- 來源可在瀏覽器中播放。先在相同的瀏覽器中直接開啟該檔案。如果瀏覽器拒絕解碼,任何網頁內的工具都無法挽救;請選擇您瀏覽器實際支援 codec 的 MP4、WebM、MOV、M4V 或 Ogg 容器。通過的副檔名並不保證 codec 支援。
- 來源尺寸可見。請等待工具回報解碼後的寬度與高度。在那之前輸入的任何內容都是猜測,而猜測出來的矩形會失敗。
- 檔案符合安全預算。正檔案最大 500 MiB、解碼後時長嚴格大於零且最多五分鐘、任一邊不超過 4096 像素、來源面積不超過 3840 × 2160 像素。超出這些限制的檔案無論副檔名為何,都會被拒絕。
- 矩形位於畫面內。X 必須介於 0 與(來源寬度減去裁切寬度)之間,Y 必須介於 0 與(來源高度減去裁切高度)之間,X 加上寬度必須小於或等於來源寬度,Y 加上高度必須小於或等於來源高度。
- 寬度與高度各自至少兩個像素。單一像素的矩形會被拒絕;請使用在兩個方向上都至少有兩像素範圍的真正裁切區域。
如果這些檢查中有任何一項失敗,請先修正來源,再回到工具。略過前置步驟會浪費一次即時處理,因為在分頁保持開啟的期間,處理所需的時間大約等於來源本身的長度。
使用 Video Cropper 在瀏覽器中裁切影片
以下是 Video Cropper 所依循的精確工作流程。每個步驟都對應到工具在開始重新錄製前所執行的特定關卡。
- 選擇瀏器可解碼的影片。使用檔案選擇器從您的裝置中選取 MP4、WebM、MOV、M4V 或 Ogg 檔案。請勿貼上 URL;工具只會讀取您選擇的本機檔案,內容不會離開此分頁。
- 等待來源尺寸載入。工具會解碼檔案一次並回報寬度與高度。在這些數字出現之前,請勿輸入任何座標,因為矩形會根據解碼後的畫面進行驗證。
- 輸入整數像素的 X、Y、寬度與高度。X 將矩形從左上角向右移動,Y 將其向下移動,寬度為水平範圍,高度為垂直範圍。每個數值都是未經處理的非負整數像素,且寬度與高度必須各自至少為 2。
- 確認矩形位於畫面內。請檢查 X 加上寬度至多等於來源寬度、Y 加上高度至多等於來源高度,且最終輸出面積至多為 3840 × 2160 像素。
- 選擇「裁切影片」並保持分頁開啟。來源會在本機播放,同時工具使用 drawImage 將固定的矩形繪製到 Canvas 上,將該 Canvas 串流錄製為 WebM,並以 timestamp-scale ticks 插入有限的 Matroska Duration,讓容器擁有已知的長度。處理為即時進行,因此一分鐘的來源大約需要一分鐘。
- 下載 WebM 並完整檢視。在您的目的地播放器中開啟下載的檔案,確認時長、影像、音訊,以及裁切區域是否完全符合您的預期。
- 在檢視完成前保留原始檔。請在確認輸出的每項屬性後再刪除來源檔案,因為 WebM 是重新錄製而成,而不是容器層級的編輯。
決定裁切是否被接受的限制
下表列出您在點擊「裁切影片」時工具所套用的每一項相互影響的約束。請將每一列視為硬性前置條件;任何一列失敗都會拒絕該矩形,而且不會退而求其次使用整個畫面。
| 限制 | 門檻 | 適用位置 |
|---|---|---|
| 來源檔案大小 | 最大 500 MiB | 輸入 |
| 來源解碼時長 | 嚴格大於零且不超過 5 分鐘 | 輸入 |
| 來源最長邊 | 最多 4096 像素 | 輸入 |
| 來源面積 | 最多 3840 × 2160 像素 | 輸入 |
| X 偏移 | 非負整數像素;X + 寬度必須 ≤ 來源寬度 | 座標 |
| Y 偏移 | 非負整數像素;Y + 高度必須 ≤ 來源高度 | 座標 |
| 裁切度 | 整數像素,至少 2 | 座標 |
| 裁切高度 | 整數像素,至少 2 | 座標 |
| 輸出面積 | 最多 3840 × 2160 像素 | 座標 |
| 編碼位元率 | 介於 180 kbps 至 8 Mbps 之間,以裁切面積於 30 fps 計算得出 | 輸出 |
| 輸出編解碼器 | 瀏覽器回報的第一個 WebM 錄製器,依序為 VP9、VP8 與通用 WebM | 輸出 |
失敗的矩形會被直接拒絕,不會位移、裁剪、四捨五入,也不會產生部分檔案。在點擊前依據此表進行計算,可省下整個即時處理過程與一次完整的瀏覽器端錄製循環。
在刪除來源前先驗證 WebM
乾淨的下載並不等同於經過驗證的裁切。三項檢查能抓出表面上像成功、實際上卻靜默失敗的情況。第一項是時長:工具會在錄製後將有限的 Matroska Duration 補寫到 WebM 中,但當該值處於邊界時,部分播放器仍可能出現異常;請在您的目的地播放器中開啟檔案,確認進度列顯示的長度正確。第二項是影像:裁切是固定的矩形,因此可見區域必須在每一個畫面上都與 X、Y、度和高度相符,包括在快速動作期間。第三項是音訊:如果您的來源含有聲音,請聆聽輸出,因為只有在瀏覽器公開可擷取的音軌時才會包含音訊,而支援程度會依瀏覽器、codec 與製作工具而有所不同。無聲的輸出不一定是處理錯誤,但在將檔案視為定稿前仍須加以確認。如需更深入了解像素、音訊與時長在各種輸出之間如何交互作用,請參 Video Cropper 精確度:像素、音訊、時長 逐步說明。
工具不會做的事
Video Cropper 會對每個畫面套用一個固定矩形,並將該區域重新錄製為 WebM。超出此範圍的任何事項都不是您犯的錯誤,而是工具未提供的功能,將其視為錯誤是常見的挫折來源。
- 不是依時間裁剪的工具。裁剪器是依開始與結束時間戳記進行切割;裁切器只能改變可見的畫面區域。
- 不是僅調整大小或壓縮的工具。輸出尺寸等於裁切矩形。位元率範圍介於 180 kbps 至 8 Mbps,並以 30 fps 下裁切後的像素面積計算得出,而不是依據目標檔案大小。
- 不提供動態裁切。矩形是固定的;如果您需要裁切跟隨人物或物件,則需要使用其他工具或手動設定關鍵影格,因為本工具不會追蹤移動中的主體。
- 不會保留完整容器。字幕、章節、附件、旋轉標記、HDR 訊號與色彩中繼資料都不會被保留。輸出為錄製的 Canvas 串流,因此僅有影片,以及在可擷取時的音訊,會被保留下來。
- 不保證大小或品質。位元率為單次通過的瀏覽器設定,並非目標大小或視覺品質的保證;快速動作、雜訊、粒、來源 codec 以及瀏覽器編碼器都可能改變結果。
請在實際使用該輸出的播放器中完整檢視之前,保留原始檔,並僅在檢視完成後再刪除來源。最後這一步是最常被略過的,也正是將可挽回的裁切變成永久遺失的那一步。
相關閱讀:裁切影片會上傳我的影片嗎?瀏覽器裁切工具解析。