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

can i use video crop without uploading a file
可以在不上傳檔案的情況下使用影片裁剪工具嗎?

為何本機裁剪代表無需上傳

瀏覽器本機裁剪工具的隱私承諾奠基於一個簡單事實:每個步驟都發生在您已開啟的分頁內。檔案選擇器會傳回一個本機控制代碼,由瀏覽器透過其自家的媒體堆疊進行解碼——沒有對後端的 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、寬度與高度欄位

裁剪由四個數字定義:XYwidth(寬度)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 像素。

如何在不上傳的情況下裁剪影片

  1. 從本機磁碟選擇瀏覽器可解碼的影片(MP4、WebM、MOV、M4V 或 Ogg),並等待解碼後的來源尺寸出現在 X、Y、width 與 height 欄位旁邊。
  2. 在 X、Y、width 與 height 中輸入整數像素值,確保 X + width 維持在來源寬度內,且 Y + height 維持在來源高度內。
  3. 選取 裁剪影片 並保持分頁開啟。來源會以即時速度播放一次,同時錄製器將要求的矩形繪製到 Canvas 上。
  4. 當來源播放完畢時,點選下載控制項,將產生的 WebM 檔案儲存到您的裝置。
  5. 在您的目的地播放器中開啟下載的 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。確認裁剪座標、確認音訊(若您預期會有的話)存在、確認長度與來源相符,並確認檔案在目的地播放器中能順利開啟。在那之後才刪除原始檔案。

如果您正在權衡選項,影片裁剪工具中的裁剪區域能否在影片播放期間移動? 對此有詳細說明。