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
。