Repository navigation
BootAnimForge v1.1.0
BootAnimForge v1.1.0
把 MP4 等视频转成安卓开机动画(bootanimation.zip)的 Windows 工具。Material Design 3 界面,本地 ffmpeg 引擎,零 npm 依赖、无构建步骤。
这个版本的三个变化
1. 自定义帧文件命名(手表写法)
厂商的帧命名差异很大。以前写死了 frame_00000.png,但很多安卓手表用的是纯数字名 —— 例如一台实测的 480×480 手表:
part0/001.png … part0/360.png
part1/001.png … part1/143.png
现在前缀 / 补零位数 / 起始编号都可以改,界面上有实时预览告诉你首帧和末帧会叫什么,并内置四个常用预设:
| 预设 | 用途 |
|---|---|
frame_00000.png |
通用 / PC 工具生成(默认) |
001.png |
很多安卓手表 |
000.png |
同上,从 0 开始 |
00001.png |
部分老机型 |
补零位数不够时会直接报错(例如 3 位补零却有 1200 帧,001 会出现两次),而不是生成一个会撞名的坏包。
2. 无需任何前置
以前要求机器上先装 Node.js。现在启动器会自己准备:
runtime\node.exe—— Node.js 官方发行版,约 35 MBruntime\ffmpeg.exe/ffprobe.exe—— 视频引擎
已装过 Node 的机器仍优先用系统 Node,不会重复下载。实测:把 PATH 清成只有系统目录(where node 返回 1)、解压便携包后直接双击启动器,服务正常起来,进程用的是包内 runtime\node.exe。
3. 新增手表分辨率与相关修正
- 手表预设扩到 5 个:480×480、466×466、454×454、450×450、390×390
- Magisk 模块与纯动画的默认文件名分开了(
bootanimation-magisk.zip/bootanimation.zip),不会互相覆盖 - 顺带修掉一个不一致:控件显隐原先散在三个地方,导致有些路径下「帧命名」该显示却是隐藏的。现在统一走一个入口
applyFormatVisibility()
下载哪个
| 文件 | 说明 |
|---|---|
BootAnimForge-1.1.0-portable.zip(83 MB) |
推荐。内置 Node + ffmpeg,解压即用,不需要装任何东西 |
| 源码(Source code) | 不含运行时,首次运行启动器会自动下载(约 150 MB) |
运行要求:Windows 10/11 + Edge 或 Chrome。
验证情况
| 套件 | 结果 |
|---|---|
后端端到端 tools/selftest.js |
94 / 94 |
界面全流程 tools/uicheck.js --flow |
47 / 47,控制台零错误 |
动效 tools/uicheck.js --anim |
14 / 14 |
本次新增覆盖:
- 帧命名纯函数(前缀清洗、补零夹取、编号解析
001.png → 1、frame_00042.png → 42) - 手表写法端到端:
part0/001.png起于 1、末帧012.png(1s × 12fps)、part1 同样从 001 开始、全程不含frame_、编号严格递增 - 补零位数不足被拦截
- 界面里点预设 → 预览显示
001.png→ 真跑一次 → 核对产出 zip 里的文件名 - 无前置启动:清空 PATH 后便携版仍能跑(进程确认用的是包内
runtime\node.exe)
已知限制
- 浏览器安全限制导致拖入文件时拿不到磁盘路径,程序会引导你按路径选择(读原文件,不复制不上传)
- 视频版格式只被 Android 12+ 的部分机型识别;黑屏就换回传统格式
- 随包的 ffmpeg 是 2018 年构建(N-92722),功能足够;换成新版 ffmpeg 也能直接用
许可
代码 MIT。Node.js 与 ffmpeg 的许可独立于本项目(ffmpeg 详见包内 runtime/FFMPEG-LICENSE.txt)。