# 影片裁剪 線上裁畫面

把片子切到只剩要緊的那塊。

> 把 MP4、MOV 或 WebM 裁成任意形狀，方圖、9:16 直式，或者精確到畫素的一個框。在瀏覽器裡跑，不上傳，聲音留著，斷網也能用。

本頁是一個完全在你的瀏覽器裡執行的互動式工具，地址是 https://abox.tools/zh-TW/crop-video/。你交給它的任何內容都不會被上傳。下面是這個頁面用文字對該工具的全部說明；要使用它，請開啟這個地址。

## 你的影片**不會上傳**。這裡根本沒有伺服器。

每一幀的解碼、裁剪、編碼，都是你自己的瀏覽器用你自己的硬體做的。這裡沒有任何東西能取資料或者發資料，這個工具壓根沒有聯網功能。就算真有，這個頁面的另一頭也沒有伺服器能接住一段影片。

- ✗ 不上傳
- ✗ 不註冊
- ✗ 沒有水印
- ✓ 聲音留著
- ✓ 斷網能用

## 影片畫面怎麼裁

1. **選一段影片。** 把 MP4、MOV、M4V 或者 WebM 拖到下面的方框裡，或者點開自己挑。瀏覽器直接從你的硬碟上讀，這期間沒有東西發出去。
2. **拉個框，框住你要留下的那塊。** 在框裡拖是移動，拖四角是縮放。也可以先鎖定形狀，方圖發帖用 1:1，手機上看用 9:16，寬幅用 16:9，或者在下面四個輸入框裡填一個精確到畫素的框。播放片子，或拖下面的滑塊，挑一幀來對齊這個框。
3. **決定畫質花多少。** 畫面必須重新編碼，因為裁過的一幀已經是另一張圖了。「均衡」大致維持原檔案在這塊區域上原本花的位元速率，「最好畫質」花得更多。聲音預設留著，你也可以關掉。
4. **裁完就下載。** 工作在你自己的硬體上執行，所以快慢取決於你這臺機器，不取決於排隊。裁好的影片直接交給瀏覽器的下載。

## 說得更細的版本

