標準的影片裁切工具會對影片的每一幀套用同一個固定矩形區域,因此裁切範圍不會像平移或縮放那樣在影片播放時移動。當你以原始像素設定 X、Y、寬度和高度時,這四個數值會定義出一個矩形,工具會在從頭到尾解碼的每一幀上,把這個矩形繪製到 Canvas 中。它不會追蹤人物或物件,不會跟隨動作,也不會隨時間動畫化這個矩形。如果主體走出這個矩形,主體就會從輸出中消失。如果鏡頭平移而你的矩形不再涵蓋你想保留的內容,矩形仍會留在你當初設定的位置。這種做法的權衡在於精準度:你可以獲得精確、可重複的像素座標,以及一個能由相同四個數值重新產生的確定性輸出,這正是平台在指定已知畫面尺寸時所要求的。Video Cropper 就是以這種方式運作,在你的瀏覽器中,對每一幀套用同一個矩形。
這個固定矩形模型是這個工具所有環節的基礎,不論是讀取你的輸入,或是產出最終的 WebM。本頁其餘部分將說明這在實務上的意義、如何設定這四個座標、裁切工具所強制的限制、工具為輸出所做的位元率與容器選擇,以及在你刪除原始檔案前應確認的事項。

固定矩形裁切如何套用至每一幀
裁切工具會先解碼你的來源影片,然後透過 HTML5 Canvas 元素重新繪製。在每一幀上,工具會呼叫 Canvas 的 drawImage 操作,以你的四個數值作為來源矩形,並搭配一個對應的目標矩形,如此一來只有你要求的像素會被繪製出來。WHATWG HTML 規範位於 html.spec.whatwg.org/multipage/canvas.html,說明了 drawImage 呼叫如何把來源矩形對應到目標矩形,而裁切工具正是使用這個確切的行為,把目標矩形的大小調整為與來源矩形一致,使裁切區域內的輸出保持原始大小。Canvas 的串流接著會被傳遞給 MediaRecorder,它會捕捉重新繪製的幀並寫入 WebM 容器中。
因為每一幀都使用相同的四個數值,所以裁切視窗不會飄移、抖動或偏移。擷取過程是針對正在播放的來源影片元素即時執行,因此一分鐘的來源大約需要一分鐘才能完成,過程中分頁必須保持開啟,系統也必須保持喚醒狀態。如果你想要不同的區域,就必須更改這四個數值並重新執行裁切;一旦錄製開始,就無法在原地編輯矩形,一旦設定完成,也不會對矩形進逐幀動畫。
在瀏覽器中使用固定矩形裁切影片
- 在瀏覽器中開啟 Video Cropper,並選擇瀏覽器能解碼的檔案:MP4、WebM、MOV、M4V 或 Ogg。在你開始操作座標欄位之前,請先等待解碼後的尺寸顯示出來,因為工具需要先知道原始寬度與height,才能驗證你的矩形。
- 查看所顯示的原始寬度與height。規劃 X、Y、寬度和高度,讓 X 加寬度不超過原始寬度,Y 加高度不超過原始height。預設值會選取整個畫面,如果你不確定要裁掉多少,這是一個安全的起點。
- 為 X 和 Y(從畫面左上角算起的位移)輸入完整、未裁切、非負的像素值,接著再輸入寬度和高度。寬度和高度各自至少必須為 2 像素,且輸出區域不得超過 3840 乘 2160 像素。以 1920 乘 1080 來源進行的驗算範例:X = 240,Y = 120,寬度 = 1440,高度 = 840,可得 X 加寬度 = 1680(最多 1920),Y 加高度 = 960(最多 1080),因此矩形落在畫面範圍內,裁切將會開始。
- 依據你的原始尺寸確認矩形。如果矩形無效,舉例來說 X 加寬度超過原始寬度,工具會直接拒絕,不會平移、裁剪、四捨五入或產出局部檔案,也不會開始錄製。
- 點擊 Crop video。在即時處理期間請保持分頁開啟;當音訊可被擷取時,來源會在擷取過程中以可聽見的音量播放,一分鐘的來源大約需要一分鐘才能完成。
- 當 WebM 下載選項出現時,儲存檔案並在你要使用的目標播放器中播放。確認長度、裁切位置、音訊行為,以及與你打算發佈平台的相容性。只有在完成這些完整檢查後,才能刪除原始檔案。
裁切工具強制執行的輸入、限制與像素規則
對於任何可能產出損壞、尺寸過大或超出邊界的檔案的輸入或座標組合,裁切工具會拒絕開始。這些規則來自該工具與 Video Compressor 共用的審核機制,以及在錄製開始前執行的矩形驗證器,因此相同的數值在這兩個工具中會有一致的行為。
| 項目 | 接受的值或規則 |
|---|---|
| 檔案選擇器接受的副檔名 | MP4、WebM、MOV、M4V、Ogg |
| 原始檔案大小上限 | 500 MiB |
| 解碼後長度範圍 | 大於零,最長五分鐘 |
| 來源邊長上限 | 4096 像素 |
| 來源面積上限 | 3840 乘 2160 像素 |
| 輸出面積上限 | 3840 乘 2160 像素 |
| 寬度與高度最小值 | 各自 2 像素 |
| 座標原點 | 來源畫面左上角,以未裁切的完整像素為單位 |
| 座標正負號 | X、Y、寬度、高度皆為非負 |
| 無效矩形的處理方式 | 直接拒絕,不進行平移、裁剪、四捨五入或部分輸出 |
副檔名被接受並不等於保證能解碼。檔案必須先在你目前的瀏覽器中解碼,裁切工具才能對其進行處理,而編解碼器的支援情況因瀏覽器而異。如果檔案無法載入,裁切工具將不會嘗試錄製。
位元率、幀率與輸出容器
裁切工具以大約每秒 30 幀的速率擷取 Canvas 串流,並向瀏覽器要求一個隨裁切後像素面積調整的影片位元率。該工具使用的公式將下界設為 180 kbps,上界設為 8 Mbps,目標值是由裁切後的像素導出,而非依據原始畫面大小。輸出容器為 WebM,使用瀏覽器在 VP9、VP8 與通用 WebM 之間最先回報的 MediaRecorder MIME 類型。當瀏覽器在來源上提供可擷取的音訊軌時,該音訊軌會被附加到 Canvas 串流,使 WebM 帶有聲音;若沒有可擷取的音軌,輸出將會是無聲的。
| 輸出屬性 | 裁切工具的設定方式 |
|---|---|
| 容器 | WebM,以 TimestampScale ticks 寫入有限的 Matroska Duration,依據 IETF Matroska Media Container Format draft |
| 影片編解碼器 | VP9、VP8 或通用 WebM,依瀏覽器最先回報者為準 |
| 擷取幀率 | 來自 Canvas drawImage 迴圈,約 30 fps |
| 影片位元率上下界 | 下界 180 kbps,上界 8 Mbps,由裁切面積導出 |
| 音訊 | 僅在瀏覽器提供可擷取音軌時附加,否則為無聲 |
| 保留的中繼資料 | 無:字幕、章節、旋轉標記、HDR 訊號與色彩中繼資料皆不會被保留 |
| 檔案大小保證 | 無:快速動作、雜訊、來源編解碼器與瀏覽器編碼器都會影響大小與品質 |
由於 MediaRecorder 輸出可能缺少有限的容器長度,裁切工具會在錄製完成後修補檔案,使用與 Video Compressor 相同的、通過標準測試的 WebM Duration 寫入器。它會解析 Segment Info 與 TimestampScale,以大端序在 timestamp-scale ticks 中插入 Matroska Duration 值,並驗證結果為非空且能以要求的尺寸解碼。物件 URL、計時器、錄製軌道與播放會在每一個結束路徑上釋放,以避免失敗或被取代的執行流程造成資源洩漏。
固定裁切何時能解決任務(何時無法)
當你的邊緣是靜態且區域已知時,固定矩形裁切就是合適的工具類型。底部帶有標誌列、角落出現多餘 UI 元素、固定的上下黑邊,或是已知的黑色邊框,正是像素級精確座標能發揮作用的場景,因為你只需測量一次、設定四個數值,每一幀都會裁掉相同的像素。當目標平台指定畫面尺寸時,例如短格式直向動態消息、橫幅廣告及其他需要已知區域的版面配置,裁切工具同樣是合適的選擇。
當主體會移動而裁切範圍必須跟隨時,固定裁切就是錯誤的工具。裁切工具不會追蹤人物、臉孔或物件,也不會隨時間對矩形設定關鍵影格,因此如果你設定的矩形無法在整段影片中涵蓋主體,主體就會離開輸出畫面。針對移動中的主體,你需要的是能逐幀更新矩形的追蹤器或自動重新構圖工具,而 Video Cropper 並非此類工具。裁切工具也不是依時間裁切的工具、調整大小的工具、僅壓縮的工具、遮蔽的工具、模糊的工具或物件移除工具,將它用於這些用途將會產生錯誤類型的檔案。
在刪除來源之前驗證輸出
在徹底檢視 WebM 之前,請將它視為候選檔,而不是成品。請在實際發佈時使用的播放器中開啟它,確認長度符合預期、裁切矩形在整段影片中位置正確、來源有聲音時音訊能播放、來源無聲時輸出也無聲,以及編解碼器播放順暢、沒有掉幀。裁切工具使用 W3C MediaStream Recording 與 Media Capture from DOM Elements 路徑進行擷取,並使用 Matroska 容器進行儲存,因此任何支援這些規格的播放器都是合適的確認環境。
只有在完成上述檢查後,才能刪除原始檔案。在此之前,請保留來源檔案,以便在上述任何檢查未通過時,能以調整過的座標重新執行裁切。