# SVGA 多格式批量转换工具使用说明

**适用版本**：当前桌面安装版  
**支持格式**：Tencent VAP、PNG 序列帧、动态 WebP  
**更新日期**：2026-07-27

## 1. 工具简介

SVGA 多格式批量转换工具是一款本地桌面应用，用于把一个或多个 `.svga` 动画转换为：

- 支持透明画面和音频的 Tencent VAP（H.264 MP4）。
- 保留透明通道的 PNG 序列帧。
- 保留透明通道的动态 WebP。

工具支持批量导入、串行转换、原始与输出对比预览、声音检查、输出目录选择、任务队列管理和文件体积统计。

所有素材、临时帧和输出均在本机处理，不需要登录账号，也不会上传素材。

## 2. 支持平台

| 平台 | 支持范围 |
| --- | --- |
| macOS | Apple Silicon，即 M 系列芯片 |
| Windows | Windows x64 |

桌面安装包已经包含 Electron、FFmpeg、ffprobe、Sharp、SVGA Player、Howler 和 VAP Player。安装后不需要另外安装 Node.js、Chrome 或系统 FFmpeg。

当前不支持：

- Intel Mac。
- Windows ARM64。
- Linux。
- 自动更新。
- 在线素材库、账号、云端历史和团队协作。

## 3. 安装与首次启动

### 3.1 macOS Apple Silicon

1. 获取 `SVGA-to-MP4-<版本>-mac-arm64.dmg` 和对应的 `.sha256` 文件。
3. 双击 DMG，把“SVGA 转 MP4”拖到“应用程序”文件夹。
4. 从“应用程序”中启动。
5. 如果 macOS 阻止首次打开，在 Finder 中右键应用，选择“打开”，再确认“打开”。
6. 如果仍被阻止，进入“系统设置 → 隐私与安全”，只在确认 SHA-256 正确后选择“仍要打开”。

> 当前 DMG 未进行 Apple Developer ID 签名和公证，因此首次启动可能出现 Gatekeeper 安全提示。


## 4. 工作台界面

工具主界面分为五个区域：

| 区域 | 作用 |
| --- | --- |
| 顶栏 | 显示应用名称、本机运行状态、当前输出位置和组件诊断入口 |
| 左侧“01 导入 SVGA” | 导入文件或文件夹 |
| 左侧“02 输出与格式” | 设置输出位置、格式、参数、静音和覆盖规则 |
| 中间“动画监看” | 对比原始 SVGA 与真实转换结果 |
| 右侧“03 转换队列” | 选择任务、覆盖单项格式、查看进度、删除队列记录 |
| 底部批次栏 | 显示总体进度、任务统计、文件体积和开始/停止按钮 |

窗口会随尺寸自动调整。任务较多时，右侧队列在固定区域内滚动，不会把整个页面无限撑高。

## 5. 快速开始

1. 启动应用，确认顶栏显示本机服务已连接。
2. 点击“选择文件”“选择文件夹”，或把 SVGA 文件、文件夹拖到导入区域。
3. 在“输出位置”中选择“原文件旁边”或“指定目录”。
4. 选择批次默认输出格式并调整参数。
5. 如有需要，在右侧选中单个任务，为该任务覆盖输出格式。
6. 点击队列任务，在中间监看区检查原始动画。
7. 点击“开始转换”。
8. 转换完成后，在队列或结果区域定位输出文件。

## 6. 导入素材

支持三种导入方式：

### 6.1 选择文件

点击“选择文件”，一次选择一个或多个 `.svga` 文件。

### 6.2 选择文件夹

点击“选择文件夹”，工具会递归读取文件夹和子文件夹中的 `.svga`，其他文件类型会被忽略。

### 6.3 拖拽导入

可以把以下内容直接拖到导入区域：

- 单个或多个 `.svga` 文件。
- 包含 `.svga` 的文件夹。
- 文件与文件夹的组合。

导入结束后，界面会显示成功、失败和忽略数量。已识别的任务会立即出现在右侧队列。

同一路径重复导入时会自动去重。

## 7. 输出位置

### 7.1 原文件旁边

