Use SRT subtitle files to study foreign languages (in progress)
emk Merge pull request #44 from symphorien/master
(cli_test_dir) use Display instead of Debug for std::process::ExitStatus
Latest commit 83d8a77 Jun 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Add vscode settings Nov 23, 2017
aligned_media algined_media: Update to latest draft standard & add HTML validation Dec 27, 2017
aligned_media_validator algined_media: Update to latest draft standard & add HTML validation Dec 27, 2017
backend common_failures: Improve APIs Dec 24, 2017
cli_test_dir use Display instead of Debug for std::process::ExitStatus Jun 10, 2018
common_failures common_failures v0.1.1: Format errors without backtraces May 15, 2018
fixtures opus_tools v0.1.0: Initial release Mar 19, 2017
opus_tools common_failures: Improve APIs Dec 24, 2017
submodel Replace `error-chain` with `failure` Dec 24, 2017
substudy Remove obsolete `AsciiExt` May 15, 2018
subtitle_ocr common_failures: Improve APIs Dec 24, 2017
subtitles2srt Replace `error-chain` with `failure` Dec 24, 2017
ui ui: Highlight currently playing subtitle Dec 3, 2017
vobsub common_failures: Improve APIs Dec 24, 2017
vobsub2png Replace `error-chain` with `failure` Dec 24, 2017
.gitignore Ignore all `target` directories Dec 24, 2017
.rustfmt.toml Add `rustfmt` configuration Nov 23, 2017
.travis.yml ci: Avoid releasing anything other than substudy automatically Dec 17, 2017
Cargo.lock common_failures v0.1.1: Format errors without backtraces May 15, 2018
Cargo.toml aligned_media_validate: Add a sample wasm app for validation Dec 26, 2017
Dockerfile Configure cross-platform binary releases Nov 24, 2017
LICENSE.txt Add license info Feb 12, 2017
README.md Replace `error-chain` with `failure` Dec 24, 2017
appveyor.yml ci: Avoid releasing anything other than substudy automatically Dec 17, 2017
build-release Configure cross-platform binary releases Nov 24, 2017

README.md

Rust subtitle utilities

Build Status Build status

Are you looking for substudy? Try here. (substudy has been merged into the subtitles-rs project.)

This repository contains a number of related tools and libraries for manipulating subtitles. See the README.md files in this individual subdirectories for more details.

  • substudy: Learn foreign languages using audio and subtitles extracted from video files.
  • vobsub: A Rust library for parsing subtitles in sub/idx format.
  • vobsub2png: A command-line tool for converting sub/idx subtitles to PNGs with JSON metadata.
  • opus_tools: Utilities for parsing subtitle data from the OPUS project, for use as input to various language models.
  • common_failures: Useful Fail implementations and error-handling tools.
  • cli_test_dir: A simple integration testing harness for CLI tools.

The following subtitle-related projects can be found in other repositories:

  • aligner: This GPLed library by kaegi uses dynamic programming to re-align out-of-sync subtitles using another subtitle file with known-good timing.
  • subparse: This library by kaegi parses many common subtitle formats.

License

This code is distributed under the CC0 1.0 Universal public domain grant (plus fallback license), with the exception of some data in the fixtures directory, which contains a few individual frames of subtitle data used in tests. Note that none of the individual crates include that data.

Contributions

Your feedback and contributions are welcome! Please feel free to submit issues and pull requests using GitHub.