docs: add ass docs
This commit is contained in:
parent
76e1298ded
commit
6d730fa69b
4 changed files with 109 additions and 22 deletions
|
@ -36,9 +36,10 @@ sub-cli convert <源文件> <目标文件>
|
|||
|
||||
| 源格式 | 目标格式 | 注意 |
|
||||
|---------------|---------------|-------|
|
||||
| SRT (.srt) | SRT, VTT, LRC, TXT | - |
|
||||
| VTT (.vtt) | SRT, VTT, LRC, TXT | - |
|
||||
| LRC (.lrc) | SRT, VTT, LRC, TXT | - |
|
||||
| SRT (.srt) | SRT, VTT, LRC, TXT, ASS | - |
|
||||
| VTT (.vtt) | SRT, VTT, LRC, TXT, ASS | - |
|
||||
| LRC (.lrc) | SRT, VTT, LRC, TXT, ASS | - |
|
||||
| ASS (.ass) | SRT, VTT, LRC, TXT, ASS | - |
|
||||
| TXT (.txt) | — | TXT只能作为目标格式,不能作为源格式 |
|
||||
|
||||
### 功能保留
|
||||
|
@ -61,6 +62,18 @@ sub-cli convert <源文件> <目标文件>
|
|||
- 对于最后一个条目,添加默认时长(通常3-5秒)来创建结束时间
|
||||
- **转换为LRC时丢失**: 当其他格式转换为LRC时,任何结束时间戳信息都会被丢弃
|
||||
|
||||
#### ASS功能
|
||||
- **保留**: 文本内容、时间线(开始和结束时间)、基本样式信息
|
||||
- **仅有基本支持**: 转换创建一个具有基本结构的"最小"ASS文件
|
||||
- **转换为ASS时**:
|
||||
- 基本样式(粗体、斜体、下划线)会转换为具有默认设置的ASS样式
|
||||
- 默认字体为Arial,大小20pt,具有标准颜色和边距
|
||||
- 只创建"Dialogue"(对话)类型的事件(不创建"Comment"或其他事件类型)
|
||||
- **从ASS转换时**:
|
||||
- 只转换类型为"Dialogue"的事件,忽略"Comment"事件
|
||||
- 在目标格式支持的情况下保留样式信息
|
||||
- ASS特有的属性(如Layer、MarginL/R/V等)在可能的情况下存储为元数据
|
||||
|
||||
#### TXT功能
|
||||
- **仅输出**: 纯文本格式只包含没有任何时间或样式的文本内容
|
||||
|
||||
|
@ -83,6 +96,12 @@ sub-cli convert lyrics.lrc transcript.txt
|
|||
|
||||
# 从WebVTT转换为SRT
|
||||
sub-cli convert subtitles.vtt subtitles.srt
|
||||
|
||||
# 从SRT转换为ASS
|
||||
sub-cli convert subtitles.srt subtitles.ass
|
||||
|
||||
# 从ASS转换为SRT
|
||||
sub-cli convert subtitles.ass subtitles.srt
|
||||
```
|
||||
|
||||
## sync
|
||||
|
@ -108,6 +127,7 @@ sub-cli sync <源文件> <目标文件>
|
|||
- SRT到SRT
|
||||
- LRC到LRC
|
||||
- VTT到VTT
|
||||
- ASS到ASS
|
||||
|
||||
### 行为详情
|
||||
|
||||
|
@ -128,19 +148,29 @@ sub-cli sync <源文件> <目标文件>
|
|||
- 开始时间使用源条目之间的线性插值计算
|
||||
- 结束时间根据源条目时长计算
|
||||
- 保持条目之间的时间关系
|
||||
- **从目标保留**: 所有字幕文本内容。
|
||||
- **从目标保留**: 所有内容文本。
|
||||
- **在目标中修改**: 更新时间戳并标准化条目编号(从1开始顺序编号)。
|
||||
|
||||
#### 对于VTT文件:
|
||||
|
||||
- **当条目数匹配时**: 源的开始和结束时间直接应用于目标条目。
|
||||
- **当条目数不同时**: 使用基于线性插值的缩放方法,类似于SRT同步:
|
||||
- **当条目数不同时**: 使用基于线性插值的缩放方法:
|
||||
- 开始时间使用源条目之间的线性插值计算
|
||||
- 结束时间根据源条目时长计算
|
||||
- 保持条目之间的时间关系
|
||||
- **从目标保留**: 所有字幕文本内容和样式信息。
|
||||
- **在目标中修改**: 更新时间戳并标准化提示标识符。
|
||||
|
||||
#### 对于ASS文件:
|
||||
|
||||
- **当条目数匹配时**: 源时间线(开始和结束时间)直接应用于目标事件。
|
||||
- **当条目数不同时**: 使用基于线性插值的缩放方法:
|
||||
- 开始时间使用源事件之间的线性插值计算
|
||||
- 结束时间根据源事件时长计算
|
||||
- 保持事件之间的时间关系
|
||||
- **从目标保留**: 所有事件文本内容、样式引用和其他属性(如Layer、MarginL/R/V)。
|
||||
- **在目标中修改**: 只更新时间戳(Start和End)。
|
||||
|
||||
### 时间线插值详情
|
||||
|
||||
同步命令使用线性插值来处理源文件和目标文件之间不同的条目数量:
|
||||
|
@ -177,6 +207,9 @@ sub-cli sync reference.lrc target.lrc
|
|||
|
||||
# 使用另一个VTT文件作为参考来同步VTT文件
|
||||
sub-cli sync reference.vtt target.vtt
|
||||
|
||||
# 使用另一个ASS文件作为参考来同步ASS文件
|
||||
sub-cli sync reference.ass target.ass
|
||||
```
|
||||
|
||||
## fmt
|
||||
|
@ -202,6 +235,7 @@ sub-cli fmt <文件>
|
|||
| SRT | `.srt` | 标准化条目编号(从1开始顺序)<br>格式化时间戳为`00:00:00,000`格式<br>确保条目之间适当的间距 |
|
||||
| LRC | `.lrc` | 组织元数据标签<br>标准化时间戳格式`[mm:ss.xx]`<br>确保正确的内容对齐 |
|
||||
| VTT | `.vtt` | 验证WEBVTT头<br>标准化提示标识符<br>格式化时间戳为`00:00:00.000`格式<br>组织样式信息 |
|
||||
| ASS | `.ass` | 标准化部分顺序([Script Info], [V4+ Styles], [Events])<br>格式化时间戳为`h:mm:ss.cc`格式<br>保留所有脚本信息、样式和事件数据 |
|
||||
|
||||
### 格式特定详情
|
||||
|
||||
|
@ -214,6 +248,9 @@ sub-cli fmt <文件>
|
|||
#### VTT格式化
|
||||
格式化WebVTT文件时,命令确保适当的头格式、顺序提示标识符和标准时间戳格式。所有VTT特定功能(如样式、定位和注释)都被保留。
|
||||
|
||||
#### ASS格式化
|
||||
格式化器读取并解析ASS文件,然后以标准化结构重新生成它。它保持所有原始内容,包括脚本信息、样式和事件。强制执行标准部分顺序([Script Info], [V4+ Styles], [Events]),并以标准的`h:mm:ss.cc`格式格式化时间戳。
|
||||
|
||||
### 示例
|
||||
|
||||
```bash
|
||||
|
@ -225,6 +262,9 @@ sub-cli fmt lyrics.lrc
|
|||
|
||||
# 格式化VTT文件
|
||||
sub-cli fmt subtitles.vtt
|
||||
|
||||
# 格式化ASS文件
|
||||
sub-cli fmt subtitles.ass
|
||||
```
|
||||
|
||||
## version
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue