[Bash] Problème avec paramètres dans variables

Problème avec paramètres dans variables [Bash] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 08-03-2013 à 21:33:26    

Salut à tous,
 
Je suis en train de programmer un script pour encoder des vidéos via Handbrake. J'ai un problème car mon script ne fonctionne pas lorsque j'appelle l'application avec les paramètres en variable.
 
Exemple :
- si je lance l'application avec cette ligne, les paramètres ne sont pas pris en compte (ou pas tous en tout cas, c'est assez bizarre)
 - /Applications/HandBrakeCLI $config_video_defaut $config_video_x264 --audio $audio --aencoder $aencoder --mixdown $mixdown -i "$i"  -o "${i%.*}.m4v"
- si je fais un echo de la ligne de lancement de l'application et que je la copie / colle dans un shell, l'application de lance correctement (en rajoutant des backslashs pour les -i et -0
 
J'avoue avoir chercher un moment et ne trouve vraiment pas de pistes... Votre aide est la bienvenue.
 
Merci d'avance ;-)
 
 
 

Code :
  1. #!/bin/bash
  2. #
  3. # Liste des presets : https://trac.handbrake.fr/wiki/BuiltInPresets
  4. #
  5. type=$1
  6. dossiersource=$2
  7. IFS=$'\n'
  8. readonly config_video_defaut=" -t 1 -e x264 -q 19.25 -B 160,160 -f mp4 -R Auto,Auto -D 0.0,0.0 -m -2 --turbo --subtitle scan,1-9 --subtitle-burn --subtitle-forced scan --native-language fre "
  9. if [ "$type" == "film" ]; then
  10. readonly config_video_x264=" --detelecine --decomb --loose-anamorphic -x b-adapt=2:rc-lookahead=50 "
  11. elif [ "$type" == "anime" ]; then
  12.     readonly config_video_x264=" --strict-anamorphic -x ref=1:weightp=1:subq=2:rc-lookahead=10:trellis=0:8x8dct=0 "
  13. fi
  14. for i in `find "$2" -type f -name "*.mkv"` 
  15. do   
  16.  #Nombre de piste audio + type (vérification seulement si 5.1)
  17.  AUDIO_TRACKS=`/Applications/HandBrakeCLI -t 0 -i "$i" 2>&1|grep "Audio:"|wc -l`
  18.  if [ "$AUDIO_TRACKS" -eq "1" ]; then
  19.   audio="1"
  20.  elif [ "$AUDIO_TRACKS" -eq "2" ]; then
  21.   audio="1,2"
  22.  elif [ "$AUDIO_TRACKS" -eq "3" ]; then
  23.   audio="1,2,3"
  24.  fi
  25.  #Si pas de 5.1, converti sinon copie
  26.  AUDIO_TYPE=`/Applications/HandBrakeCLI -t 0 -i "$i" 2>&1|grep "5.1 ch"|wc -l`
  27.  if [ "$AUDIO_TYPE" -eq "0" ]; then
  28.   aencoder="ca_aac"
  29.   AUDIO_TYPE_CH=`/Applications/HandBrakeCLI -t 0 -i "$i" 2>&1|grep "1.0 ch"|wc -l`
  30.   if [ "$AUDIO_TYPE_CH" -eq "0" ]; then
  31.    mixdown="stereo"
  32.   else
  33.    mixdown="mono"
  34.   fi
  35.  else
  36.   aencoder="copy"
  37.   mixdown="auto"
  38.  fi
  39.  #Lancement de handbrake
  40.  /Applications/HandBrakeCLI $config_video_defaut $config_video_x264 --audio $audio --aencoder $aencoder --mixdown $mixdown -i "$i"  -o "${i%.*}.m4v"
  41. done


Message édité par bisol le 08-03-2013 à 21:37:05
Reply

Marsh Posté le 08-03-2013 à 21:33:26   

Reply

Marsh Posté le 12-03-2013 à 15:55:27    

Que te donne le set -x lorsque tu exécute ton script ?

Reply

Marsh Posté le 28-03-2013 à 17:00:28    

Tu as des espaces dans tes noms de dossier ou de fichiers mkv ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed