#subtitle #ffi #align #automatic #alignment

alass-ffi

FFI bindings for subtitle synchronization with alass

4 releases (2 breaking)

0.3.0 Apr 17, 2022
0.1.2 Feb 29, 2020
0.1.0 Feb 29, 2020
0.0.0 Feb 26, 2020

#388 in Video

GPL-3.0 license

690KB
1.5K SLoC

alass-ffi

Crates.io Build minimum rustc 1.40 License

FFI bindings for subtitle synchronization with alass-core

alass-core is a fantastic library which performs fast and accurate subtitle synchronization. This wrapper library provides FFI bindings so such functionality can be used by other languages like C, Python, Java, or any language which can interface with native libraries.

API

Docs

See the generated header file for API documentation. The alass_sync call is the API's main operation and a good place to start.

Note that this header is checked into git for informational purposes and will not reflect any changes you may have made to your working copy. See the target/ directory for the up-to-date version generated by your build.

Example

An example C application demonstrating usage of the API can be found in the ffi/examples/sync-demo/ folder. The example provides a basic CLI utility for syncing subtitles from the command line and can be built and run using the sync-demo.sh helper script.

Releases

Pre-built binaries for several common architectures are available in the releases section. Additional architectures can be made available upon request.

Building

You will need Rust 1.40+ and Cargo installed to build alass-ffi.

$ cargo build --release [--target ARCH]

Build artifacts can be found within the target directory.

License

Everything in this repo is GPL-3.0 unless otherwise specified

Dependencies

~28MB
~406K SLoC