Salut,
J'ai enfin pris le temps de regarder ce script, et ce que je pouvais en faire avec mon
Creative Zen Vision:M.
(d'avance désolé pour les éventuelles redites, j'ai pas suivi le topic...)
En fait, la fonction pour encoder en avi est très bien.
mencoder "$ficsource" -ovc xvid -xvidencopts fixed_quant=4 -oac mp3lame -lameopts cbr:preset=128 -o "$rep"/"$nomdest" 2>$confrep/.err) | zenity --progress --text="conversion du fichier "$nomsource" en cours, veuillez patienter..." --pulsate --auto-kill --auto-close
Ca marche sur des fichiers de type .flv, .wmv non "pris en charge"
J'ai mis fixed_quant à 6 pour gagner un peu de place, car sinon les vidéos font 2 fois la taille de départ. Pas de différences relevées en termes de qualité d'image (entre 4 et 6).
Je pense qu'il y a aussi moyen de jouer un peu sur la qualité audio
Sinon, sur le script en lui même, si je peux me permettre, il y a plusieurs point qui ne sont pas tip-top :
- Mettre le mdp sudo à l'exécution .... Normalement, les tests se font à l'installation. Je serais plus d'avis de lister ce qui manque à l'exécution et d'inviter l'utilisateur à installer ce qui manque à part (s'il en a envie). Parce que là, du peu que j'en ai vu, le script ne semble pas s'arrêter si on annulle et on ne sait plus où on en est ensuite...
- moins "grave", il y a beaucoup de redondance dans le code qui ne le rendent pas lisible aisément. Des fonctions et des variables globales pourraient être les bienvenues...
Du coup, je me suis fait un petit script perso juste pour mes besoin. N'étant pas non plus expert dans la programmation/syntaxe bash, il y aurait beaucoup à redire, aussi libre à vous de reprendre les remarques.
#!/bin/bash
# -----------------------------------------------------------------------------
# name : avision
# author : Trucutu
# -----------------------------------------------------------------------------
FILE_INPUT=$1
FILE_OUTPUT=$(echo "$FILE_INPUT" | sed -e 's/\.[a-Z]*$/.avi/')
OPTIONS_VIDEO="-ovc xvid -xvidencopts fixed_quant=6"
OPTIONS_AUDIO="-oac mp3lame -lameopts cbr:preset=128"
# -----------------------------------------------------------------------------
# Global functions
# -----------------------------------------------------------------------------
function is_program {
PROGRAM_PATH=$(which $1)
if [ ! -x "$PROGRAM_PATH" ]; then
echo "This program needs $1 to be executed"
echo "Please install it..."
exit
fi
}
function zenity_progress {
zenity --progress --pulsate --auto-kill --auto-close \
--text="Conversion du fichier "$FILE_INPUT" en cours, veuillez patienter..."
}
# -----------------------------------------------------------------------------
# Main part of the script
# -----------------------------------------------------------------------------
is_program mencoder
is_program zenity
if [ $# != 1 ]; then
echo "Usage : ./avision VideoFile"
exit
fi
mencoder $FILE_INPUT $OPTIONS_VIDEO $OPTIONS_AUDIO -o $FILE_OUTPUT \
| zenity_progress
# eof