iPhone 上的影片裁剪工具可以在瀏覽器中將片段裁剪成精確的像素矩形,無需安裝應用程式或上傳檔案。現代 iPhone 上的 Safari 可以解碼 MP4、WebM、MOV、M4V 和 Ogg 影片,將選定的子矩形繪製到 Canvas 上,將該 Canvas 錄製成 WebM,並提供下載結果檔案——全程都在裝置上完成。這是因為每個步驟(解碼、裁剪、錄製、修補時長、下載)都在開啟的分頁中執行;不會傳送任何資料到伺服器。對於需要精準到幀的座標而非自由拖曳控制點的使用者來說,瀏覽器式裁剪工具接受整數像素的 X、Y、寬度和高度輸入,通常比「照片」應用程式的捏合縮放裁剪更精確,因為座標直接對應到來源像素,而非互動式縮放比例。

video cropper on iphone
iPhone 上的影片裁剪工具:在 Safari 中裁剪精確像素

為什麼要在 iPhone 上裁剪影片而不安裝應用程式

iPhone 上有幾種內建選項。「照片」應用程式可以裁剪影片,iMovie 可免費使用,App Store 中的許多第三方編輯器也可以重新構圖片段。這些都能運作,但它們都有兩個在需要精確結果時會造成影響的限制:

  • 精準到幀的座標。大多數行動編輯器提供的是可拖曳的矩形,而不是四個數值輸入欄位。如果平台要求特定的 1080 × 1920 垂直矩形或從像素 240, 0 開始的 1:1 正方形,您通常無法在觸控螢幕上手動輸入這些數字。
  • 安裝、登入或儲存空間成本。App Store 中的編輯器可能會要求帳號、存取您整個媒體庫的權限,或在儲存前推銷訂閱方案。瀏覽器工具則同時避開了安裝和帳號的問題。

瀏覽器式影片裁剪工具同時解決了這兩個問題。您在 Safari 中開啟網址,選擇本地檔案,輸入四個數字,然後等待本地重新編碼。由於該工具不會上傳來源檔案,您也能避免將在 iPhone 上拍攝的個人影片透過外部服務傳送出去,這對於私人片段和不想離開裝置的快速草稿非常有用。

如何在 iPhone 的 Safari 中裁剪影片

由於整個管線都在單一 Safari 分頁中執行,純 iPhone 的工作流程相當簡單。裝置負責解碼和錄製,結果則透過 Safari 為瀏覽器中產生的檔案所提供的標準下載路徑儲存。

  1. 在儲存來源片段的 iPhone 上,用 Safari 開啟 Video Cropper
  2. 點選檔案選擇器,從「照片」媒體庫或「檔案」中選擇來源影片。瀏覽器完成載入片段後,頁面會顯示解碼後的來源尺寸。
  3. 在編輯任何座標之前,請先等待解碼後的寬度和高度出現。在這些數字顯示之前,矩形無法對實際畫格進行驗證。
  4. 輸入四個值:X 和 Y(裁剪左上角在來源像素中的偏移量),以及寬度和高度(裁剪在來源像素中的水平和垂直範圍)。這四個值必須都是非負整數,且寬度和高度必須各至少為 2。
  5. 確認矩形仍在來源畫面內:X + width 不得超過來源寬度,且 Y + height 不得超過來源高度。輸出區域也必須保持在 3840 × 2160 像素以下。
  6. 點選「裁剪影片」。來源以即時速度播放時,瀏覽器僅將所選矩形繪製到 Canvas 中,並將其錄製為 WebM。在檔案提供下載之前,請保持 Safari 分頁開啟且 iPhone 處於喚醒狀態。
  7. 透過 Safari 的下載介面儲存 WebM,然後在支援 WebM 的播放器(例如 VLC 或另一個 Safari 分頁)中播放結果,在刪除原始檔案之前先確認裁剪、音訊和時長。

用具體例子說明座標檢查:如果來源是 1920 × 1080,您設定 X = 100、Y = 50、width = 1720、height = 900,則 X + width = 1820(≤ 1920)且 Y + height = 950(≤ 1080),因此矩形仍在畫面內,裁剪區域為 1720 × 900 = 1,548,000 像素,遠低於 3840 × 2160 的上限。

在整個即時處理過程中,由於瀏覽器正在讀取音訊軌,來源可能會播放出聲音。建議使用耳機。如果裁剪區域較大,由於以 30 fps 重新編碼整個片段會消耗 GPU 資源,iPhone 可能也會感到溫熱。

Video Cropper 內部:裁剪如何進行

