Y a-t-il des convertisseurs de sous-titres en ligne de commande open source, de préférence pour Linux ?
Réponses
Trop de publicités?Qu'est-ce que vous voulez convertir exactement? S'il s'agit de formats de sous-titres, cela dépend des formats dont vous parlez. Ceux qui sont basés sur des images bitmap nécessiteront un OCR pour les convertir en format texte et nécessitent généralement toujours une saisie de l'utilisateur pour confirmer l'exactitude de l'OCR
S'il s'agit de tous les formats texte, Jubler ou Aegisub peuvent être utiles
Renommer le nom du fichier en utilisant sed
for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" ; done
si vous souhaitez supprimer le fichier .srt
après la conversion, ajoutez simplement une commande rm par la suite.
for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" && rm -f "$i" ; done
Pour convertir l'ensemble du répertoire et changer également l'extension de chaque fichier. Vous pouvez utiliser la commande find
et la combiner avec ${%.*}
pour supprimer le .srt
et utiliser la nouvelle extension .vtt
avec cette commande en une seule ligne.
find . -name "*.srt" -exec bash -c 'ffmpeg -i {} "${0%.*}$1" ' {} ".vtt" \;
La raison d'appeler bash est d'utiliser ${0%.*}
pour trouver le nom de base.
- Si vous voulez en savoir plus sur _l'expansion des paramètres de Shell_
Le {}
après ffmpeg -i {} "${0%.*}$1"
est l'argument $0
qui est envoyé dans la commande ffmpeg.
Le ".vtt"
est l'argument $1.
Ainsi, ${0%.*}$1
devient nom-de-base.vtt
- Réponses précédentes
- Plus de réponses