web-dev-qa-db-fra.com

Script avec des variables à partir d'un fichier

J'ai plusieurs vidéos sur mon PC que je voudrais raccourcir. Par exemple, j'ai une vidéo de 30 secondes où je veux avoir la section de 15 à 20 secondes (une vidéo de 5 secondes). Pour couper cela, j'utilise avconv.

avconv -i input.mp4 -ss 15 -acodec copy -vcodec copy -t 5 output.mp4

Cette commande fonctionne plutôt bien. J'ai de nombreuses vidéos que je veux couper de la même manière. C'est pourquoi j'ai créé un fichier texte contenant les informations: nom-entrée, début de coupe, longueur de coupe, nom-sortie. Ceux-ci sont écrits dans in.txt qui ressemble à ceci:

input.mp4 15 5 output.mp4
input1.mp4 32 10 output1.mp4
input2.mp4 10 7 output2.mp4
...

Ma question est: comment dois-je modifier la commande avconv pour couper automatiquement mes vidéos? Ce que j'ai essayé, c'est ça, mais ça n'a pas marché du tout:

avconv -i $1 -ss $2 -acodec copy -vcodec copy -t $3 $4 < in.txt

Une idée?

5
Nooster

En bash, je suggérerais quelque chose comme

while read -r infile ss t outfile; do 
  avconv -i "$infile" -ss "$ss" -acodec copy -vcodec copy -t "$t" "$outfile"
done < in.txt
6
steeldriver