Aide script shell

Fermé
kryonos Messages postés 2 Date d'inscription dimanche 17 août 2008 Statut Membre Dernière intervention 17 août 2008 - 17 août 2008 à 21:07
jee pee Messages postés 40882 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 mars 2025 - 17 août 2008 à 22:05
bonjour!

alors voila ca fait quelques temps que je me prends la tete pour faire un script shell pour utiliser ffmpeg et ne trouvant pas de reponse qui me convienne avec mon ami google je me permets de faire appel a vous ! lol

en fait je souhaite faire un script shell pour convertir tous les fichiers portant une certaine extension , ex: convertir les fichiers avi d'un repertoire toto en fichier flv
ca peut paraitre bete comme ca mais je suis incapable de faire un truc qui fonctionne :/

j'avais tenté un truc comme ca , sans succes lol (ok les scripts shell c'est pas mon fort)

[code]
#!/bin/sh

for element in *.avi

ffmpeg -i $element -s 320x240 -acodec mp3 -ar 11025 -aspect 4:3 -pass 1 -b 500k -r 30 -f flv mavideo.flv

done
[/code]

pour l'exemple j'ai mis mavideos.flv comme fichier de sortie mais l'idéal serait un nom genere pour ne pas ecraser un fichier existant ( timestamp par ex )

quelqu'un aurait une idée ?

merci !
A voir également:

3 réponses

jee pee Messages postés 40882 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 mars 2025 9 549
17 août 2008 à 21:13
salut,

il manque le do :


for element in *.avi
do
ffmpeg -i $element ...
done

et en fichier de sortie tu peux mettre $element.flv

cdt
0
jee pee Messages postés 40882 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 mars 2025 9 549
17 août 2008 à 21:26
$element.flv pas terrible car = fichier.avi.flv

for element in *.avi
do
sortie=basename $element .avi
ffmpeg -i $element ... $sortie.flv
done
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 août 2008 à 21:15
Salut,

à toi d'adapter
lami20j@debian:~$ for i in *.avi;do echo ${i%%.*}_new.flv;done
a_new.flv
b_new.flv
0
kryonos Messages postés 2 Date d'inscription dimanche 17 août 2008 Statut Membre Dernière intervention 17 août 2008
17 août 2008 à 21:47
merci a tous !
le probleme est qu apparement le:

for element in *.avi
ne recherche pas tous les fichiers ayant cet extension .avi, si je fais un echo la boucle me sort juste un

" *.avi : Aucun fichier ou répertoire de ce type"

, alors que dans le dossier specifié il y a bien des fichiers de cette extension la
0
jee pee Messages postés 40882 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 mars 2025 9 549
17 août 2008 à 22:05
c'est que ton script ne doit pas s'executer dans le répertoire qui contient les fichier

rajoute un cd avant la boucle
0