在任何影片裁切工具中,X 和 Y 是像素位移值,用來標示新矩形的左上角從每一個來源影格的左上角開始的位置。X 控制水平位置,當數值增大時矩形向右移動,Y 則控制垂直位置,當數值增大時矩形向下移動。另外兩個數字——寬度和高度——決定矩形從該起點延伸多遠。四個數值使用相同的單位,也就是來源像素,因此 X 加上寬度不得超過來源寬度,Y 加上高度不得超過來源高度。每個數值必須是非負整數,且寬度和高度各自至少要有兩個像素。Video Cropper 將這四個數字視為一個固定的矩形來讀取,並將選取區域重新錄製為 WebM,因此理解 X 和 Y 是獲得乾淨輸出的第一步,可以避免位移、裁切或執行失敗的情況。

X 和 Y 是從左上角算起的像素位移
影片影格使用座標系統,其原點位於影格最左上角的那個像素,也就是座標 (0, 0)。從這裡開始,像素位置沿著水平軸向右、沿著垂直軸向下計算。X 是從該原點算起的水平位移,Y 則是垂直位移。在裁切工具中沒有負方向可以使用,所以 X 和 Y 只能是零或正整數。
設定 X = 0 且 Y = 0 表示裁切矩形正好從影格的左上角開始。設定 X = 200 表示矩形的左緣從每一個影格左側往內 200 像素處開始。設定 Y = 80 表示矩形的上緣從每一個影格頂端往下 80 像素處開始。這兩個位移值會一致地套用,因為 Video Cropper 在來源播放的每一個影格中,都會將同一個矩形繪製到 Canvas 上,所以裁切區域不會飄移或產生動畫。相同的座標慣例在 WHATWG HTML 規格中用於 Canvas 的 drawImage 操作,而這正是裁切工具用來將來源像素定位到較小錄製表面的操作。
四個數字如何搭配運作
X 和 Y 只描述一個起點。要定義一個可用的矩形,還需要寬度和高度。寬度控制矩形從 X 開始向右延伸多遠,高度控制從 Y 開始向下延伸多遠。裁切矩形的四個邊緣會自動從這些數值計算出來:
- 左緣:距來源左側 X 像素
- 上緣:距來源頂端 Y 像素
- 右緣:距來源左側 X + width 像素
- 下緣:距來源頂端 Y + height 像素
以下說明每個輸入項目在 Video Cropper 中控制什麼:
| 輸入 | 控制的項目 | 方向 | 單位 |
|---|---|---|---|
| X | 左緣位置 | 從左上角向右 | 整數像素,≥ 0 |
| Y | 上緣位置 | 從左上角向下 | 整數像素,≥ 0 |
| Width | 矩形的水平範圍 | 從 X 向右 | 整數像素,≥ 2 |
| Height | 矩形的垂直範圍 | 從 Y 向下 | 整數像素,≥ 2 |
舉例來說,如果來源影格是 1920 × 1080,且你輸入 X = 240、Y = 120、width = 1280、height = 720,則矩形從左上角向右 240 像素、向下 120 像素處開始,並橫向延伸 1280 像素、向下延伸 720 像素。右緣在 240 + 1280 = 1520 結束,仍在 1920 之內;下緣在 120 + 720 = 840 結束,仍在 1080 之內,所以矩形得以容納而不會被裁切。
如何在 Video Cropper 中使用 X 和 Y 進行裁切
- 開啟 Video Cropper 並選擇瀏覽器可解碼的來源檔案,例如 MP4、WebM、MOV、M4V 或 Ogg。等待工具回報解碼後的來源尺寸;你需要先有這些數字,X、Y、寬度或高度的值才有意義。
- 計算你想要的矩形。記下來源寬度和來源高度,然後挑選 X 和 Y 作為從左上角算起的位移,使其留有你所需寬度和高度的空間。確認 X + width ≤ 來源寬度且 Y + height ≤ 來源高度,並檢查 width × height 不得超過 3840 × 2160。
- 將四個數值以未去除空白的整數像素輸入 X、Y、width 和 height 欄位。預設值已經選取整個影格,所以你輸入的矩形會取代這些預設值。
- 選擇裁切影片。在來源以實際速度播放一次期間,保持瀏覽器分頁開啟。裁切工具會將相同區域繪製到 Canvas,把串流擷取為 WebM,並透過時間戳刻度的 tick 在容器中補上一段有限的 Matroska Duration。
- 下載產生的 WebM,然後在目的播放器中完整檢視後再刪除原始檔。確認時間長度、裁切區域、音訊行為以及相容性。
由於處理速度與播放速度相符,一段一分鐘的來源大約需要一分鐘才能完成裁切。關閉分頁、過度切換焦點或讓裝置進入睡眠狀態都可能中斷錄製,所以請預先規劃,讓分頁保持作用中且可見,直到下載出現為止。
每個 X、Y、寬度與高度數值都必須遵守的規則
Video Cropper 會將這四個數字驗證為一個單一矩形。若任何規則未通過,工具會拒絕該矩形,並且不會位移、裁切、四捨五入或產生不完整的檔案。這些規則直接來自產品合約:
- 每個數值會以未去除空白的整數像素數來解析。小數、字母或殘留的空白會導致驗證失敗。
- X 與 Y 必須是非負的。因為矩形必須位於來源之內,所以沒有超出影格的方向。
- 寬度與高度各自至少必須為 2 像素。單一像素的條狀區域太窄,無法錄製出有用的區域。
- X + width 必須小於或等於來源寬度。Y + height 必須小於或等於來源高度。矩形必須完全留在每一個解碼後的影格之內。
- 輸出矩形的面積不得超過 3840 × 2160 像素,即使來源本身更大也不行。
- 來源須共用明確的影片安全預算:檔案大小為正的 500 MiB 以內,解碼後的時長大於零且不超過五分鐘,來源任一邊不得超過 4096 像素,來源面積不得超過 3840 × 2160。通過的副檔名並不代表保證支援編解碼器;解碼能力取決於目前瀏覽器能播放的內容。
無效的矩形會在不產生 WebM 的情況下回傳錯誤,因此輸入失敗絕不會覆寫你的原始檔。Object URL、計時器、錄製軌以及播放會在替換、錯誤、過時完成或卸載時停止或釋放,讓每次嘗試之間的分頁保持乾淨。
X 和 Y 無法做到的事
X 和 Y 描述的是一個固定的矩形,會套用到來源的每一個影格。它們不會產生移動的裁切、追蹤的區域或逐影格的調整。如果你需要讓矩形跟隨主體、改變大小或產生動畫,Video Cropper 並不是合適的工具。裁切工具也不是依時間裁剪、調整大小、僅壓縮、遮蔽、模糊或移除物件的操作。它會改變可見的影格區域,但不會編輯時間軸。
座標從來源影格的左上角開始計算,且以來源像素而非目標像素或螢幕像素表示。如果來源是 3840 × 2160 而你想要 1920 × 1080 的輸出,請直接輸入來源像素:X = 960、Y = 540、width = 1920、height = 1080 會將矩形置於影格中央,並維持原生來源解析度。
字幕、章節、附件、旋轉標籤、HDR 訊號、色彩中繼資料以及其他容器特性都不會保留。音訊只有在瀏覽器透過媒體擷取公開可擷取軌道時才會包含,而且會依瀏覽器和來源而有所不同,來源在即時處理期間可能會播放出聲音。在刪除原始檔之前,請同時確認下載的 WebM 中的影像和聲音。
| 情境 | X 和 Y 的意義 | 會發生什麼事 |
|---|---|---|
| 來源為 1920 × 1080,輸入 X = 100、Y = 50、width = 800、height = 600 | 矩形的左上角位於影格左上角向右 100 px、向下 50 px 處 | 有效:矩形在 900 × 650 結束,位於來源之內 |
| 來源為 1920 × 1080,輸入 X = 1500、Y = 0、width = 600、height = 400 | 矩形的左上角從內側 1500 px 處開始 | 無效:X + width = 2100 超過來源寬度 1920 |
| 來源為 1280 × 720,輸入 width = 1、height = 1 | 單一像素的矩形 | 無效:寬度與高度各自至少必須為 2 |
| 來源為 3840 × 2160,輸入 width = 3840、height = 2160、X = 0、Y = 0 | 在最大輸出面積下的全影格矩形 | 有效:矩形在 3840 × 2160 輸出上限下與來源相符 |
| 來源為 1920 × 1080,輸入 X = -10 | 超出影格的起點 | 無效:X 必須是非負的 |
常見的錯誤,例如寬度和高度對調,或使用目標尺寸而非來源尺寸,都可能毀掉輸出。常見錯誤指南透過具體範例帶你看穿這些陷阱。
為何像素精確的座標很重要
使用 X 和 Y 來取代拖曳視覺選取框,正是像素精確輸入的價值所在。視覺選取工具時常會對齊格線、縮放以符合視口,或回報螢幕像素而非來源像素的座標。Video Cropper 完全跳過這些,直接要求來源像素,並對照解碼後的影格尺寸進行驗證,在不四捨五入的情況下將同一個矩形套用到每一個影格。當平台要求已知的影格尺寸(例如 1080 × 1920 的垂直輸出)、當不需要的邊緣在整段影片中都固定不變、或當你需要在一個共用尺寸的第二個來源上重現同一個裁切時,這點就格外重要。輸入相同的四個數字,WebM 就會看起來一樣,這就是以座標驅動的裁切工具最核心的承諾。
延伸閱讀:500 MiB 上限在影片壓縮中的意義。