# 图片转视频 做一个 MP4 幻灯片

一个文件夹的图片，变成一段视频。

> 把 JPG、PNG、WebP 或 AVIF 做成 MP4 幻灯片视频，免费，全程在你的浏览器里跑。什么都不上传，不用注册，断网也能用。

这是一个浏览器交互工具，地址是 https://abox.tools/zh/images-to-video/。文件在运行该浏览器的设备上处理。主动分享和可选联网功能都在页面上说明。下文是它的文字说明；使用工具请打开该地址。

## 你的图片**在浏览器里处理**，无须上传处理。

每一帧都由你自己的浏览器编码，视频在这台机器的内存里拼出来。编码器碰都不碰网络，就算它想碰，这个页面的另一头也没有服务器能接住一张图。

- ✗ 不上传
- ✗ 不注册
- ✓ 断网能用
- ✓ 开源
- ✓ 文件留在你的设备上

## 图片怎么做成视频

1. **选好你的图片。** 把整个文件夹拖到下面的方框里，或者一个个自己挑。浏览器直接从你的硬盘上读，这期间没有东西发出去。
2. **排好顺序，定好每张停多久。** 拖着换顺序。停留时间可以按帧算，也可以按秒算，可以一次改全部，也可以一张一张改。
3. **挑分辨率和帧率。** “跟最大的那张走”按你最大的一张图来定；预设里有 4K、1080p、720p、方形和竖屏；都不合适，还能自己填一个尺寸。
4. **生成视频，然后下载。** 编码在你自己的硬件上跑，所以快慢取决于你这台机器，不取决于排队。做好的 MP4 直接交给浏览器的下载。

## 说得更细的版本

[怎么把一个文件夹的图片做成视频](https://abox.tools/zh/guides/turn-images-into-a-video/): 用照片做一段 MP4 幻灯片：帧率和停留时间各管什么，比例不对的照片怎么办，以及成品为什么没有配乐。

## 工具箱里还有

- [视频剪切](https://abox.tools/zh/trim-video/): 一边看一边标出要留的段落，最后拿回一个视频。
- [视频裁剪](https://abox.tools/zh/crop-video/): 把片子切到只剩要紧的那块。
- [视频倒放](https://abox.tools/zh/reverse-video/): 最后一帧排在最前，连声音一起。
- [延时视频](https://abox.tools/zh/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 限制可用资源和连接目的地，但已允许的主机仍可接收请求。策略不检查载荷，不能单独证明什么都没有发出。请把具体操作的请求与源码核对，或断网完成该本地操作。
- **编码在本地。** 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` 里是那个编码循环，它碰都不碰网络。
