#1 Le 28/10/2007, à 12:11
- Jean-lux
Aide pour la réalisation d'un script bash...
Bonjours,
J'ai besoin d'aide pour la réalisation d'un script en bas qui permet de convertir une vidéo en xvid facilement.
Voici le code :
#!/bin/bash
# Script créer par Jean-Lux
# Version 1.0
# Convert my video
# GPL licence
# Informations
zenity --info --title="Information" --text="Ce script permet de convertir des vidéos au format Xvid en quelques étapes"
# Sélection du fichier à convertir
zenity --info --title="Choix de la vidéo d'entrée" --text="Veuillez sélectionnez la vidéo à convertir en Xvid"
inputvideo=$(zenity --file-selection --title="Sélectionnez le fichier d'entrer")
# Sélection du fichier de sortie
zenity --info --title="Choix de la vidéo de sortie" --text="Veuillez maintenant choisir où la vidéo sera enregistré"
outputvideo=$(zenity --file-selection --save --filename="*.avi" --confirm-overwrite --title="Sélectionnez le fichier de sortie")
# Sélection du bit rate du son
soundbitrate=$(zenity --list --radiolist --height 281 \
--title="Veuillez sélectionnez la qualité du son" \
--text="Veuillez sélectionnez la qualité (bit rate) du son :\n Plus la valeur est elevée, plus la qualité sera meilleur et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "64" \
FALSE "96" \
TRUE "128" \
FALSE "160" \
FALSE "192")
# Sélection du bit rate de la vidéo
videobitrate=$(zenity --list --radiolist --height 256 \
--title="Veuillez sélectionnez la qualité de la vidéo" \
--text="Veuillez sélectionnez la qualité (bit rate) de la vidéo :\n Plus la valeur est elevée, plus la qualité sera meilleur et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "537.6" \
TRUE "1300" \
FALSE "4857" \
FALSE "9708.4")
# Confirmation
finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifier cette commande pour rajouter ou modifier des paramètres, sinon ne modifier rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate '$inputvideo' -o '$outputvideo'")
# Conversion de la vidéo
$finalcommand | zenity --progress --title="Conversion en cours..." --text="La vidéo est en cours de conversion...\nVeuillez patienter" --pulsate --auto-close
# Fin
zenity --info --title="FIN" --text="Fin de la conversion de la vidéo !"
Mais il me reste un problème : Je voudrais que la progression soit plus précis, que cela affiche le temps restant et la taille finale du fichier.
Merci de m'aider
Un jour... Le manchot cassera la fenêtre !
Remboursez votre forfait non utilisé sur http://goo.gl/uQyCq NOFAKE.
Hors ligne
#2 Le 28/10/2007, à 13:22
- Jean-lux
Re : Aide pour la réalisation d'un script bash...
up ?
Un jour... Le manchot cassera la fenêtre !
Remboursez votre forfait non utilisé sur http://goo.gl/uQyCq NOFAKE.
Hors ligne
#3 Le 28/10/2007, à 13:28
- Alain.g
Re : Aide pour la réalisation d'un script bash...
Salut
Voici un petit exemple que tu pourras modifier comme tu souhaites.
Il faut installer gawk (il y a de bonnes chances qu'il le soit déjà) pour que ça soit fluide. Avec mawk ça ne l'est pas vraiment, je ne sais pas pourquoi
mencoder -ovc lavc -oac lavc in.avi -o out.avi 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nReste :\\t"$6"\\nTaille :\\t"$7; fflush();}' | zenity --progress
Xubuntu Karmic !
Hors ligne
#4 Le 28/10/2007, à 13:49
- Jean-lux
Re : Aide pour la réalisation d'un script bash...
Salut
Voici un petit exemple que tu pourras modifier comme tu souhaites.
Il faut installer gawk (il y a de bonnes chances qu'il le soit déjà) pour que ça soit fluide. Avec mawk ça ne l'est pas vraiment, je ne sais pas pourquoi
mencoder -ovc lavc -oac lavc in.avi -o out.avi 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nReste :\\t"$6"\\nTaille :\\t"$7; fflush();}' | zenity --progress
Je te remerci, cela fonctionne parfaitement
Encore merci :):):)
Un jour... Le manchot cassera la fenêtre !
Remboursez votre forfait non utilisé sur http://goo.gl/uQyCq NOFAKE.
Hors ligne
#5 Le 28/10/2007, à 14:32
- soupaloignon
Re : Aide pour la réalisation d'un script bash...
Salut,
Quel type de vidéo tu prends en entrée de ton script ?
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#6 Le 28/10/2007, à 14:43
- Jean-lux
Re : Aide pour la réalisation d'un script bash...
Salut,
Quel type de vidéo tu prends en entrée de ton script ?
N'importe quel type de vidéo supporté par mencoder/mplayer, donc presque tout !!!
Un jour... Le manchot cassera la fenêtre !
Remboursez votre forfait non utilisé sur http://goo.gl/uQyCq NOFAKE.
Hors ligne
#7 Le 28/10/2007, à 14:47
- Jean-lux
Re : Aide pour la réalisation d'un script bash...
J'ai encore besoin de vous !
Mon script ne veut pas effectuer l'opération demandé, pourtant, la commande est bonne.
Si je fait copier/coller la commande apparu dans le terminal, cela fonctionne !
Voici le script presque terminés :
#!/bin/bash
# Script créer par Jean-Lux
# Version 1.0
# Convert my video
# GPL licence
# Informations
zenity --info --title="Information" --text="Ce script permet de convertir des vidéos au format Xvid en quelques étapes"
# Sélection du fichier à convertir
zenity --info --title="Choix de la vidéo d'entrée" --text="Veuillez sélectionnez la vidéo à convertir en Xvid"
inputvideo=$(zenity --file-selection --title="Sélectionnez le fichier d'entrer")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du fichier de sortie
zenity --info --title="Choix de la vidéo de sortie" --text="Veuillez maintenant choisir où la vidéo sera enregistré"
outputvideo=$(zenity --file-selection --save --filename="video.avi" --confirm-overwrite --title="Sélectionnez le fichier de sortie")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du bit rate du son
soundbitrate=$(zenity --list --radiolist --height 281 \
--title="Veuillez sélectionnez la qualité du son" \
--text="Veuillez sélectionnez la qualité (bit rate) du son :\n Plus la valeur est elevée, plus la qualité sera meilleur et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "64" \
FALSE "96" \
TRUE "128" \
FALSE "160" \
FALSE "192")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du bit rate de la vidéo
videobitrate=$(zenity --list --radiolist --height 256 \
--title="Veuillez sélectionnez la qualité de la vidéo" \
--text="Veuillez sélectionnez la qualité (bit rate) de la vidéo :\n Plus la valeur est elevée, plus la qualité sera meilleur et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "537" \
TRUE "1300" \
FALSE "4857" \
FALSE "9708.4")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du nombre de passe
numpass=$(zenity --list --radiolist \
--title="Veuillez sélectionnez le nombre de passe" \
--text="Veuillez sélectionnez le nombre de passe :\n Plus la valeur est elevée, plus la qualité sera meilleur et plus le temps d'encodage sera long\n" \
--column "" --column "Nombre de passe"\
FALSE "1" \
TRUE "2")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Confirmation
finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifier cette commande pour rajouter ou modifier des paramètres, sinon ne modifier rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass '$inputvideo' -o '$outputvideo'")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Conversion de la vidéo
echo $finalcommand
$finalcommand 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nTemps Restant :\\t"$6"\\nTaille estimée:\\t"$7; fflush();}' | zenity --progress --title="Conversion en cours..."
# Fin
zenity --info --title="FIN" --text="Fin de la conversion de la vidéo !"
Un jour... Le manchot cassera la fenêtre !
Remboursez votre forfait non utilisé sur http://goo.gl/uQyCq NOFAKE.
Hors ligne
#8 Le 28/10/2007, à 15:27
- Alain.g
Re : Aide pour la réalisation d'un script bash...
Les simple-quotes sont interprétés comme faisant partie du nom (autour de $inputvideo ou $outputvideo). C'est de là que semble venir le problème.
Sinon je ne sais pas si tu as compris comment utiliser l'encodage double passe avec mencoder ? Parce que là, ça supposerait de devoir lancer deux fois ton script, une fois pour la passe 1, une fois pour la passe 2.
Ce que ne serait pas vraiment pratique
Dernière modification par Alain.g (Le 28/10/2007, à 15:35)
Xubuntu Karmic !
Hors ligne
#9 Le 30/10/2007, à 16:58
- soupaloignon
Re : Aide pour la réalisation d'un script bash...
soupaloignon a écrit :Salut,
Quel type de vidéo tu prends en entrée de ton script ?
N'importe quel type de vidéo supporté par mencoder/mplayer, donc presque tout !!!
Merci pour l'info
Je me suis permis de corriger quelques fautes d'orthographe dans le script (je n'ai pas touché au code, juste l'ortho des messages)
Code:
#!/bin/bash
# Script créé par Jean-Lux
# Version 1.0
# Convert my video
# GPL licence
# Informations
zenity --info --title="Information" --text="Ce script permet de convertir des vidéos au format Xvid en quelques étapes"
# Sélection du fichier à convertir
zenity --info --title="Choix de la vidéo d'entrée" --text="Veuillez sélectionner la vidéo à convertir en Xvid"
inputvideo=$(zenity --file-selection --title="Sélectionnez le fichier d'entrée")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du fichier de sortie
zenity --info --title="Choix de la vidéo de sortie" --text="Veuillez maintenant choisir où la vidéo sera enregistrée"
outputvideo=$(zenity --file-selection --save --filename="video.avi" --confirm-overwrite --title="Sélectionnez le fichier de sortie")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du bit rate du son
soundbitrate=$(zenity --list --radiolist --height 281 \
--title="Veuillez sélectionner la qualité du son" \
--text="Veuillez sélectionner la qualité (bit rate) du son :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "64" \
FALSE "96" \
TRUE "128" \
FALSE "160" \
FALSE "192")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Sélection du bit rate de la vidéo
videobitrate=$(zenity --list --radiolist --height 256 \
--title="Veuillez sélectionner la qualité de la vidéo" \
--text="Veuillez sélectionner la qualité (bit rate) de la vidéo :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "537" \
TRUE "1300" \
FALSE "4857" \
FALSE "9708.4")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Sélection du nombre de passe
numpass=$(zenity --list --radiolist \
--title="Veuillez sélectionner le nombre de passe" \
--text="Veuillez sélectionner le nombre de passe :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus le temps d'encodage sera long\n" \
--column "" --column "Nombre de passe"\
FALSE "1" \
TRUE "2")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Confirmation
finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifiez cette commande pour rajouter ou modifier des paramètres, sinon ne modifiez rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass '$inputvideo' -o '$outputvideo'")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Conversion de la vidéo
echo $finalcommand
$finalcommand 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nTemps Restant :\\t"$6"\\nTaille estimée:\\t"$7; fflush();}' | zenity --progress --title="Conversion en cours..."
# Fin
zenity --info --title="FIN" --text="Fin de la conversion de la vidéo !"
Dernière modification par soupaloignon (Le 30/10/2007, à 16:59)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#10 Le 04/11/2007, à 19:30
- yakusa77
Re : Aide pour la réalisation d'un script bash...
@Jean-Lux as tu trouvé pourquoi la commande ne se lance pas en shell ?
yakusa77
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#11 Le 05/11/2007, à 23:49
- yakusa77
Re : Aide pour la réalisation d'un script bash...
Sa y est j'ai trouvé une formule qui fonctionne , le script est enfin pleinement fonctionnel je joint meme un petit screenshot de la fenetre d'encodage
#!/bin/bash
# Script créé par Jean-Lux
# modifié par yakusa77
# Version 1.0
# Convert my video
# GPL licence
# Informations
zenity --info --title="Information" --text="Ce script permet de convertir des vidéos au format Xvid en quelques étapes"
# Sélection du fichier à convertir
zenity --info --title="Choix de la vidéo d'entrée" --text="Veuillez sélectionner la vidéo à convertir en Xvid"
inputvideo=$(zenity --file-selection --title="Sélectionnez le fichier d'entrée")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Anulation..!"
exit
fi
# Sélection du fichier de sortie
zenity --info --title="Choix de la vidéo de sortie" --text="Veuillez maintenant choisir où la vidéo sera enregistrée"
outputvideo=$(zenity --file-selection --save --filename="video.avi" --confirm-overwrite --title="Sélectionnez le fichier de sortie")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Sélection du bit rate du son
soundbitrate=$(zenity --list --radiolist --height 281 \
--title="Veuillez sélectionner la qualité du son" \
--text="Veuillez sélectionner la qualité (bit rate) du son :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "64" \
FALSE "96" \
TRUE "128" \
FALSE "160" \
FALSE "192")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Sélection du bit rate de la vidéo
videobitrate=$(zenity --list --radiolist --height 256 \
--title="Veuillez sélectionner la qualité de la vidéo" \
--text="Veuillez sélectionner la qualité (bit rate) de la vidéo :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus la taille de la vidéo sera importante\n" \
--column "" --column "Débit moyen max [kbit/s]" \
FALSE "537" \
TRUE "1300" \
FALSE "4857" \
FALSE "9708.4")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Sélection du nombre de passe
numpass=$(zenity --list --radiolist \
--title="Veuillez sélectionner le nombre de passe" \
--text="Veuillez sélectionner le nombre de passe :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus le temps d'encodage sera long\n" \
--column "" --column "Nombre de passe"\
FALSE "1" \
TRUE "2")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Confirmation
finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifier cette commande pour rajouter ou modifier des paramètres, sinon ne modifier rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass $inputvideo -o $outputvideo")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
# Conversion de la vidéo
echo $finalcommand;
$finalcommand 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nTemps Restant :\\t"$6"\\nTaille estimée:\\t"$7; fflush();}' | zenity --progress --title="Conversion en cours..." --text="\n Position :\\t"$1"\ \n Trame :\\t"$2"\ \n Effectué :\\t"$3"%\ \n Vitesse :\\t"$4"\ \n Temps Restant :\\t"$6"\ \n Taille estimée:\\t"$7""
# Fin
zenity --info --title="FIN" --text="Fin de la conversion de la vidéo !"
et le screenschot
mais il subsiste toutefois un bug aux niveau du nombre de passe il n'en fera q'une quoi qu'il arrive.
Dernière modification par yakusa77 (Le 06/11/2007, à 19:03)
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#12 Le 10/11/2007, à 11:52
- Jean-lux
Re : Aide pour la réalisation d'un script bash...
Sa y est j'ai trouvé une formule qui fonctionne , le script est enfin pleinement fonctionnel je joint meme un petit screenshot de la fenetre d'encodage
#!/bin/bash # Script créé par Jean-Lux # modifié par yakusa77 # Version 1.0 # Convert my video # GPL licence # Informations zenity --info --title="Information" --text="Ce script permet de convertir des vidéos au format Xvid en quelques étapes" # Sélection du fichier à convertir zenity --info --title="Choix de la vidéo d'entrée" --text="Veuillez sélectionner la vidéo à convertir en Xvid" inputvideo=$(zenity --file-selection --title="Sélectionnez le fichier d'entrée") if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Anulation..!" exit fi # Sélection du fichier de sortie zenity --info --title="Choix de la vidéo de sortie" --text="Veuillez maintenant choisir où la vidéo sera enregistrée" outputvideo=$(zenity --file-selection --save --filename="video.avi" --confirm-overwrite --title="Sélectionnez le fichier de sortie") if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Annulation..!" exit fi # Sélection du bit rate du son soundbitrate=$(zenity --list --radiolist --height 281 \ --title="Veuillez sélectionner la qualité du son" \ --text="Veuillez sélectionner la qualité (bit rate) du son :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus la taille de la vidéo sera importante\n" \ --column "" --column "Débit moyen max [kbit/s]" \ FALSE "64" \ FALSE "96" \ TRUE "128" \ FALSE "160" \ FALSE "192") if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Annulation..!" exit fi # Sélection du bit rate de la vidéo videobitrate=$(zenity --list --radiolist --height 256 \ --title="Veuillez sélectionner la qualité de la vidéo" \ --text="Veuillez sélectionner la qualité (bit rate) de la vidéo :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus la taille de la vidéo sera importante\n" \ --column "" --column "Débit moyen max [kbit/s]" \ FALSE "537" \ TRUE "1300" \ FALSE "4857" \ FALSE "9708.4") if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Annulation..!" exit fi # Sélection du nombre de passe numpass=$(zenity --list --radiolist \ --title="Veuillez sélectionner le nombre de passe" \ --text="Veuillez sélectionner le nombre de passe :\n Plus la valeur est élevée, plus la qualité sera meilleure et plus le temps d'encodage sera long\n" \ --column "" --column "Nombre de passe"\ FALSE "1" \ TRUE "2") if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Annulation..!" exit fi # Confirmation finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifier cette commande pour rajouter ou modifier des paramètres, sinon ne modifier rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass $inputvideo -o $outputvideo") if [ "${PIPESTATUS[0]}" != "0" ]; then echo "Annulation..!" exit fi # Conversion de la vidéo echo $finalcommand; $finalcommand 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nTemps Restant :\\t"$6"\\nTaille estimée:\\t"$7; fflush();}' | zenity --progress --title="Conversion en cours..." --text="\n Position :\\t"$1"\ \n Trame :\\t"$2"\ \n Effectué :\\t"$3"%\ \n Vitesse :\\t"$4"\ \n Temps Restant :\\t"$6"\ \n Taille estimée:\\t"$7"" # Fin zenity --info --title="FIN" --text="Fin de la conversion de la vidéo !"
et le screenschot
http://greencase.free.fr/Capture-Conver … 0cours.pngmais il subsiste toutefois un bug aux niveau du nombre de passe il n'en fera q'une quoi qu'il arrive.
Merci, mais y'a quand même un petit bug !
Lorsque l'on veut convertir une vidéo qui contient des espaces, cela ne fonctionne pas ! Que se soit en entrée ou en sortie !
J'ai rajouté des ' dans la partie "# Confirmation" :
# Confirmation
finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifier cette commande pour rajouter ou modifier des paramètres, sinon ne modifier rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate '$inputvideo' -o '$outputvideo'")
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Annulation..!"
exit
fi
Par contre, sans espace, tout fonctionne très bien !
Merci de m'aider
Un jour... Le manchot cassera la fenêtre !
Remboursez votre forfait non utilisé sur http://goo.gl/uQyCq NOFAKE.
Hors ligne
#13 Le 10/11/2007, à 12:33
- yakusa77
Re : Aide pour la réalisation d'un script bash...
Salut Jean-lux oui je l'ai constaté aussi pour les espaces, mais il n' y pas que ça car lorsque que je convertir une video flv(flash) le son est tout simplement pourri inaudible et je pense que c'est parce que le son est deja en mp3, donc je reflechi à rajouté une ligne qui permettrai de ne pas réencodé (simple copie) mais je ne sait pas comment faire...:)
edit: avec des apostrophe sa ne fonctionne pas du tout (avec ou sans espace dans le nom), par contre avec des guillemets ça fonctionne sans espace dans le nom, avec espace meme resulta!
Dernière modification par yakusa77 (Le 10/11/2007, à 12:45)
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#14 Le 09/12/2007, à 18:45
- eric42
Re : Aide pour la réalisation d'un script bash...
Bonsoir,
Vraiment pratique ton script. J'ai essayé d'implémenter une boucle mais sans succès de plus cela impliquerai de faire une première passe pour calculer le temps nécessaire pour chacune des vidéos et ensuite d'appliquer ce résultat au compteur et de le mettre à jour en tenant compte du déroulement de chaque transcodage. Bref un truc à s'arracher les cheveux.
Par contre j'avais trouvé sur le forum un script tout simple : une boucle avec l'exécution de mencoder mais ce qui m'avait plu dans ce script que je ne retrouve pas c'est les options de mencoder.
En tout cas bon travail que ton script.
Eric
#15 Le 10/12/2007, à 11:05
- freebird
Re : Aide pour la réalisation d'un script bash...
edit: avec des apostrophe sa ne fonctionne pas du tout (avec ou sans espace dans le nom), par contre avec des guillemets ça fonctionne sans espace dans le nom, avec espace meme resulta!
Avez vous essayez de mettre des \ avant les guillemets pour qu'il ne soit pas interprétés ?
Exemple :
finalcommand=$(zenity --entry --title="Confirmation finale" --text="Je vais exécuter cette commande, modifier cette commande pour rajouter ou modifier des paramètres, sinon ne modifier rien et continuez" --entry-text="mencoder -oac mp3lame -lameopts cbr=$soundbitrate -ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass \"$inputvideo\" -o \"$outputvideo\"")
Hors ligne
#16 Le 10/12/2007, à 20:13
- yakusa77
Re : Aide pour la réalisation d'un script bash...
yakusa77 a écrit :edit: avec des apostrophe sa ne fonctionne pas du tout (avec ou sans espace dans le nom), par contre avec des guillemets ça fonctionne sans espace dans le nom, avec espace meme resulta!
Avez vous essayez de mettre des \ avant les guillemets pour qu'il ne soit pas interprétés ?
Et toi freebird as tu essayé ? je t'avouerai que je ne sais pas as quoi es ce que c'est censé servir , parce que notre probleme sont les espaces dans les noms de fichiers qui créait un crash de l'encodage, ce qui es tout a fait normal puisque l'encodeur cherche un fichier qui n'existe pas ...
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#17 Le 10/12/2007, à 22:01
- freebird
Re : Aide pour la réalisation d'un script bash...
Non je n'ai pas essayé mais tu n'es pas obligé de me répondre comme ça. Si tu ne veux pas d'aide tu ne postes pas ici hein.
Cela dit je vais quand même t'expliquer à quoi c'est censé servir. Le caractère \ permet d'éviter l'interprétation, ça te permet entre autre d'utiliser des " à l'intérieur d'une chaà®ne délimitée par des ".
Sur ce débrouillez vous, si c'est pour être reçu comme ça, c'est pas la peine.
Hors ligne
#18 Le 10/12/2007, à 23:26
- yakusa77
Re : Aide pour la réalisation d'un script bash...
oups je suis désolé , je me suis mal exprimé sans doute , je voulais juste savoir si toi tu avait essayer et si tu pensait que sa resoudrais le probleme c'est tout ... je n'es pas mi la ponctuation au bon endroit
edit: j'ai essayer ton idée , dans la ligne de confirmation apparait bien le chemin complet avec l'espace, mais l'encodage foire quand meme... il ne se lance pas et encore desolé si j'ai pu te paraitre grossier.
Dernière modification par yakusa77 (Le 10/12/2007, à 23:36)
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#19 Le 11/12/2007, à 15:53
- freebird
Re : Aide pour la réalisation d'un script bash...
C'est oublié pas de soucis
J'ai rencontré un soucis avec l'utilisation de guillemets dans un ordre à exécuter. La seule solution que j'ai trouvée pour l'instant a été de mettre la ligne de commande dans un fichier et de l'exécuter. Je supprime le fichier en question dès que j'ai fini.
Je ne trouve pas ça top mais au moins ça fonctionne.
Hors ligne
#20 Le 11/12/2007, à 16:39
- yakusa77
Re : Aide pour la réalisation d'un script bash...
ouais... alors on va dire que l'essentiel c'est resulta ... le truc que je comprend pas, c'est que la commande finale qui result de la modification que tu as apporté, fonctionne lorsqu'elle est lancer en dehors du script .. mais si tu as une autre methode on la prend copie nous le bout de code stp
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#21 Le 12/12/2007, à 01:43
- freebird
Re : Aide pour la réalisation d'un script bash...
une tite copie de la partie o๠j'ai eu le soucis :
#creation de la commande
lst_montage=$(df -k | awk -F'%' '{ print $2 }' | sed -e 's/^ //' | awk ' NR>3 && $NF !~ "/var" && $NF !~ "/dev" && $NF !~ "/lib" {
printf(" FALSE \"%s\"",$0) }')
cmd="zenity --list --radiolist --title \"Selection du point de montage\" --width=520 --height=320 \
--text=\"Choisir dans la liste\" --column=\"Choix\" --column=\"Point de montage\" ${lst_montage}"
# ecriture dans un fichier
echo $cmd > ${fic_tmp}.df-k
# droit d'execution
chmod 755 ${fic_tmp}.df-k
# execution avec récupération du résultat dans une variable
rep_app=$(${fic_tmp}.df-k)
Pour ceux qui chercherait à comprendre le script, je récupère la liste des montages pour les mettre dans une fenêtre avec une sélection. Tout le bordel viens des points de montages avec des espaces...
Je me suis pas mal pris la tête et je suis sûr qu'il y a plus simple mais sur le moment je n'ai pas trouvé mieux.
code complet dispo ici.
Hors ligne
#22 Le 12/12/2007, à 10:16
- yakusa77
Re : Aide pour la réalisation d'un script bash...
whaou ! c'est tres cool, je vais tester sa de suite !!!
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#23 Le 26/12/2007, à 21:08
- winael
Re : Aide pour la réalisation d'un script bash...
Bonjour à tous
Je me permet de faire un peu revivre ce post car j'ai un petit soucis justement avec ce dont il est question. J'ai repris le code posté pour l'affichage de la progression mais malheuresement la fenetre ne s'affiche que lorsque le transcodage est terminé je ne sais pas d'ou peut provenir le pb voici un extrait de mon code
zenity --question \
--title=TITLE \
--text "Résumé de vos choix \n \n Fichier d'entrée : $inputfilm \n \n Langue audio choisie : $lang_audio \n Piste de Sous-titre : $lang_sstitre \n \n Format de sortie : $format_sortie \n \n Vidéobitrate : $videobitrate \n Audiobitrate : $audiobitrate \n Nombre de passe : $numpass \n \n Fichier de sortie : $outputfilm \n \n Voulez-vous continuer ?"
# Conversion de la vidéo
conversion=$( \
mencoder \
-oac mp3lame -lameopts cbr=$audiobitrate \
-ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass \
-sid $lang_sstitre \
-aid $lang_audio \
$inputfilm \
-o $outputfilm)
$conversion 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nTrame :\\t"$2"\\nEffectué :\\t"$3"%\\nVitesse :\\t"$4"\\nTemps Restant :\\t"$6"\\nTaille estimée:\\t"$7; fflush();}' | zenity --progress --title="Conversion en cours..." --text="\n Position :\\t"$1"\ \n Trame :\\t"$2"\ \n Effectué :\\t"$3"%\ \n Vitesse :\\t"$4"\ \n Temps Restant :\\t"$6"\ \n Taille estimée:\\t"$7""
Qui pourrait m'aider ?
Libre, non pas comme dans entrée libre, mais comme dans Liberté
(Bouyop)Mon PC c 1 MAC boulet ! G pas windows, donc je pe pas intaller linux !
(pankkake) Windows VISTA : Virus, Infections, Spyware, Trojans, Adware.
OPEN your mind, you'll discover a FREE world
Hors ligne
#24 Le 27/12/2007, à 00:55
- yakusa77
Re : Aide pour la réalisation d'un script bash...
ba ecoute, je vois pas trop comme sa il faudrait pouvoir tester le script dans son entier. Parce que à priori tu as juste fait un copier/coller de ligne concernant la fenetre zenity .
Pour ma part j'ai créer un script vite fait avec des variable bidon pour simulé ton script, mais je me retrouve face a la meme situation que toi la fenetre apparait a la fin de l'encodage.
sinon essaye de le lancer dans un terminal pour voir si il y a pas un parametre inattendu...
EDIT: sa y es j'ai trouvé , se sont les parenthese à la ligne "conversion=$"
comme ceci sa fonctionne:
# Conversion de la vidéo
conversion=$"mencoder -oac mp3lame -lameopts cbr=$audiobitrate -ovc xvid -xvidencopts bitrate=$videobitrate:pass=$numpass "$inputfilm" -o "$outputfilm""
Dernière modification par yakusa77 (Le 27/12/2007, à 12:25)
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#25 Le 27/12/2007, à 12:26
- yakusa77
Re : Aide pour la réalisation d'un script bash...
up j'ai edité mon post précedent
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne