Bonjour,
Je suis confronté à un problème curieux. Dans un script bash dont l'objet est de découper une vidéo à l'aide de ffmpeg et de d'enregistrer les fichiers ainsi créés, je dois lire un fichier ligne par ligne et extraire de chaque ligne 3 éléments (début de la découpe, longueur de l'extrait et nom du fichier). Il s'avère que parfois pour certaines lignes, la lecture ne commence pas au début de la ligne, ce qui fait que l'extraction ne fonctionne pas correctement.
Extrait de mon script :
Le fichier texte est de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 fichierD=`zenity --file-selection --title="Selectionnez un fichier"` while read enreg; do temps_debut=`echo $enreg | cut -d';' -f1` duree=`echo $enreg | cut -d';' -f2` nom_fichier=`echo $enreg | cut -d';' -f3` ffmpeg -ss $temps_debut -t $duree -i "$1" -b 4M "$nom_fichier" done < $fichierD
A titre d'exemple, sur un fichier de 25 lignes, 15 sont lues correctement. Si je supprime les lignes lues correctement, sur les 10 restantes, 8 sont lues correctement...00:00:03.200;00:00:03.300;falaise.avi
00:00:13.500;00:00:04.700;grotte.avi
00:00:26.200;00:00:03.500;arc.avi
Il arrive également que tout passe parfaitement.
J'ai également remarqué que si je lance le script en ayant commenté la commande ffmpeg, la lecture se passe correctement.
Si quelqu'un avait une idée...
Merci de votre aide.
Bonne soirée.
Partager