forked from mttu-developers/konabot
84 lines
2.1 KiB
Plaintext
84 lines
2.1 KiB
Plaintext
# giftool - 对 GIF 动图进行裁剪、抽帧等处理
|
||
|
||
## 格式
|
||
|
||
```bash
|
||
giftool [图片] [选项]
|
||
```
|
||
|
||
## 示例
|
||
|
||
- **回复一张 GIF 并发送:**
|
||
|
||
```bash
|
||
giftool --ss 1.5 -t 2.0
|
||
```
|
||
|
||
从 1.5 秒处开始,截取 2 秒长度的片段。
|
||
|
||
- ```bash
|
||
giftool [图片] --ss 0:10 -to 0:15
|
||
```
|
||
|
||
截取从 10 秒到 15 秒之间的片段(支持 `MM:SS` 或 `HH:MM:SS` 格式)。
|
||
|
||
- ```bash
|
||
giftool [图片] --frames:v 10
|
||
```
|
||
|
||
将整张 GIF 均匀抽帧,最终保留 10 帧。
|
||
|
||
- ```bash
|
||
giftool [图片] --ss 2 --frames:v 5
|
||
```
|
||
|
||
从第 2 秒开始截取,并将结果抽帧为 5 帧。
|
||
|
||
## 参数说明
|
||
|
||
### 图片(必需)
|
||
|
||
- 必须是 GIF 动图。
|
||
- 支持直接附带图片,或回复一条含 GIF 的消息后使用指令。
|
||
|
||
### `--ss <时间戳>`(可选)
|
||
|
||
- 指定开始时间(单位:秒),可使用以下格式:
|
||
- 纯数字(如 `1.5` 表示 1.5 秒)
|
||
- 分秒格式(如 `1:30` 表示 1 分 30 秒)
|
||
- 时分秒格式(如 `0:1:30` 表示 1 分 30 秒)
|
||
- 默认从开头开始(0 秒)。
|
||
|
||
### `-t <持续时间>`(可选)
|
||
|
||
- 指定截取的持续时间(单位:秒),格式同 `--ss`。
|
||
- 与 `--ss` 配合使用:截取 `[ss, ss + t]` 区间。
|
||
- **不能与 `--to` 同时使用。**
|
||
|
||
### `--to <时间戳>`(可选)
|
||
|
||
- 指定结束时间(单位:秒),格式同 `--ss`。
|
||
- 与 `--ss` 配合使用:截取 `[ss, to]` 区间。
|
||
- **不能与 `-t` 同时使用。**
|
||
|
||
### `--frames:v <帧数>`(可选)
|
||
|
||
- 对截取后的片段进行均匀抽帧,保留指定数量的帧。
|
||
- 帧数必须为正整数(> 0)。
|
||
- 若原始帧数 ≤ 指定帧数,则保留全部帧。
|
||
|
||
### `--speed <速度>`(可选)
|
||
|
||
- 调整 GIF 图的速度。若为负数,则代表倒放。
|
||
|
||
## 使用方式
|
||
|
||
1. 发送指令前,请确保:
|
||
- 消息中附带一张 GIF 动图,**或**
|
||
- 回复一条包含 GIF 动图的消息后再发送指令。
|
||
2. 插件会自动:
|
||
- 解析 GIF 的每一帧及其持续时间(duration)
|
||
- 根据时间参数转换为帧索引进行裁剪
|
||
- 如指定抽帧,则对裁剪后的片段均匀采样
|
||
- 生成新的 GIF 并保持原始循环设置(`loop=0`)
|