alass
는 자막을 영화에 동기화하는 명령 줄 도구입니다.
자동으로 수정 될 수 있습니다
정렬 프로세스는 빠르고 정확할뿐만 아니라 언어에도 적합하지 않습니다. 즉, 자막을 다른 언어로 영화에 맞출 수 있습니다.
alass
"자동 언어에 대한 자막 동기화"를 나타냅니다. 이론과 알고리즘은 내 학사 논문에 기록되어 있으며 내 학사의 프레젠테이션에 요약되어 있습니다.
여기에서 최신 실행 파일을 얻으십시오! 아카이브를 다운로드하여 추출하십시오. 파일 alass.bat
은 명령 줄 도구입니다.
여기에서 최신 실행 파일을 얻으십시오! 실행 파일을 실행하려면 ffmpeg
및 ffprobe
설치해야합니다. 환경 ALASS_FFMPEG_PATH
ffmpeg
경로를 ffprobe
수 ALASS_FFPROBE_PATH
.
가장 기본적인 명령은 다음과 같습니다.
$ 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). 테스트 된 데이터베이스의 모든 자막 라인 (자막 파일 아님) 중 동기화 후
(아마도 완벽하지 않은) 참조 자막과 비교합니다.
녹과화물을 설치 한 다음 실행하십시오.
# this will create the lastest release in ~/.cargo/bin/alass-cli
$ cargo install alass-cli
이 프로젝트가 사용하는 음성 활성 모듈은 C로 작성되었습니다. 따라서이 프로젝트를 컴파일하려면 C 컴파일러 ( gcc
또는 clang
)가 필요합니다.
비디오 파일과 함께 alass-cli
사용하려면 ffmpeg
및 ffprobe
설치해야합니다. 원시 오디오 데이터를 추출하는 데 사용됩니다. 환경 변수를 사용하여 alass
사용하는 경로를 ALASS_FFMPEG_PATH
(기본 ffmpeg
) 및 ALASS_FFPROBE_PATH
(기본 ffprobe
)를 설정할 수 있습니다.
소스 코드에서 프로젝트를 빌드하고 실행하려면 :
$ 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
동적 라이브러리로 연결할 수도 있습니다. 라이브러리 구현은 오디오를 약 2 ~ 3 초 더 빠르게 추출 할 수 있습니다. 불행히도 컴파일하기가 더 어렵고 오류 처리는 매우 기본적이며 버그가 여전히있을 수 있습니다.
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
to alass-cli
에 대한 별칭을 설정하는 것이 좋습니다. 이것을 ~/.bashrc
(또는 좋아하는 쉘의 설정 파일)에 추가하십시오.
export PATH= " $PATH : $HOME /.cargo/bin "
alias alass= " alass-cli "
cargo
작업 공간에는 두 가지 프로젝트가 포함됩니다.
알고리즘을 제공하는 alass-core
프로젝트에서 동일한 알고리즘을 사용하려는 개발자를 대상으로합니다.
공식 명령 줄 도구 인 alass-cli
자막을 수정하려는 최종 사용자 의 대상입니다.
alass-core
에서 readme을 열어줍니다.
이 프로그램은 과거에 aligner
라고 불 렸습니다. 이로 인해 검색 엔진에서 찾을 수 없었기 때문에 alass
대신 선택되었습니다.