54 votes

Ouvrir le convertisseur de sous-titres en ligne de commande open source

Y a-t-il des convertisseurs de sous-titres en ligne de commande open source, de préférence pour Linux ?

1voto

soegaard Points 6541

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

0voto

mdaliyan Points 1

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

0voto

Learning Points 101
#!/bin/bash

fichiers="*.srt"                     # Trouver le fichier
for file in $fichiers
do
  ffmpeg -i "$file" "${file%.*}.vtt"   # Convertir le fichier
  rm "$file"                         # Supprimer le fichier .srt de votre répertoire
done

si vous voulez convertir plusieurs fichiers en utilisant cette programme dans une boucle for.

0voto

Na Nonthasen Points 1

Avec un fichier batch Windows, vous pourriez utiliser ceci pour convertir tous les fichiers de sous-titres texte dans le dossier en format SRT

for %%i in (*.vtt .ass .ssa) do ffmpeg -i "%%i" "%%~ni.srt"

0voto

user29679 Points 1

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.

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X