三個動作會將檔案從「未裁剪」變成「裁剪後的 WebM」。該工具對檔案大小、解碼時長、來源尺寸以及錄製後的 Matroska 時長修補採用與 Video Compressor 相同的稽核關卡,因此本地影片工具之間的行為是一致的。

  1. 選擇瀏覽器可解碼的影片並等待其來源尺寸載入。頁面會在本機解析檔案並顯示解碼後的寬度和高度。在這些數字出現之前,四個座標欄位無法進行驗證。
  2. 輸入整數像素的 X、Y、寬度和高度值,使其在每個來源畫格內。該工具會拒絕超出畫格、低於 2 × 2 像素、面積超過 3840 × 2160 或包含非整數值的矩形。無效的矩形會直接失敗,不會位移、裁切或產生不完整的檔案。
  3. 選擇「裁剪影片」,在即時處理過程中保持分頁開啟,然後下載並完整檢視 WebM。瀏覽器播放來源,將固定的矩形以 30 fps 繪製到等大的不透明 Canvas 中,在瀏覽器公開可擷取音軌時附加音訊,並使用瀏覽器最先回報的 VP9、VP8 或通用 WebM 錄製串流,然後為產生的檔案修補有限的 Matroska Duration,讓該片段能向嚴格的播放器回報其真實長度。

該管線是單次處理的。沒有前瞻分析、沒有兩次編碼、也不會嘗試達到目標檔案大小;這些行為屬於壓縮器,而非裁剪工具。

輸入、格式和輸出限制

該工具強制執行的合約在每台裝置上都相同,包括 iPhone。在開始裁剪之前,請使用下表確認計劃中的檔案能通過所有關卡。

屬性接受的值失敗時會發生什麼
容器MP4、WebM、MOV、M4V、Ogg瀏覽器拒絕解碼或頁面拒絕該檔案
檔案大小最高 500 MiB在處理前拒絕
解碼後的時長大於零,最多 5 分鐘拒絕;不產生部分輸出
來源寬度 / 高度任一邊不超過 4096 像素在錄製前拒絕
來源面積最多 3840 × 2160在錄製前拒絕
裁剪寬度 / 高度整數像素,至少 2無效矩形;無輸出
矩形在畫格內X + width ≤ 來源寬度;Y + height ≤ 來源高度無效矩形;無輸出
輸出面積最多 3840 × 2160無效矩形;無輸出
輸出容器WebM(VP9、VP8 或通用)由瀏覽器的 MediaRecorder 編碼

副檔名被接受並不保證 Safari 能解碼該檔案,因為解碼取決於瀏覽器公開的編解碼器。如果片段無法載入,請嘗試不同的容器,或先使用 Video Compressor 重新編碼來源,讓來源處於 Safari 能可靠讀取的編解碼器中。

位元率、處理時間和音訊處理

瀏覽器會根據 30 fps 下裁剪後的像素面積計算要求的影片位元率,並將結果限制在 180 kbps 到 8 Mbps 之間。對於 1920 × 1080 的裁剪,面積為 2,073,600 像素,編碼器會將其映射到該範圍的上半部;對於 640 × 360(230,400 像素)的小裁剪,要求的位元率則更接近 180 kbps 的下限。由於編碼器是單次處理且取決於瀏覽器,實際檔案大小和視覺品質會隨動態、雜訊、顆粒、來源編解碼器以及 iPhone 瀏覽器公開的 WebM 編碼器而有所不同。

處理以即時速度進行,因此一段一分鐘的來源在 Safari 分頁保持開啟的狀態下大約需要一分鐘。即時以上的速度不在合約範圍內;該工具透過將畫格繪製到 Canvas 中以 30 fps 重新錄製,這屬於串流操作。請相應地規劃:五分鐘的片段會佔用該分頁大約五分鐘,且 iPhone 應保持喚醒狀態,以避免 iOS 暫停錄製分頁。

只有當瀏覽器透過媒體擷取公開可擷取音軌時,才會包含音訊,且支援程度因瀏覽器版本而異。在即時處理過程中,來源可能會播放出聲音,因此如果您需要安靜,請使用耳機或將分頁靜音。字幕、章節、附件、旋轉標籤、HDR 訊號和大多數色彩中繼資料都不會保留;裁剪僅會改變可見的畫面區域。

在刪除原始檔案之前於 iPhone 上驗證結果

串流式 MediaRecorder 輸出可能會省略有限的容器時長,這就是為什麼該工具在錄製後會以大端序在時間戳刻度刻度中插入 Matroska Duration 值,使用與 Video Compressor 相同的通過標準測試的寫入器。即便如此,最簡潔的工作流程是在刪除來源之前於第二個播放器中驗證下載的檔案。在 VLC、新的 Safari 分頁或另一個能同時顯示時長和像素尺寸的應用程式中開啟 WebM。確認回報的時長與原始檔案相符、裁剪位置與座標所暗示的完全一致、音軌存在且同步,以及目的端應用程式(社群平台、簡報、聊天工具)接受該檔案。在所有檢查通過之前,請保留原始片段。