#字幕 #SRT #解析器

srtlib

一个简单的处理 .srt 字幕文件库

11 个版本

0.2.0 2024 年 8 月 18 日
0.1.9 2024 年 5 月 28 日
0.1.8 2024 年 2 月 25 日
0.1.7 2023 年 6 月 30 日
0.1.0 2020 年 10 月 13 日

#272 in 文件系统

Download history 16/week @ 2024-05-02 6/week @ 2024-05-09 14/week @ 2024-05-16 137/week @ 2024-05-23 56/week @ 2024-05-30 21/week @ 2024-06-06 15/week @ 2024-06-13 18/week @ 2024-06-20 21/week @ 2024-06-27 9/week @ 2024-07-18 58/week @ 2024-07-25 145/week @ 2024-08-01 133/week @ 2024-08-08 147/week @ 2024-08-15

487 每月下载量
2 crates 中使用

MIT/Apache

36KB
550 代码行

srtlib

Build Status Version Crates.io Total Downloads License

一个简单的 Rust 库,用于处理 .srt 字幕文件。

srtlib 允许您将字幕文件处理为多个字幕结构的集合,让您在不直接修改 .srt 文件的情况下修改字幕。

字幕集合可以通过解析字符串或文件生成,也可以从头开始,从而完全控制每个字幕的所有元素。

用法

将此添加到您的 Cargo.toml 中

[dependencies]
srtlib = "0.1"

读取 .srt 文件

use srtlib::Subtitles;

// Parse subtitles from file that uses the utf-8 encoding.
let mut subs = Subtitles::parse_from_file("subtitles.srt", None).unwrap();

现在您可以对字幕执行任何操作。例如,将所有字幕时间向前移动 10 秒

// Move every subtitle 10 seconds forward in time.
for s in &mut subs {
    s.add_seconds(10);
}

最后,我们可以将字幕写回到 .srt 文件

subs.write_to_file("subtitles_fixed.srt", None).unwrap();

有关更多示例,请参阅 文档

许可协议

根据以下任一协议许可

由您选择。

贡献

除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,都应作为上述双重许可,不附加任何额外条款或条件。

依赖项

~3MB
~118K SLoC