默认模式。每个结果写入原始 SVGA 所在目录。

示例：

```text
/素材/开屏动画.svga
/素材/开屏动画_vap.mp4
/素材/开屏动画_frames/000000.png
/素材/开屏动画.webp
```

### 7.2 指定目录

选择“指定目录”后，点击“选择目录”，本批次所有输出统一写入该目录。

指定目录采用扁平输出：

- 不按照原素材路径创建子目录。
- VAP、WebP 文件和 PNG 帧目录都直接位于所选目录。
- 如果不同来源存在同名素材，并且会生成同名结果，工具会在转换前阻止开始。

发生同名冲突时，可以：

- 删除其中一个冲突任务。
- 为其中一个任务改用其他格式。
- 切换回“原文件旁边”。

输出目录必须存在并且可写。转换开始后，本批次输出位置会锁定。

## 8. 输出格式与命名

| 输出格式 | 默认输出名称 | 类型 | 音频 |
| --- | --- | --- | --- |
| Tencent VAP | `<原文件名>_vap.mp4` | H.264 MP4 文件 | 默认保留支持的内嵌音频 |
| PNG 序列帧 | `<原文件名>_frames` | 编号 PNG 帧目录 | 不包含音频 |
| 动态 WebP | `<原文件名>.webp` | 动态 WebP 文件 | 不包含音频 |

一个任务每次只输出一种格式。

## 9. Tencent VAP 设置

Tencent VAP 用于生成带透明信息的 H.264 MP4，并写入 VAP 播放所需的 `vapc` 配置。

| 设置 | 默认值 | 范围 | 说明 |
| --- | ---: | ---: | --- |
| 画质 CRF | 20 | 0–51 | 越小通常画质越高、文件越大 |
| Alpha 比例 | 0.5 | 0.5–1 | 控制 Alpha 区域相对 RGB 区域的尺寸 |
| 裁边留白 | 2 px | 0–100 px | 裁剪公共透明边缘后保留安全边距 |
| 完整解码校验 | 开启 | 开/关 | 完成后用随包 FFmpeg 完整解码输出 |
| 输出静音 | 关闭 | 开/关 | 开启后成品不包含音轨 |

### 9.1 画质建议

- 日常使用建议保留 CRF 20。
- 需要更高清时可适当降低 CRF。
- 需要更小体积时可适当提高 CRF。
- CRF 只影响视频编码质量，不改变原始动画时长和帧率。

### 9.2 Alpha 比例

Alpha 比例越高，透明遮罩区域越大，边缘精度通常越高，但输出尺寸和体积可能增加。

### 9.3 裁边留白

裁边会删除所有帧共同透明的边缘，不会逐帧改变画布。

存在发光、阴影、抗锯齿或快速运动时，建议保留少量留白，避免边缘贴边。

### 9.4 输出静音

- 关闭：源 SVGA 包含支持的内嵌音频时，VAP 成品保留音轨。
- 开启：VAP/MP4 成品不包含音轨。
- 该设置不影响原始素材预览声音。

## 10. PNG 序列帧设置

PNG 序列适合继续编辑、合成或交给其他动画流程处理。

| 设置 | 默认值 | 范围 | 说明 |
| --- | ---: | ---: | --- |
| 缩放比例 | 100% | 10–100% | 控制输出帧尺寸 |
| 裁剪透明边缘 | 关闭 | 开/关 | 按完整动画的公共透明区域统一裁剪 |
| 裁边留白 | 2 px | 0–100 px | 裁剪后保留安全边距 |

输出目录示例：

```text
开屏动画_frames/
├── 000000.png
├── 000001.png
├── 000002.png
└── ...
```

PNG 序列保留透明通道，不包含音频。

## 11. 动态 WebP 设置

动态 WebP 适合网页、运营位或轻量动画展示。

### 11.1 预设

- 高质量。
- 均衡。
- 小体积。

选择预设后仍可手动修改参数，修改后状态会显示为“自定义”。

