iPhone 上的影片壓縮工具可以在 Safari 中直接壓縮影片剪輯,無需安裝應用程式、上傳檔案或建立帳號,只要在瀏覽器分頁中將所選影片重新編碼成有限大小的 WebM 即可。解碼、Canvas 繪圖、MediaRecorder 編碼以及最終下載——所有步驟都在裝置本機完成,因此來源位元組與輸出位元組都停留在當前分頁中,絕不會傳送到遠端伺服器。三個透明的預設值(小、平衡、品質)分別將最大寬度設為 640、1280 或 1920 像素,幀率為 24 或 30 fps,保留來源長寬比,絕不放大原始影片,並將錄製位元率限制在 180 kbps 到 8 Mbps 之間。當來源以即時速度播放完畢時,工具會回報實際輸出的尺寸、輸入與輸出的位元組數量,以及僅根據這兩個 Blob 大小計算出的帶正負號的百分比變化,因此畫面上顯示的數字永遠反映真實檔案,而不是某個目標值。

為什麼值得認識瀏覽器中的 iPhone 影片壓縮工具
iPhone 預設會錄製 4K 與高幀率影片,即使是 256 GB 的裝置也很快就會被填滿,而內建的「照片」應用程式並未提供一個一鍵「壓縮」的控制項來指定輸出大小。Apple 官方的文件建議使用者透過支援裝置上的 iMovie 以較低解析度匯出,雖然可行,但需要安裝另一個應用程式、透過專案時間軸匯出,並接受 iMovie 所產生的任何格式。
App Store 上列出了幾款專用的壓縮應用程式。有些在免費方案中加入浮水印,有些需要訂閱,還有許多會將影片上傳到遠端伺服器後才回傳較小的檔案。基於瀏覽器的壓縮工具則一次避開了所有這些取捨:不需要安裝、不需要註冊、也沒有任何上傳,因為所有工作都透過標準網路 API 在當前分頁內執行。
這在 iPhone 上特別重要,因為 iOS 對於哪些應用程式能讀取哪些檔案有嚴格限制,許多使用者也不願意授予第三方壓縮工具存取整個相機膠捲的權限。本機的瀏覽器壓縮工具只能看到使用者明確選擇的檔案,在記憶體中進行處理,並在使用者下載或離開時釋放該檔案。若想快速進入該工作流程,Video Compressor 在 Safari 的單一畫面上提供了檔案選擇器、預設選擇器與下載按鈕。
影響壓縮的 iPhone 瀏覽器考量
在 iPhone 上,預設的瀏覽器是 Safari,而 iOS 上的 Chrome 與 Edge 應用程式共用相同的底層 WebKit 引擎,因此三者之間的編解碼器支援、檔案選擇器行為與 MediaRecorder 功能基本上完全相同。因此同一個預設在桌面版 Chrome 上與在 iPhone Safari 上產生的 WebM 可能略有不同,因為錄製器會依照當前瀏覽器回報支援的格式,依序嘗試 VP9、VP8,最後才是通用的 WebM。
iOS 透過系統的「檔案」應用程式與「照片」圖庫來呈現檔案選擇器。從「照片」中選擇影片會像其他瀏覽器可解碼的輸入一樣載入到頁面中,而從「檔案」中選擇則可處理儲存於 iCloud Drive、「我的 iPhone」,或使用者已連接的第三方供應商中的檔案。光是有類似 .mp4 或 .mov 的有效副檔名並不足以保證成功——能否成功解碼仍取決於當前瀏覽器懂得播放的編解碼器,不支援的編解碼器會產生錯誤而非下載檔案。HTMLCanvasElement.captureStream() 的 MDN 參考文件說明了讓即時、瀏覽器端重新編碼成為可能的 Canvas 串流 API。
另一個 iPhone 特有的考量是輸出檔案的播放。Safari on iOS 能播放部分 WebM 檔案,但並非所有變體都能播放,而「照片」應用程式無法像匯入 MP4 或 MOV 那樣匯入通用的 WebM。需要廣泛分享結果檔案的使用者應預先規劃轉檔,或使用能可靠處理 WebM 的播放器,例如 VLC 或 Infuse。
如何在 iPhone 的 Safari 中壓縮影片
- 在 iPhone 上的 Safari、Chrome 或 Edge 中開啟 Video Compressor 頁面。
- 點選檔案選擇器,從「照片」或「檔案」應用程式中選擇一段影片剪輯。所選檔案不得超過 500 MiB,長度不得超過五分鐘,解碼區域不得超過 3840 × 2160 像素,任一邊不得超過 4096 像素。
- 選擇 Small(寬度 640 像素,24 fps)、Balanced(寬度 1280 像素,30 fps)或 Quality(寬度 1920 像素,30 fps)。預設值會設定最大寬度;工具會將輸出尺寸向下取整到偶數像素值,並在不放大原始檔案的前提下保留其長寬比。
- 點選開始控制項,並讓 Safari 分頁保持在前台。由於 MediaRecorder 會在來源影片播放時觀察 Canvas 串流,因此編碼以即時速度執行,一段兩分鐘的剪輯大約需要兩分鐘才能完成。
- 當錄製停止時,請留意畫面上顯示的輸出尺寸與實際輸入、輸出的位元組數量。帶正負號的百分比變化僅根據這兩個 Blob 大小計算,當結果較大時,絕不會標示為「縮減」。
- 點選下載,在相容的播放器中開啟產生的 WebM,並從頭到尾觀看一次,再決定是否刪除原始檔案。如果結果不如預期,請嘗試不同的預設值,並以同一來源重新執行。
每個預設實際的作用
這三個預設是透明的產品選擇,而非對通用最佳值的宣稱。它們在最大輸出寬度與目標幀率上有所不同,接著工具的每像素位元率啟發式會在已揭露的 180 kbps 到 8 Mbps 範圍內,選擇所要求的錄製位元率。
| 預設 | 最大輸出寬度 | 目標幀率 | 在 iPhone 上的典型用途 |
|---|---|---|---|
| Small | 640 px | 24 fps | 用於訊息應用程式的快速剪輯,在此情境下檔案大小比細節更重要 |
| Balanced | 1280 px | 30 fps | 一般分享用途,來源在 720p 等級的輸出下看起來仍可接受 |
| Quality | 1920 px | 30 fps | 需要更高細節的輸出,前提是目的地裝置能播放 1080p 等級的 WebM |
三個預設都會保留來源長寬比,絕不放大較小的來源,將輸出尺寸向下取整到偶數像素值以獲得更廣泛的編解碼器相容性,並套用下述相同的音訊處理規則。
為什麼輸出檔案大小可能相同或更大
壓縮取決於來源內容、來源編解碼器、瀏覽器編碼器與所選預設,因此兩段長度相同的剪輯即使使用同一預設,也可能產生差異極大的輸出大小。低動態的螢幕錄製或動畫通常會大幅縮小;但雜訊較多的畫面、嚴重的底片顆粒、劇烈的相機晃動或快速變化的細節,通常仍會維持較大的檔案。一個已經高效率的來源(例如一開始就用低位元率匯出的剪輯)可能會產生大小相近甚至更大的 WebM,因為錄製器會加上自己的容器負擔,而且並非在所有情況下都能超越原始檔案的效率。
本工具絕不會宣稱未達成的縮減。所回報的百分比僅根據兩個實際 Blob 大小計算,因此當結果較大時,並不會被標示為「縮減」。當輸出沒有變小時,正確的做法是嘗試更積極的預設、先修剪剪輯,或者接受原始格式本就適合該目的地。
iPhone 特有的時間、限制與電池
由於編碼會在來源播放的同時以即時速度進行,一段兩分鐘的剪輯在 iPhone 上壓縮大約需要兩分鐘,一段五分鐘的剪輯則接近五分鐘。切換分頁、使用較短的自動鎖定時間鎖定螢幕,或關閉 Safari,都可能中斷工作並釋放暫時性的 Object URL,因此建議延長螢幕逾時時間,或在整個過程中將分頁維持在前台。
輸入限制為 500 MiB、五分鐘、任一邊 4096 像素,以及 3840 × 2160 的解碼區域。這些限制是為了保護記憶體、Canvas 配置與即時運作;當超過時,頁面會以錯誤方式呈現,而不是靜默地截斷來源。超過任何一項限制的剪輯不會產生下載檔案,因此在開始前於「照片」中確認長度與解析度,可以避免徒勞的嘗試。
從 iPhone 分享壓縮後的結果
WebM 下載完成後,iPhone 的「檔案」應用程式會將其儲存在 Safari 所設定的位置。接著可以將該檔案移至雲端硬碟、附加到訊息中,或透過「捷徑」推送至轉檔器,以轉成 MP4 來獲得更廣泛的相容性。對於目標是讓檔案符合特定電子郵件或訊息大小上限的使用者,在本地壓縮後以電子郵件傳送大型影片 中說明了檔案存放在裝置上之後的實際步驟。
當目的地需要精確的編解碼器設定檔、兩階段速率控制、固定關鍵影格間隔、字幕保留,或是跨平台的可預期輸出時,使用經審閱指令、維護良好的桌面編碼器(例如 FFmpeg)會是更安全的選擇。MediaRecorder 的 MDN 頁面詳細說明了為什麼瀏覽器產生的 MP4 在不同瀏覽器之間仍不一致,這也是本工具僅提供 WebM 作為輸出容器的理由。
相關閱讀:Mac 上的影片壓縮工具:本機 WebM 指南。