Aide script shell

kryonos Messages postés 2 Statut Membre -  
jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   -
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 !
Configuration: ubuntu 7.04 serveur

3 réponses

  1. jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   9 979
     
    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
    1. jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   9 979
       
      $element.flv pas terrible car = fichier.avi.flv

      for element in *.avi
      do
      sortie=basename $element .avi
      ffmpeg -i $element ... $sortie.flv
      done
      0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    à toi d'adapter
    lami20j@debian:~$ for i in *.avi;do echo ${i%%.*}_new.flv;done
    a_new.flv
    b_new.flv
    
    0
  3. kryonos Messages postés 2 Statut Membre
     
    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
    1. jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   9 979
       
      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