10个版本
0.3.2 | 2024年6月13日 |
---|---|
0.2.1 | 2024年5月6日 |
0.1.10 | 2023年11月23日 |
0.1.8 | 2023年6月17日 |
0.1.4 |
|
#1167 在 解析器实现
109 每月下载次数
用于 4 crates
86KB
2K SLoC
rsubs-lib
A rust library for converting and changing subtitles Currently a work in progress but it should be able to produce usable .srt,.vtt and .ssa/ass files from one another.
用法
use rsubs_lib::srt;
use rsubs_lib::ssa;
use rsubs_lib::vtt;
use rsubs_lib::Subtitle;
use std::str::FromStr;
fn main() {
srt::parse_from_file("./tests/fixtures/test.srt".to_string())
.unwrap() // Can read either a file or a string
.to_vtt() // converts file to WEBVTT
.to_file("./tests/fixtures/test_1.vtt") // Writes the converted subtitle to a file
.unwrap();
vtt::parse_from_file("./tests/fixtures/test.vtt")
.unwrap()
.to_ass() // converts file to SSA/ASS
.to_file("./tests/fixtures/test_1.ass")
.unwrap();
ssa::parse_from_file("./tests/fixtures/test.ass".to_string())
.unwrap()
.to_srt() // converts file to SRT
.to_file("./tests/fixtures/test_1.srt")
.unwrap();
// OR Using the simpler `Subtitle` enum
let sub: vtt::VTTFile = Subtitle::from_str("./tests/fixtures/test.ass").unwrap().into();
sub.to_file("./tests/fixtures/test.vtt").unwrap();
}
更多示例请参考 examples
文件夹。
当前功能
- 更改颜色
- 移动时间戳
- 更改行文本
- 在SSA和VTT格式中,还可以更改行样式
依赖
~3–5MB
~89K SLoC