| 设置 | 均衡默认值 | 范围 | 说明 |
| --- | ---: | ---: | --- |
| 画质 | 80 | 1–100 | 越高通常画面越清晰、文件越大 |
| 缩放比例 | 80% | 10–100% | 控制输出尺寸 |
| 帧率 | 30 FPS | 1–120 FPS | 不允许高于源素材帧率 |
| 裁剪透明边缘 | 关闭 | 开/关 | 统一裁剪公共透明区域 |
| 裁边留白 | 2 px | 0–100 px | 裁剪后保留安全边距 |

动态 WebP 保留透明画面，但不包含音频。源素材含音频时，任务仍可成功，界面会提示只导出了画面。

## 12. 批次默认格式与单任务格式

左侧“输出格式”是当前批次默认格式。

右侧队列中，等待任务可以选择：

- 继承批次默认格式。
- 单独改为 Tencent VAP。
- 单独改为 PNG 序列帧。
- 单独改为动态 WebP。

任务开始转换后，最终格式会被冻结，不会因为之后修改批次默认值而改变。

## 13. 动画监看

### 13.1 选择素材

点击右侧队列中的任务，中间监看区会切换到当前选中的素材。

未选中任务使用紧凑显示，选中任务展开格式和操作信息。

### 13.2 同步播放

原始 SVGA 与输出结果共用一个“同步播放/同步暂停”按钮：

- 输出尚未生成时，只播放原始素材。
- 输出准备完成后，原始和输出从共享时间位置一起播放。
- 点击暂停会同时暂停两侧画面和声音。

### 13.3 共享时间轴

- 拖动时间轴会同时控制原始和输出进度。
- 拖动期间两侧暂停并实时定位。
- 松开后恢复拖动前的播放或暂停状态。
- 点击首帧或末帧会暂停并同步跳转。

### 13.4 调整监看高度

拖动监看画面下方的横向分隔条，可以上下调整画面高度。原始和输出预览始终保持等高。

### 13.5 预览背景

可切换透明、浅色或深色背景，用于检查透明边缘、发光和暗部细节。背景只影响预览，不写入输出。

## 14. 声音控制

原始素材和输出结果各有独立静音按钮。

### 14.1 原始素材

- 素材包含内嵌音频时，可以切换“原始声音/原始静音”。
- 素材没有音频时，按钮会禁用。

### 14.2 输出结果

- VAP 输出默认静音，避免和原始素材同时发声。
- 可单独切换“输出声音/输出静音”。
- 如果转换时开启了“输出静音”，成品没有音轨，输出声音按钮会禁用。
- PNG 和 WebP 不包含音频，输出声音按钮始终禁用。

预览静音只影响当前播放，不会修改已经生成的文件。

## 15. 转换队列

任务按队列顺序串行处理，避免多个动画同时渲染导致内存占用过高。

队列支持按状态筛选：

- 全部。
- 处理中。
- 完成。
- 失败。

任务卡片会显示：

- 文件名。
- 当前格式。
- 文件大小。
- 处理阶段。
- 进度百分比。
- 成功、跳过、失败或取消状态。

### 15.1 删除单个任务

点击选中任务中的删除按钮，只移除当前队列记录。

### 15.2 清空已完成

移除已经完成的队列记录。

### 15.3 清除所有

一次性移除全部队列记录。

> 删除、清空已完成和清除所有都不会删除原始 SVGA，也不会删除已经生成的 VAP、WebP 或 PNG 帧目录。

## 16. 开始、停止与覆盖

### 16.1 开始转换

满足以下条件时可以开始：

- 队列中有等待任务。
- 导入已经结束。
- 当前参数有效。
- 指定输出目录存在并且可写。
- 指定目录中不存在本批次同名冲突。

### 16.2 停止批次

点击“停止批次”后：

- 当前转换任务会被终止。
- 尚未执行的任务会取消。
- 已经成功提交的输出会保留。
- 不完整的临时结果不会作为正式输出保留。

### 16.3 覆盖已有输出

- 关闭：目标位置已经存在同名输出时，该任务跳过。
- 开启：工具先生成并校验临时结果，成功后再替换正式目标。

建议确认旧文件不再需要后再开启覆盖。

## 17. 转换结果与体积统计

成功任务会显示：

- 实际输出格式。
- 输出文件名或帧目录名称。
- 输出大小。
- 帧数、尺寸、帧率等素材信息。
- 在 Finder 或文件资源管理器中定位结果的操作。

PNG 序列的输出大小为帧目录中所有 PNG 文件的递归总大小。

底部批次区域统计：

- 成功任务原始合计。
- 成功任务转换后合计。
- 体积减少或增加值。
- 体积变化百分比。

跳过、失败和取消任务不计入成功体积统计。

## 18. 常见问题

### 18.1 为什么“开始转换”不可点击？

检查以下内容：

- 是否已经导入 SVGA。
- 是否仍在导入文件夹。
- 是否存在等待任务。
- 参数是否超出允许范围。
- 指定输出目录是否已经选择并且可写。
- 指定目录是否存在同名输出冲突。
- 顶栏本机运行状态是否正常。

### 18.2 原始素材无法预览，还能转换吗？

原始预览失败不一定代表转换失败。素材解析失败或部分预览能力不支持时，界面会提示“预览失败，不影响转换”。可以尝试转换并以最终任务状态为准。

### 18.3 输出完成后无法预览怎么办？

检查：

- 输出文件是否被移动或删除。
- 当前格式是否为受支持的 VAP、PNG 序列或动态 WebP。
- VAP 的 WebGL 预览是否正常。
- PNG 帧目录中的文件是否完整。

预览失败不会把已经成功的转换任务改为失败，也不会删除输出。

### 18.4 为什么输出没有声音？

依次检查：

1. 原始 SVGA 是否包含音频。
2. 输出格式是否为 Tencent VAP。
3. 转换前是否开启了“输出静音”。
4. 输出预览按钮是否处于“输出静音”状态。

PNG 和动态 WebP 本身不包含音频。

### 18.5 为什么选择任务后需要等待？

首次选择大型 SVGA 时需要解析素材。最近选择的任务会保留有限的解析缓存，相邻任务会在空闲时预读，因此再次切换通常更快。

### 18.6 为什么任务被跳过？

最常见原因是“覆盖已有输出”关闭，并且目标位置已经存在同名文件或帧目录。

### 18.7 指定目录出现同名冲突怎么办？

指定目录采用扁平输出。可以删除冲突任务、为其中一项改用不同格式，或切换回“原文件旁边”。

### 18.8 删除任务会删除文件吗？

不会。删除只移除应用内的队列记录。

### 18.9 磁盘空间不足怎么办？

清理磁盘空间后重新转换。转换过程中会生成临时帧，中间空间占用可能明显大于最终输出。

### 18.10 中文路径和空格是否支持？

支持。发生失败时优先检查目录写入权限、文件是否被其他程序占用，以及路径所在磁盘是否可用。

## 19. 运行诊断

点击顶栏本机运行状态，可以查看安装包内置组件的诊断结果，包括：

- FFmpeg。
- ffprobe。
- Electron Chromium。
- 项目依赖和媒体预览组件。

桌面安装版发生组件缺失时，不需要自行安装 Homebrew、Node.js 或 Chrome。建议重新安装完整应用，或把诊断结果提供给维护人员。

## 20. 隐私与安全

- 素材和输出只在本机处理。
- 工具不提供账号、登录、云同步或素材上传。
- 页面脚本和播放器来自安装包本地资源，不依赖 CDN。
- 删除队列记录不会删除磁盘文件。
- 转换结果先写入临时位置，完成格式校验后才提交到正式目标。
- 安装包未签名时，应先核对发布方提供的 SHA-256，再处理系统安全提示。

## 21. 使用建议

- 首次使用新类型素材时，先转换一个文件确认画面、透明度和声音。
- 批量任务建议先设置好输出位置和默认格式，再导入或开始转换。
- 直播礼物或发光动画建议保留 2 px 以上裁边留白。
- 需要声音时使用 VAP，并保持“输出静音”关闭。
- 需要继续合成时使用 PNG 序列。
- 需要轻量展示时使用动态 WebP。
- 覆盖旧结果前先备份重要文件。

