alass
是将字幕与电影同步的命令行工具。
它可以自动纠正
对齐过程不仅快速准确,而且是语言敏捷的。这意味着您可以用不同语言的电影将字幕与电影保持一致。
alass
代表“自动语言无关字幕同步”。该理论和算法记录在我的学士学位论文中,并在我的学士学位演讲中总结了。
从这里获取最新的可执行文件!只需下载并提取存档即可。文件alass.bat
是命令行工具。
从这里获取最新的可执行文件!要运行可执行文件,必须安装ffmpeg
和ffprobe
。您可以使用环境变量ALASS_FFMPEG_PATH
(默认ffmpeg
)和ALASS_FFPROBE_PATH
(默认ffprobe
)更改其路径。
最基本的命令是:
$ alass movie.mp4 incorrect_subtitle.srt output.srt
您也可以使用alass
将不正确的字幕与其他字幕对齐:
$ alass reference_subtitle.ssa incorrect_subtitle.srt output.srt
您还可以调整算法试图避免引入或删除休息的数量:
# split-penalty is a value between 0 and 1000 (default 7)
$ alass reference_subtitle.ssa incorrect_subtitle.srt output.srt --split-penalty 10
5到20之间的值最有用。超过20的任何东西都会错过一些重要的分裂,而5个以下的任何东西都会引入许多不必要的分裂。
如果您只想在不引入拆分的情况下移动字幕,则可以使用--no-splits
:
# synchronizing the subtitles in this mode is very fast
$ alass movie.mp4 incorrect_subtitle.srt output.srt --no-splits
当前支持的是.srt
, .ssa
/ .ass
和.idx
文件。参考文件都支持每种常见的视频格式。
从视频中提取音频大约需要10到20秒。计算通常需要5到10秒。
对齐通常是完美的 - “好字幕”的百分比约为88%至98%,具体取决于您对“良好字幕”的严格分类。从OpenSubtitles.org
下载随机字幕的错误率约为50%(样本量n = 118)。同步后,在测试数据库中的所有字幕线(不是字幕文件)中
与(可能不是完美的)参考字幕相比。
安装Rust和货物,然后运行:
# this will create the lastest release in ~/.cargo/bin/alass-cli
$ cargo install alass-cli
该项目使用的语音活动模块是用C编写的。因此,需要编译该项目的C编译器( gcc
或clang
)。
要将alass-cli
与视频文件一起使用,必须安装ffmpeg
和ffprobe
。它用于提取原始音频数据。您可以使用环境变量ALASS_FFMPEG_PATH
(默认ffmpeg
)和ALASS_FFPROBE_PATH
(默认ffprobe
)设置alass
使用的路径。
如果您想从源代码构建和运行项目:
$ git clone https://github.com/kaegi/alass
$ cd alass
$ cargo build
$ cargo run -- movie.mp4 input.srt output.srt
所有参数均显示用于cargo build
也可以用于cargo install
和cargo run
。
您还可以在编译时间内将ffmpeg
链接为动态库。库实现可以更快地提取音频。不幸的是,很难编译,错误处理只是非常基本的,并且可能仍然有错误。
您必须从alass-cli/Cargo.toml
中的每一行中删除“ # FFMPEG-LIB
”。然后使用:
# Important: you have to be inside `alass-cli`! Otherwise the parameters get ignored.
$ cargo build --no-default-features --features ffmpeg-library
对于Linux用户:建议将文件夹路径添加到您的系统路径,并设置alass
alass-cli
的别名。将其添加到您的~/.bashrc
(或您喜欢的外壳的设置文件):
export PATH= " $PATH : $HOME /.cargo/bin "
alias alass= " alass-cli "
这个cargo
工作区包含两个项目:
提供算法的alass-core
它针对的是想要在项目中使用相同算法的开发人员。
alass-cli
是官方命令行工具
它是最终用户想要纠正其字幕的目标。
从alass-core
开放式读书我。
过去,该程序被称为aligner
。这几乎无法在搜索引擎上找到,因此选择了alass
。