是的——影片可以完全在您的瀏覽器內裁剪,無需將檔案上傳到任何伺服器,只要在本機解碼來源並只將要求的矩形重新錄製成 WebM 即可。Lizely 的 影片裁剪工具 會將來源保留在您的裝置上:當您選取檔案時,瀏覽器會將其視為本機資源來讀取、解碼其影格、只將要求的矩形繪製到 Canvas 上,然後將該 Canvas 串流錄製成 WebM 供下載。不會傳送任何內容到遠端伺服器,不需要帳號,而且原始檔案完全不會被修改。其權衡在於,這種本機做法將伺服器往返取代為即時處理——錄製器以正常速度播放來源,同時分頁保持開啟,所以一段一分鐘的剪輯大約需要一分鐘才能完成。此工具也受限於您目前瀏覽器能解碼的格式(通常是 MP4、WebM、MOV、M4V 和 Ogg),以及在錄製開始前會先檢查的一個明確的安全預算。

為何本機裁剪代表無需上傳
瀏覽器本機裁剪工具的隱私承諾奠基於一個簡單事實:每個步驟都發生在您已開啟的分頁內。檔案選擇器會傳回一個本機控制代碼,由瀏覽器透過其自家的媒體堆疊進行解碼——沒有對後端的 fetch 呼叫、沒有 multipart 上傳,也沒有指向雲端儲存空間的預簽章 URL。一旦解碼後的尺寸載入,工具會以來源影片元素作為輸入,將每個影格繪製到 Canvas 上,並透過擷取串流將該 Canvas 讀回。該串流會餵給 MediaRecorder,在記憶體中產生一個 WebM Blob;在裁剪期間您會看到的唯一網路流量,就是瀏覽器為了遙測而執行的動作,這屬於工具無法控制的範圍。想自行確認的讀者,可以參閱 WHATWG HTML 規範,其中說明了 drawImage 如何在影片元素上運作,而且完全不會離開頁面。
這種架構帶來實際的後果。因為沒有任何內容離開您的機器,所以在伺服器上也沒有什麼可在事後刪除——但如果您在匯出途中關閉分頁,同樣也沒有雲端復原機制。原始檔案永遠不會被修改,所以在您完成檢視輸出之前是否刪除它,完全由您自行決定。在某些瀏覽器中,錄製器會透過喇叭播放來源,所以若您在安靜的房間裡裁剪,請在點選 裁剪影片 之前將來源分頁靜音或使用耳機。
輸入限制與瀏覽器可解碼的檔案
在讀取任何像素座標之前,工具會根據明確的安全預算檢查來源。大於 500 MiB 的檔案、解碼後長度超過五分鐘、任何一邊超過 4096 像素,或總面積超過 3840 × 2160 的檔案會直接遭到拒絕。接受的副檔名為 MP4、WebM、MOV、M4V 和 Ogg,但合約明確指出,接受的副檔名並不保證編解碼器支援——解碼取決於您當下使用的瀏器。一個使用罕見編解碼器的 MOV 檔案可能可以在 Chrome 上解碼,卻無法在 Firefox 上解碼,工具會以「無法讀取尺寸」的方式呈現這個情況,而不是靜默失敗。
| 限制條件 | 上限 |
|---|---|
| 最大來源檔案大小 | 500 MiB |
| 最大解碼後長度 | 5 分鐘(必須大於零) |
| 最大來源邊長 | 4096 像素 |
| 最大來源面積 | 3840 × 2160 像素 |
| 接受的副檔名 | MP4、WebM、MOV、M4V、Ogg |
| 輸出面積上限 | 3840 × 2160 像素 |
輸出面積的限制甚至比來源面積更嚴格。合約規定裁剪矩形本身不得超過 3840 × 2160,這表示 3840 × 2160 的來源可以完整裁剪,但無法結合一個會將矩形部分推出影格範圍的偏移量。
解讀 X、Y、寬度與高度欄位
裁剪由四個數字定義:X、Y、width(寬度) 和 height(高度)。這四個數字都是來源影格座標系統中的整數像素計數。X 是從每個影格左上角測量的水平偏移;Y 是從同一個角落測量的垂直偏移;width 是矩形從 X 向右延伸多少像素;height 是矩形從 Y 向下延伸多少像素。預設值會選取整個影格,所以將所有欄位維持在預設值就不會裁剪任何東西。
矩形必須完全位於來源範圍內。會套用兩項檢查:X 加上 width 不得超過來源寬度,且 Y 加上 height 不得超過來源高度。每個數值都必須是非負整數,而 width 與 height 各自至少必須為兩個像素——一個像素的裁剪會遭到拒絕。無效的矩形會直接失敗,不會進行位移、裁切、四捨五入,也不會產生部分檔案,這就是在您點選 裁剪影片 之前預先檢查數值的原因。
一個實際演練的範例可以說明這些限制。假設來源是 1920 × 1080,而您想保留中央 1280 像素寬、720 像素高的區域。您可以將 X 設為 (1920 − 1280) / 2 = 320,Y 設為 (1080 − 720) / 2 = 180,width 設為 1280,height 設為 720。驗證:X + width = 320 + 1280 = 1600,小於或等於來源寬度 1920;Y + height = 180 + 720 = 900,小於或等於 1080。輸出面積為 1280 × 720 = 921,600 像素,遠低於 3840 × 2160 的上限 8,294,400 像素。
如何在不上傳的情況下裁剪影片
- 從本機磁碟選擇瀏覽器可解碼的影片(MP4、WebM、MOV、M4V 或 Ogg),並等待解碼後的來源尺寸出現在 X、Y、width 與 height 欄位旁邊。
- 在 X、Y、width 與 height 中輸入整數像素值,確保 X + width 維持在來源寬度內,且 Y + height 維持在來源高度內。
- 選取 裁剪影片 並保持分頁開啟。來源會以即時速度播放一次,同時錄製器將要求的矩形繪製到 Canvas 上。
- 當來源播放完畢時,點選下載控制項,將產生的 WebM 檔案儲存到您的裝置。
- 在您的目的地播放器中開啟下載的 WebM,並在刪除原始檔案之前,從頭到尾檢視整段剪輯的影格內容、音訊與長度。
第五個步是多數讀者會略過的一步。瀏覽器本機裁剪替代方案 在表面上可能與雲端裁剪工具看起來一模一樣,但差別在於一旦分頁關閉,您就是唯一的安全網。
輸出 WebM 的建構方式
輸出格式為 WebM 而非 MP4,這是因為 WebM 是瀏覽器 MediaRecorder 實作原生產生的容器。錄製器會從固定偏好清單中挑選第一個可用的編解碼器——先是 VP9,再來是 VP8,最後是一般的 WebM——所以實際的編碼器取決於您使用的覽器。要求的位元速率是根據裁剪後的像素面積在 30 fps 下計算,並限制在 180 kbps 到 8 Mbps 之間:小型裁剪會貼近下限,接近上限的裁剪則會推向 8 Mbps。這屬於單次設定的瀏覽器參數,而非目標檔案大小或視覺品質的保證,所以快速動態、雜訊、顆粒、來源編解碼器以及編碼器本身,都可能讓實際結果高於或低於要求的位元速率。
串流式 MediaRecorder 輸出通常省略有限的容器長度,這就是為什麼 WebM 檔案在某些播放器中可能會播超過結尾。為了避免這種情況,工具會解析錄製檔案的 Segment Info 與 TimestampScale 元素,並以 big-endian 格式插入一個以 timestamp-scale 刻度表示的 Matroska Duration 值,這是 Video Compressor 採用的同一套通過標準測試的寫入器。最終的 Blob 必須非空,且必須能以要求的尺寸解碼;若任一檢查失敗,匯出將被拒絕。
本工具不會變更的部分
像素裁剪是影格區域的操作,而不是通用的影片編輯器。它不是依時間修剪的工具,不是調整大小,不是單純壓縮,不是遮蔽或模糊處理,也不是物件移除功能。字幕、章節、附件、旋轉標、HDR 訊號以及大部分色彩中繼資料都不會保留。音訊只有在瀏器透過媒體取公開可取軌時才會包含;支援程度依瀏覽器而異,也可能取決於來源編解碼器是否包含瀏覽器知道如何錄製的軌。
| 屬性 | 裁剪後的行為 |
|---|---|
| 可見影格區域 | 在每個影格上變更為要求的矩形 |
| 輸出容器 | WebM(VP9、VP8 或一般格式,依瀏覽器而異) |
| 輸出長度 | 來源長度,並修補有限的 Matroska Duration |
| 音訊 | 僅在瀏覽器公開可擷取軌時包含 |
| 字幕、章節、附件 | 不予保留 |
| 旋轉標、HDR、色彩中繼資料 | 不予保留 |
| 裁剪動態追 | 無——整段剪輯使用一個固定的矩形 |
由於每個影格都套用同一個矩形,當不必要的邊緣在整段剪輯中是靜態的時候——例如移除上下黑邊或固定在角落的浮水印——這就是合適的工具。但當主體在畫面中移動,且您希望裁剪跟著移動時,這就不是合適的工具。
刪除來源前的結果驗證
本機處理代表本機責任。一旦分頁關閉,錄製器、指向來源的物件 URL、播放元素以及任何計時器都會被釋放;重新開啟工具無法回復進行中的匯出。因此,安全的工作流程是將原始檔案保留在磁碟上,直到您已從頭到尾在實際會使用的播放器中觀看完整段 WebM。確認裁剪座標、確認音訊(若您預期會有的話)存在、確認長度與來源相符,並確認檔案在目的地播放器中能順利開啟。在那之後才刪除原始檔案。
如果您正在權衡選項,影片裁剪工具中的裁剪區域能否在影片播放期間移動? 對此有詳細說明。