# 圖片轉影片 做一個 MP4 投影片

一個資料夾的圖片，變成一段影片。

> 把 JPG、PNG 或 WebP 做成 MP4 投影片影片，免費，全程在你的瀏覽器裡跑。什麼都不上傳，不用註冊，斷網也能用。

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

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

每一幀都由你自己的瀏覽器編碼，影片在這臺機器的記憶體裡拼出來。編碼器碰都不碰網路，就算它想碰，這個頁面的另一頭也沒有伺服器能接住一張圖。

- ✗ 不上傳
- ✗ 不註冊
- ✓ 斷網能用
- ✓ 開源
- ✓ 檔案留在你的裝置上

## 圖片怎麼做成影片

1. **選好你的圖片。** 把整個資料夾拖到下面的方框裡，或者一個個自己挑。瀏覽器直接從你的硬碟上讀，這期間沒有東西發出去。
2. **排好順序，定好每張停多久。** 拖著換順序。停留時間可以按幀算，也可以按秒算，可以一次改全部，也可以一張一張改。
3. **挑解析度和幀率。** 「跟最大的那張走」按你最大的一張圖來定；預設裡有 4K、1080p、720p、方形和直式；都不合適，還能自己填一個尺寸。
4. **產生影片，然後下載。** 編碼在你自己的硬體上跑，所以快慢取決於你這臺機器，不取決於排隊。做好的 MP4 直接交給瀏覽器的下載。

## 說得更細的版本

[怎麼把一個資料夾的圖片做成影片](https://abox.tools/zh-TW/guides/turn-images-into-a-video/): 用照片做一段 MP4 投影片：幀率和停留時間各管什麼，比例不對的照片怎麼辦，以及成品為什麼沒有配樂。

## 工具箱裡還有

- [影片剪輯](https://abox.tools/zh-TW/trim-video/): 一邊看一邊標出要留的段落，最後拿回一個影片。
- [影片裁剪](https://abox.tools/zh-TW/crop-video/): 把片子切到只剩要緊的那塊。
- [影片倒放](https://abox.tools/zh-TW/reverse-video/): 最後一幀排在最前，連聲音一起。
- [延時影片](https://abox.tools/zh-TW/timelapse-video/): 一小時的素材，二十秒看完。

## 常見問題

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

不會。讀圖、合成、編碼，全由你自己的瀏覽器在你自己的硬體上完成。這個工具沒有伺服器那一半，頁面的 `Content-Security-Policy` 把它可能聯的地址全列了出來，沒有一個是本站的。唯一的例外是那個可選的「從網址新增」，它會去取你貼進來的圖，那臺伺服器也就看得到你的 IP 地址。

### 支援哪些圖片格式？

你的瀏覽器能解碼的靜態圖都行，實際上就是 JPG、PNG、WebP、GIF、AVIF，蘋果裝置上還包括 HEIC。這裡沒有另一份需要不斷維護的清單，因為解碼是瀏覽器的工作，不是我們的。

### 輸出的是什麼格式？

MP4，影片編碼是 H.264，基本上什麼裝置都能放。瀏覽器要是沒有 WebCodecs，工具會退回到錄製 WebM，畫面還是那些畫面，只是這個容器接受它的剪輯軟體少一些。

### Blender 或者 After Effects 的渲染序列能用嗎？

能，帶編號的渲染序列正是這個工具的本行。把渲染器寫出來的幀加進來，停留時間保持一幀，幀率跟渲染設定對齊就行。「按名字排序」是按人的直覺數的，所以 `frame_2` 排在 `frame_10` 前面，而不是後面。 \
\
動手前有一點要知道：H.264 沒有 alpha 通道，所以透明會被壓平到襯底色上，不會帶過去。要保住 alpha，那就在你的剪輯軟體裡合成。

### 能拿照片做延時影片嗎？

能，跟渲染序列是同一件事：每張照片停一幀，再挑個幀率。30 fps 下每三十張照片一秒；同樣這些照片放到 12 fps，能跑兩秒半。 \
\
「按日期排序」能把相機膠捲放回拍攝時的順序，檔名從 0001 重新開始過的時候尤其管用。照片尺寸不一樣也沒關係，「跟最大的那張走」會把影片尺寸定得誰都不用縮小。

### 圖片數量或者影片長度有限制嗎？

工具裡沒設上限。真正的天花板是你這臺機器的記憶體，因為成品影片要在那裡拼好你才能下載。最先撐不住的是很大的 4K 投影片。

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

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

### 斷網能用嗎？

能。頁面開一次之後斷網，它照常運作。這也是證明「什麼都沒上傳」最省事的辦法。一個把圖片送出去處理的工具，拔線那一刻就停了。

### 能加音樂或者配樂嗎？

暫時不能。這個工具只出影片，寫出來的 MP4 只有一條影片軌，沒有音軌。需要配樂的話，之後在剪輯軟體裡加。

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

- **你的圖片沒地方可去。** Content-Security-Policy 把這個頁面允許聯的地址全列了出來，沒有一個是本站的。這裡沒有能收檔案的介面，程式碼裡也沒有一行會把檔案發出去，就算真有那麼個介面也一樣。這一條以前寫的是 `connect-src 'none'`，那是絕對的；加了廣告之後就沒了這個絕對，把這話說出來也是交易的一部分。
- **編碼在本地。** WebCodecs 在你的瀏覽器裡跑，成品直接交給下載。這個應用沒有伺服器那一半。
- **Google 載入了什麼，又拿不到什麼。** 廣告指令碼和統計指令碼來自 Google。關於你圖片的資訊，一條都沒給它們，檔案不給，縮圖不給，檔名、大小、數量也不給。讀圖、解碼、合成、編碼的每一行程式碼都從本站發出，也都擺在儲存庫裡。
- **捐助按鈕載入了什麼，又拿不到什麼。** 頁頭那個「Buy me a coffee」按鈕，由 cdnjs.buymeacoffee.com 的指令碼畫出來，字型取自 Google Fonts。它就是個連結，僅此而已，不上報訪問，也拿不到關於你或者你圖片的任何東西。你不點它，什麼都不會發生；點了，跳過去的是別人的網站。
- **有一個例外，而且是明說的例外。** 你要是用了「從網址新增」，那臺伺服器會被聯上以取回圖片，它也就看得到你的 IP 位址。只有你親手貼進去的圖才會被取，而且只有進來這一個方向：`img-src` 開著，`connect-src` 沒開。下面那個計數器會列出聯過的每一個外部來源。
- **斷網照樣能用。** 斷開網路，除了「從網址載入」，這個頁面上的一切照常工作。這是最省事的一條證明。

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

最值得先讀的幾個檔案：`config/site.toml` 裡是 Content-Security-Policy，`src/encoder.js` 裡是那個編碼迴圈，它碰都不碰網路。
