#字幕 #并行 #SRT #媒体 #语言 #英语 #双语

bin+lib 子研究

用于处理并行、双语字幕和媒体文件的语言学习工具

19 个版本

0.5.2 2024 年 3 月 13 日
0.4.5 2017 年 12 月 8 日
0.4.4 2017 年 11 月 23 日
0.4.1 2017 年 3 月 18 日
0.0.3 2014 年 12 月 26 日

#112 in 图像

Download history 6/week @ 2024-06-28 76/week @ 2024-07-05

569 每月下载次数

Apache-2.0LGPL-3.0

135KB
3K SLoC

Latest version License example workflow

这是一个实验性工具,旨在帮助语言学习者以各种方式利用并行字幕。例如,它可以生成双语字幕、审阅页面和Anki卡片集

Fleet of ships on TV, with subtitles in English and Spanish Flash card with image and audio on front, bilingual subtitles on back

以下是文档

示例用法

# Create a bilingual subtitle file.
substudy combine episode_01_01.es.srt episode_01_01.en.srt \
    > episode_01_01.bilingual.srt

# Export images, audio clips and subtitles as a web page.
substudy export review episode_01_01.mkv \
    episode_01_01.es.srt episode_01_01.en.srt

安装 ffmpeg

要使用 substudy,您需要在您的系统上安装 ffmpeg 命令行工具。您可以在 FFmpeg 网站 上找到大多数平台的官方包。但以下是针对特定平台的说明

# Ubuntu 16.04 and later.
sudo apt update
sudo apt install ffmpeg

# MacOS X with `brew` installed.
brew install ffmpeg

如果您正在运行 Windows,或者您是一位从未听说过 brew 的 Mac 用户,那么您可能希望从 FFmpeg 网站 下载您的包。请注意,这些配置尚未经过大量测试,因此如果遇到问题,请报告一个 问题,以便我们可以修复它。

使用二进制发布版安装 substudy

安装 substudy 最简单的方法是使用您平台上的官方 二进制发布版。下载适当的 *.zip 文件,打开它,并将二进制文件安装到操作系统可以找到的位置。以下是针对常见平台的说明

# Linux x86_64 and MacOS X.
unzip substudy-*.zip
sudo cp substudy /usr/local/bin

Linux 二进制文件是静态链接的,因此它们应该在任何合理的现代 x86_64 发行版上工作。对于其他架构,您可能需要尝试使用下面描述的 cargo 安装。

对于 Windows,您目前需要自己解决。但如果您做到了,请提交一个 问题 并告诉我们您是如何做到的,以便我们可以更新说明!

告诉您的操作系统允许运行 substudy

Linux 信任您运行您下载的软件。

通常,MacOS和Windows要求所有程序都必须由开发者签名。这每年都会让我花费一定的费用(MacOS每年99美元,Windows的EV证书大约每年300-400美元)。你可以按照以下说明绕过这个限制

显然,你应该只在信任我的情况下这样做,你应该始终从官方发布页面下载二进制文件。如果你有如何完成此操作的最新说明,请提交一个问题并告诉我们你是如何做的。

使用cargo安装substudy

你也可以使用cargocargo install命令来安装substudy。要使用此命令,你需要安装最新版本的Rust。如果你已经安装了rustup,你可以运行以下命令

rustup update stable

如果你从未听说过rustup,你可以查看rustup页面上的说明,或者直接运行以下命令

# Mac and Linux only.  Windows see above.
curl https://sh.rustup.rs -sSf | sh

一旦设置完成,你就可以通过运行以下命令来安装substudy

cargo install substudy

构建substudy

假设你已经按照上述说明安装了Rust和其他依赖项,你可以运行

git clone https://github.com/emk/substudy.git
cd substudy
cargo build

如果这失败了,请随时提交一个问题。

贡献

请随时向我发送pull request或提交一个问题!

确保你的更改不会影响一切的正常工作

cargo test

我希望看到substudy支持的包括以下内容

  • 创建各种类型的并行媒体:字幕、Anki卡片等。
  • (2017目标)使用OCR和字符数据库自动将vobsub转换为*.srt,这是一个理论上可以做得更好的任务。

如果它们附带干净的代码和坚实的测试套件,我可能会合并以下内容

  • 更好的字符集转换。
  • 各种类型的字幕清理。
  • 除了*.srt以外的格式。
  • 更好的算法来修复时间和对齐。

我很乐意将严肃的、交互式的字幕编辑留给Subtitle Edit,并专注于与语言学习相关的情况以及方便从命令行调用的情况。我也很高兴看到最有用的subs2srs功能的命令行实现——这是一个美妙而有用的程序,但它有太多的配置选项,并且需要使用外部工具进行太多工作。

许可证

此代码根据Apache 2.0许可证分发。我们的测试套件包含来自受版权保护的电视节目的几十行字幕,这可能在大多数司法管辖区下属于de minimis、合理使用或等效例外。

此代码的早期版本根据CC0 1.0通用公共领域许可(以及备用许可证)分发。这可能会在某些司法管辖区赋予你额外的权利,但你需要咨询法律专业人士。

依赖关系

~25-41MB
~631K SLoC