1 選圖片
從網址新增
這是唯一一處會碰網路的功能。抓一個網址,等於告訴那臺伺服器你的 IP 位址,以及你要的是哪個圖片。圖片到手之後複製進本地記憶體,不會再請求第二次。你這邊始終沒有東西發出去,這個頁面照樣做不了任何形式的上傳。
對方伺服器得允許跨域使用它的圖片。很多網站不允許,這類會當場失敗並說明原因,不會過一陣子悄沒聲地出問題。
抓住圖片上的手柄拖動換順序,或者按每張圖上的箭頭。
2 影片設定
加幾張圖,就能看到預覽了
- 圖片
- —
- 時長
- —
- 輸出尺寸
- —
- 總幀數
- —
直接從資料夾裡開啟 index.html,瀏覽器會攔下 JavaScript 模組,於是你選好圖片之後,頁面不會有任何反應。改用 http 把這個資料夾提供出去:
powershell -ExecutionPolicy Bypass -File serve.ps1
然後開啟 http://localhost:8080/。
一個資料夾的圖片,變成一段影片。
每一幀都由你自己的瀏覽器編碼,影片在這臺機器的記憶體裡拼出來。編碼器碰都不碰網路,就算它想碰,這個頁面的另一頭也沒有伺服器能接住一張圖。
即時檢查: 檢查中…
離線: 檢查中…
別信我們嘴上說的。開啟開發者工具,盯著「網路」面板,做一段影片試試。沒有一條請求帶著圖片、縮圖或者檔名。或者乾脆拔掉網線,照做不誤。
connect-src 'none',那是絕對的;加了廣告之後就沒了這個絕對,把這話說出來也是交易的一部分。img-src 開著,connect-src 沒開。下面那個計數器會列出聯過的每一個外部來源。 你可以自己核對。上面這些不用你信。這個頁面是儲存庫裡的模板和配置產生出來的,構建指令碼你能讀,也能自己跑一遍,跑出來的結果就提交在 dist 分支上。拿實際發給你的內容,跟你自己從原始碼構建出來的結果對一遍就知道了:
github.com/A-Box-of-Tools/website
最值得先讀的幾個檔案:config/site.toml 裡是 Content-Security-Policy,src/encoder.js 裡是那個編碼迴圈,它碰都不碰網路。
如果公司的安全軟體警告說有上傳。它盯著瀏覽器裡選擇檔案的那一刻,而且無法知道頁面是否打算把它發出去——所以在選擇時就發出警告。這裡什麼都不會發出去:開啟瀏覽器的開發者工具,切到網路,然後選一個檔案。沒有任何請求帶著它,除了這個頁面自己的本地預覽之外,根本沒有任何請求。同樣的檢查,你們的 IT 同事半分鐘就能做完。
這是唯一一處會碰網路的功能。抓一個網址,等於告訴那臺伺服器你的 IP 位址,以及你要的是哪個圖片。圖片到手之後複製進本地記憶體,不會再請求第二次。你這邊始終沒有東西發出去,這個頁面照樣做不了任何形式的上傳。
對方伺服器得允許跨域使用它的圖片。很多網站不允許,這類會當場失敗並說明原因,不會過一陣子悄沒聲地出問題。
抓住圖片上的手柄拖動換順序,或者按每張圖上的箭頭。
加幾張圖,就能看到預覽了
這次管用嗎?
哪裡不對?
謝謝,這很有用。
發出去的只有你這個回答,而且只在你按下按鈕的時候。你的檔案、它的名字,以及跟它有關的任何東西,一樣都不發。
# 圖片轉影片 做一個 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` 裡是那個編碼迴圈,它碰都不碰網路。
怎麼把一個資料夾的圖片做成影片 用照片做一段 MP4 投影片:幀率和停留時間各管什麼,比例不對的照片怎麼辦,以及成品為什麼沒有配樂。
不會。讀圖、合成、編碼,全由你自己的瀏覽器在你自己的硬體上完成。這個工具沒有伺服器那一半,頁面的 Content-Security-Policy 把它可能聯的地址全列了出來,沒有一個是本站的。唯一的例外是那個可選的「從網址新增」,它會去取你貼進來的圖,那臺伺服器也就看得到你的 IP 地址。
你的瀏覽器能解碼的靜態圖都行,實際上就是 JPG、PNG、WebP、GIF、AVIF,蘋果裝置上還包括 HEIC。這裡沒有另一份需要不斷維護的清單,因為解碼是瀏覽器的工作,不是我們的。
MP4,影片編碼是 H.264,基本上什麼裝置都能放。瀏覽器要是沒有 WebCodecs,工具會退回到錄製 WebM,畫面還是那些畫面,只是這個容器接受它的剪輯軟體少一些。
能,帶編號的渲染序列正是這個工具的本行。把渲染器寫出來的幀加進來,停留時間保持一幀,幀率跟渲染設定對齊就行。「按名字排序」是按人的直覺數的,所以 frame_2 排在 frame_10 前面,而不是後面。
動手前有一點要知道:H.264 沒有 alpha 通道,所以透明會被壓平到襯底色上,不會帶過去。要保住 alpha,那就在你的剪輯軟體裡合成。
能,跟渲染序列是同一件事:每張照片停一幀,再挑個幀率。30 fps 下每三十張照片一秒;同樣這些照片放到 12 fps,能跑兩秒半。
「按日期排序」能把相機膠捲放回拍攝時的順序,檔名從 0001 重新開始過的時候尤其管用。照片尺寸不一樣也沒關係,「跟最大的那張走」會把影片尺寸定得誰都不用縮小。
工具裡沒設上限。真正的天花板是你這臺機器的記憶體,因為成品影片要在那裡拼好你才能下載。最先撐不住的是很大的 4K 投影片。
免費,沒有帳號,不用登入,也沒有試用期。本站帶廣告,經費就是這麼來的,廣告拿不到關於你圖片的任何資訊。
能。頁面開一次之後斷網,它照常運作。這也是證明「什麼都沒上傳」最省事的辦法。一個把圖片送出去處理的工具,拔線那一刻就停了。
暫時不能。這個工具只出影片,寫出來的 MP4 只有一條影片軌,沒有音軌。需要配樂的話,之後在剪輯軟體裡加。