[怎麼把影片畫面裁成另一個形狀](https://abox.tools/zh-TW/guides/crop-a-video/): 把片子裁成方圖、9:16 直式，或者精確到畫素的一個框。各家平臺要哪個比例，為什麼剪時長不用重編而裁畫面非重編不可，以及這一下的代價。

## 工具箱裡還有

- [影片倒放](https://abox.tools/zh-TW/reverse-video/): 最後一幀排在最前，連聲音一起。
- [延時影片](https://abox.tools/zh-TW/timelapse-video/): 一小時的素材，二十秒看完。
- [影片截幀](https://abox.tools/zh-TW/grab-frame/): 任意位置，一張原畫質靜幀。
- [影片轉 GIF](https://abox.tools/zh-TW/video-to-gif/): 挑好段落、尺寸和幀率。

## 常見問題

### 我的影片會傳到什麼地方去嗎？

不會。讀取、解碼、裁剪、編碼，全由你自己的瀏覽器在你自己的硬體上完成。這個工具沒有伺服器那一半，頁面的 `Content-Security-Policy` 把它可能聯的地址全列了出來，沒有一個是本站的。與其聽我們說，不如拔掉網線，照裁一段試試。

### 能裁哪些格式？

MP4、M4V 和 MOV 直接讀，裡面裝的是 H.264、HEVC、AV1 還是 VP9 都行，只要你的瀏覽器解得了那個編碼。其他瀏覽器能播的格式，最典型的是 WebM，改成一邊播一邊錄來裁，能用，但片子多長就得花多長時間。瀏覽器既讀不了也播不了的檔案，實際上就是 AVI、WMV、FLV 和大多數 MKV，會被直接拒收並說明原因，不會做到一半才崩。

### 影片的大小和長度有限制嗎？

工具裡沒設上限，檔案也不是一口氣讀進記憶體的，而是一次幾 MB 地走過去。真正的天花板是成品，它要在記憶體裡拼好你才能下載，再就是你這臺機器編碼要花多久。

### 聲音會保住嗎？

走 MP4 這條路是分毫不差的：音訊逐個取樣複製過去，全程不解碼，跟原檔案裡的位元組一模一樣。走錄製那條路，聲音是從播放裡採下來再編一遍的，會掉一點品質。兩條路都有個勾選框，可以乾脆不要聲音。

### 裁剪會掉畫質嗎？

畫面要重新編碼，因為裁過的一幀已經是另一張圖，不把畫素重寫一遍就存不下來。工具不肯做的是在同一塊區域上花得比原來還多，超過那個數只會讓檔案變大，看起來並不會更好。

### 能順便剪時長嗎？

這裡不行，隔壁可以。這個工具只改畫面的形狀，別的都不動，出來的片子跟進去的一樣長，時間軸和聲音原封不動。剪時長是另一件事，也是另一個工具，[影片剪輯](https://abox.tools/zh-TW/trim-video/)把片子裡值得留的段落標出來，存成一個檔案，而且一幀都不重編。

### 寬和高為什麼只能按 2 跳？

MP4 裡的 H.264 把畫面按塊存，根本沒辦法描述一條邊是奇數畫素的幀。與其等你設完再悄悄替你取整，不如這個框從一開始就只給偶數。

### 免費嗎？要註冊嗎？

免費，沒有帳號，不用登入，沒有試用期，也沒有水印。本站帶廣告，經費就是這麼來的，廣告拿不到關於你影片的任何資訊。

## 這條隱私承諾怎麼核實

- **你的影片沒地方可去。** Content-Security-Policy 把這個頁面允許聯的地址全列了出來，沒有一個是本站的。這裡沒有能收檔案的介面，程式碼裡也沒有一行會把檔案發出去，就算真有那麼個介面也一樣。
- **這裡沒有任何東西會去聯網取資料。** 這個工具完全沒有聯網功能。沒有網址可以貼，沒有東西要下載，第一次用也不去取什麼引擎。碰過你影片的每一個位元組，都是頁面載入時從本站來的。
- **解碼和編碼都在本地。** 畫面幀走的是你自己瀏覽器裡的 WebCodecs，或者走那個本來就負責放這段片子的播放引擎。成品在這臺機器的記憶體裡拼好，直接交給下載。
- **聲音只是搬過去，沒人聽。** 走 MP4 這條路時，音訊取樣整塊搬過去，根本不解碼。這裡沒有任何東西會把它們還原成聲音，就算還原了，也沒地方可送。
- **Google 載入了什麼，又拿不到什麼。** 廣告指令碼和統計指令碼來自 Google。關於你影片的資訊，一條都沒給它們，檔案不給，畫面幀不給，檔名、大小、時長、你裁成什麼形狀，也都不給。讀檔案、解碼、裁剪、編碼的每一行程式碼都從本站發出，也都擺在儲存庫裡。
- **捐助按鈕載入了什麼，又拿不到什麼。** 頁頭那個「Buy me a coffee」按鈕，由 cdnjs.buymeacoffee.com 的指令碼畫出來，字型取自 Google Fonts。它就是個連結，僅此而已，不上報訪問，也拿不到關於你或者你影片的任何東西。
- **斷網照樣能用。** 斷開網路，這個頁面上的一切照常工作。這是最省事的一條證明。

**你可以自己核對。**上面這些不用你信。這個頁面是儲存庫裡的模板和配置產生出來的，構建指令碼你能讀，也能自己跑一遍，跑出來的結果就提交在 `dist` 分支上。拿實際發給你的內容，跟你自己從原始碼構建出來的結果對一遍就知道了： https://github.com/A-Box-of-Tools/website

最值得先讀的幾個檔案：`config/site.toml` 裡是 Content-Security-Policy，`src/shared/mp4-reader.js` 裡是在 MP4 裡找出幀的那個讀取器，`src/transcode.js` 裡是解碼、裁剪、編碼的那個迴圈。兩個都沒有引入任何能發請求的東西。
