#字幕 #转换 #操作 # #解析器

rsubs-lib

纯Rust字幕操作和转换库

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 2022年12月29日

#1167解析器实现

Download history 19/week @ 2024-04-15 5/week @ 2024-04-22 240/week @ 2024-04-29 307/week @ 2024-05-06 260/week @ 2024-05-13 219/week @ 2024-05-20 70/week @ 2024-05-27 54/week @ 2024-06-03 175/week @ 2024-06-10 135/week @ 2024-06-17 46/week @ 2024-06-24 196/week @ 2024-07-01 36/week @ 2024-07-08 26/week @ 2024-07-15 1/week @ 2024-07-22 40/week @ 2024-07-29

109 每月下载次数
用于 4 crates

MIT 许可证

86KB
2K SLoC

rsubs-lib

ci clippy Crates.io Crates.io CodeCoverage

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