2 releases
new 0.1.1 | Nov 25, 2024 |
---|---|
0.1.0 | Nov 25, 2024 |
#536 in Math
198 downloads per month
54KB
900 lines
Subtytle
A Subtitle library for rust. For right now only ASS (SubStation Alpha) is implemented, but hopefully there will be more time in the future to make room for SRT,VTT and SUB(microdvd).
Features
- Parsing ASS from
str
use std::fs::File;
use std::io::{self, Read};
use subtytle::ass::AssSubtitle;
fn main() {
let path = "subtitles.ass";
let mut file = File::open(path).expect("Failed to read in file");
let mut contents = String::new();
file.read_to_string(&mut contents).expect("Failed to read string");
let ass_decoded = AssSubtitle::from_str(contents).unwrap();
Ok(())
}
- Parsing of SRT events into ass events
use std::fs::File;
use std::io::{self, Read};
use subtytle::ass::Event;
fn main() {
let path = "subtitles.srt";
let mut file = File::open(path).expect("Failed to read in file");
let mut contents = String::new();
file.read_to_string(&mut contents).expect("Failed to read string");
let list_of_events = Event::from_srt(contents).unwrap();
Ok(())
}
Limitations
I have yet to find the original specifications of the Sub Station Alpha script format, therefore I've used this one. I have no idea which fields are actually optional and which are not. Also there is many left out like:
ScaledBorderAndShadow: yes
Last Style Storage: Default
Video File: ?dummy:23.976000:40000:640:480:47:163:254:
Video Aspect Ratio: 0
Video Zoom: 8
Video Position: 0
Bugs department
Since the code is hosted on a private git instance (as of right now) any bugs shall be discussed in 4o1x5's project room.
License
Licensed under the MIT license.
Contribution
Currently this library does not accept any contributors, as it's hosted on a private git server.
Dependencies
~4.5–7MB
~121K SLoC