Le fichier jar peut être téléchargé ici

submerge-cli est une application utilisable en ligne de commande proposant les mêmes fonctionnalités que le site : merge de 2 sous-titres en 1, modification de l'encodage de caractère d'un fichier, génération de sous-titres ASS et conversion en SRT.

L'application est développée en java. Elle est donc compatible linux / Mac / Windows mais requiert l'installation de Java Runtime Environment 8.

Pour connaître sa version de java (windows) :

%JAVA_HOME%\bin\java.exe -version

Sous linux :

java -version

Si la version de java est antérieure à 8, il faut procéder à la mise à jour. L'utilisation de submerge-cli ne requiert pas d'autre manipulation et il suffit alors d'ouvrir un terminal dans le dossier du jar et de tapper la commande désirée. Par exemple afficher l'aide :

java -jar submerge-cli.jar --help

Pour transformer l'utilisation du jar en une commande système (exemple ici sous linux), créer un fichier stub.sh dans le même répertoire que le jar contenant le code suivant :

#!/bin/sh
MYSELF=`which "$0" 2>/dev/null`
[ $? -gt 0 -a -f "$0" ] && MYSELF="./$0"
java=java
if test -n "$JAVA_HOME"; then
    java="$JAVA_HOME/bin/java"
fi
exec "$java" $java_args -jar $MYSELF "$@"
exit 1

Puis exécuter les commandes suivantes :

cat stub.sh submerge-cli.jar > sbm && chmod +x sbm
mv sbm /usr/bin/

Désormais submerge peut être lancé comme n'importe quelle commande (ici nommée sbm) :

sbm --help

La commande merge prend 2 sous-titres au format ASS ou SRT en entrée et génère un ASS dans le répertoire courant. Pour personnaliser le sous-titre généré, se référer à l'onglet configuration.

Exemple :

sbm --merge first_subtitle.srt second_subtitle.ass

Il est possible de spécifier le nom du fichier généré avec l'option --output

sbm --merge --output subtitle_output first_subtitle.srt second_subtitle.ass

Chaque option peut être abrégée par sa première lettre :

sbm -m -o subtitle_output first_subtitle.srt second_subtitle.ass

La commande srt prend 2 sous-titres au format ASS ou SRT en entrée et génère un SRT dans le répertoire courant. Si le sous-titre d'entrée est un SSA / ASS alors les balises italique sont traduite en balise itaque SRT (tout autre formattage est effacé).

Exemple :

sbm --srt subtitle.ass

Il est possible de spécifier le nom du fichier généré avec l'option --output

sbm --srt subtitle.ass --output subtitle_output

Chaque option peut être abrégée par sa première lettre :

sbm -s subtitle.ass

La commande ass prend un sous-titre au format ASS ou SRT en entrée et génère un ASS formatté dans le répertoire courant. Pour personnaliser le sous-titre généré, se référer à l'onglet configuration.

Exemple :

sbm --ass subtitle.ass

Il est possible de spécifier le nom du fichier généré avec l'option --output :

sbm --ass subtitle.ass --output subtitle_output

Chaque option peut être abrégée par sa première lettre :

sbm -a subtitle.srt

La commande utf8 accepte un fichier en entrée (pas de restriction sur le format), elle en détecte l'encodage de caractère et le transforme en UTF-8.

Exemple :

sbm --utf8 subtitle.srt

En l'absence d'autre paramètre, la commande utf8 modifie directement le fichier d'entrée. Il est en cependant possible de laisser celui-ci tel quel et d'écrire le résultat dans un nouveau fichier via l'option --output

sbm --utf8 subtitle.srt --output subtitle_output

Chaque option peut être abrégée par sa première lettre :

sbm -u subtitle.srt -o file_output

Comme le site, submerge-cli permet de configurer les paramètres les plus courants du fichier ASS généré : couleur, police, taille et contour. Le paramétrage se fait dans un fichier de configuration XML situé à l'intérieur du jar.

Pour le modifier, il faut donc ouvrir le jar avec un gestionnaire d'archive et modifier le fichier user-config.xml :

Celui-ci se présente comme suit :

Le bloc dualAssConfig configure les paramètres utilisés par la commande --merge tandis que le bloc simpleAssConfig configure ceux de la commande --ass. Pour chacun la configuration est similaire et les valeurs possibles de chacune des balise sont les mêmes que sur le site (attention à la police qui doit respecter la casse).