alass
est un outil de ligne de commande pour synchroniser les sous-titres aux films.
Il peut corriger automatiquement
Le processus d'alignement est non seulement rapide et précis, mais aussi agnostique du langage. Cela signifie que vous pouvez aligner les sous-titres sur les films dans différentes langues.
alass
signifie "Synchronisation automatique des sous-titres langage-agnostique". La théorie et les algorithmes sont documentés dans ma thèse de baccalauréat et résumés dans ma présentation de baccalauréat.
Obtenez le dernier exécutable d'ici! Il suffit de télécharger et d'extraire les archives. Le fichier alass.bat
est l'outil de ligne de commande.
Obtenez le dernier exécutable d'ici! Pour exécuter l'exécutable, ffmpeg
et ffprobe
doivent être installés. Vous pouvez modifier leurs chemins avec les variables d'environnement ALASS_FFMPEG_PATH
(par défaut ffmpeg
) et ALASS_FFPROBE_PATH
(par défaut ffprobe
).
La commande la plus basique est:
$ alass movie.mp4 incorrect_subtitle.srt output.srt
Vous pouvez également utiliser alass
pour aligner le sous-titre incorrect sur un sous-titre différent:
$ alass reference_subtitle.ssa incorrect_subtitle.srt output.srt
Vous pouvez en outre ajuster la quantité de l'algorithme essaie d'éviter d'introduire ou de supprimer une pause:
# split-penalty is a value between 0 and 1000 (default 7)
$ alass reference_subtitle.ssa incorrect_subtitle.srt output.srt --split-penalty 10
Les valeurs entre 5 et 20 sont les plus utiles. Tout ce qui est au-dessus de 20 manque quelques divisions importantes et tout ce qui est en dessous de 5 introduit de nombreuses divisions inutiles.
Si vous voulez seulement déplacer le sous-titre, sans introduire de scission, vous pouvez utiliser --no-splits
:
# synchronizing the subtitles in this mode is very fast
$ alass movie.mp4 incorrect_subtitle.srt output.srt --no-splits
Les fichiers .srt
, .ssa
/ .ass
et .idx
sont actuellement pris en charge. Chaque format vidéo commun est pris en charge pour le fichier de référence.
L'extraction de l'audio d'une vidéo prend environ 10 à 20 secondes. Le calcul de l'alignement prend généralement entre 5 et 10 secondes.
L'alignement est généralement parfait - le pourcentage de "bons sous-titres" est d'environ 88% à 98%, selon la stricte que vous classez un "bon sous-titre". Le téléchargement des sous-titres aléatoires à partir d' OpenSubtitles.org
avait un taux d'erreur d'environ 50% (taille de l'échantillon n = 118). De toutes les lignes de sous-titre (pas de fichiers de sous-titres) dans la base de données testée, après synchronisation
par rapport à un sous-titre de référence (peut-être pas parfait).
Installez la rouille et la cargaison puis exécutez:
# this will create the lastest release in ~/.cargo/bin/alass-cli
$ cargo install alass-cli
Le module d'activité vocale que ce projet utilise est écrit en C. Par conséquent, un compilateur C ( gcc
ou clang
) est nécessaire pour compiler ce projet.
Pour utiliser alass-cli
avec des fichiers vidéo, ffmpeg
et ffprobe
doivent être installés. Il est utilisé pour extraire les données audio brutes. Vous pouvez définir les chemins utilisés par alass
à l'aide des variables d'environnement ALASS_FFMPEG_PATH
(par défaut ffmpeg
) et ALASS_FFPROBE_PATH
( ffprobe
par défaut).
Si vous souhaitez construire et exécuter le projet à partir du code source:
$ git clone https://github.com/kaegi/alass
$ cd alass
$ cargo build
$ cargo run -- movie.mp4 input.srt output.srt
Tous les paramètres sont affichés pour cargo build
peuvent également être utilisés pour cargo install
et cargo run
.
Vous pouvez également lier ffmpeg
en tant que bibliothèque dynamique pendant le temps de compilation. L'implémentation de la bibliothèque peut extraire l'audio environ 2 à 3 secondes plus rapidement. Malheureusement, il est plus difficile à compiler, la gestion des erreurs n'est que très basique et pourrait encore avoir des bogues.
Vous devez supprimer " # FFMPEG-LIB
" de chaque ligne qui commence par elle dans alass-cli/Cargo.toml
. Puis utilisez:
# Important: you have to be inside `alass-cli`! Otherwise the parameters get ignored.
$ cargo build --no-default-features --features ffmpeg-library
Pour les utilisateurs de Linux: il est recommandé d'ajouter le chemin du dossier à votre chemin système ainsi que de configurer un alias pour alass
à alass-cli
. Ajoutez ceci à votre ~/.bashrc
(ou le fichier de configuration de votre coquille préférée):
export PATH= " $PATH : $HOME /.cargo/bin "
alias alass= " alass-cli "
Cet espace de travail cargo
contient deux projets:
alass-core
qui fournit l'algorithme
Il est destiné aux développeurs qui souhaitent utiliser le même algorithme dans leur projet.
alass-cli
qui est l'outil de ligne de commande officielle
Il est cible aux utilisateurs finaux qui souhaitent corriger leurs sous-titres.
Readme ouverte de alass-core
.
Ce programme s'appelait aligner
dans le passé. Cela rendait presque impossible de trouver sur un moteur de recherche, donc alass
a été choisi à la place.