#1 Le 13/10/2007, à 13:08
- yakusa77
[SCRIPT BASH encodeur FLASH]barre de progression
salut tous le monde
voila je me suis lancer dans la confection d'un script perso pour l'encodage de videos en FLASH(FLV)et je voudrais une barre de progression en mode graphique, pour cela j'utilise zenity. Tout fonctionne à l'exception de la barre de progression qui s'affiche mais reste fixe et le bouton valider reste grisé même après la fin de l'encodage du fichier par ffmpeg
voici le script en question
edit du 18/12/2007
pas mal de choses ont changer le script à été presque réécrit entierement, ce pendant il reste encore pas mal de choses à amélioré, je le post à la demande de Dav999 qui semblait interésser.
edit 12h55: je vient de resoudre le probleme d'annulation pendant l'encodage.
#! /bin/bash
#Script créer par yakusa77
#il permet d'encoder tout type de videos (mpg,avi,ogg)
#directement en Flash (FLV) par un parametrage pré-defini
#depend de ffmpeg, zenity
OBSOLETE
je ne trouve la manip pour lié ffmpeg à la barre de progréssion, si je ferme manuellement la fenetre de barre le script fini bien la tache demandé.
merci de vos aide
Dernière modification par yakusa77 (Le 27/12/2007, à 15:33)
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#2 Le 14/10/2007, à 15:34
- Hervij
Re : [SCRIPT BASH encodeur FLASH]barre de progression
salut
est-ce que ceci ne pourait pas etre correcte ??
#! /bin/bash
#On crait un dossier video flash on copie le fichier selectionné et on change de dossier de travail
if [[ ! -a "~/Videos_Flash" ]]; then
mkdir -p Videos_Flash && cp "`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`" Videos_Flash && cd Videos_Flash | zenity --progress --percentage=0 --title "Encoder en Flash" --text "Veuillez patientez, Encodage en cours..." | ffmpeg -i "`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`" -b 500$kilo -ar 44100 -ab 96 -f flv -s 400x300 $1.flv;
mv $1.flv videos_converti_en_flash.flv && rm *.avi Videos_Flash
fi
done
#3 Le 14/10/2007, à 16:54
- yakusa77
Re : [SCRIPT BASH encodeur FLASH]barre de progression
merci pour la reponse mais helas non, comme cela sa ne marche pas non plu. la barre progression reste toujours a zero lors de l'encodage...depuis que j'ai poster hier apres midi j'ai encore rajouté des fonctionnalité sa fonctionne ralativement bien a l'exception de sa ... je trouve sa vraiment bizarre il y a des erreurs de syntaxe certe enfin bon.
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#4 Le 14/10/2007, à 17:00
- xtriade
Re : [SCRIPT BASH encodeur FLASH]barre de progression
salut,
essaie avec ca :
zenity --progress --text="blablabla" --pulsate --auto-close
il manquerait pas le signe = apres "title " ?
et aussi un pourcentage=100 ?
Dernière modification par xtriade (Le 14/10/2007, à 17:15)
Hadopi = loi débile
Hors ligne
#5 Le 14/10/2007, à 17:31
- xtriade
Re : [SCRIPT BASH encodeur FLASH]barre de progression
j'ai trouvé ce bout de code dans la doc de zenity et testé , ca devrait te donner une idée :
#!/bin/bash
(
echo "10" ; sleep 1
echo "# Mise à jour des journaux de mail" ; sleep 1
echo "20" ; sleep 1
echo "# Remise à zéro des paramètres" ; sleep 1
echo "50" ; sleep 1
echo "Cette ligne est ignorée" ; sleep 1
echo "75" ; sleep 1
echo "# Redémarrage du système" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
--title="Mise à jour des journaux système" \
--text="Analyse des journaux de mail..." \
--percentage=0
if [ "$?" = -1 ] ; then
zenity --error \
--text="Mise à jour annulée."
fi
http://library.gnome.org/users/zenity/2 … ns.html.fr
Dernière modification par xtriade (Le 14/10/2007, à 17:33)
Hadopi = loi débile
Hors ligne
#6 Le 14/10/2007, à 19:02
- yakusa77
Re : [SCRIPT BASH encodeur FLASH]barre de progression
en effet xtriade c'est interessant , mais comment faire pour ce soit ffmpeg qui envoit l 'echo ?
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#7 Le 14/10/2007, à 19:18
- xtriade
Re : [SCRIPT BASH encodeur FLASH]barre de progression
desolé, peux pas t'aider sur ce coup
Hadopi = loi débile
Hors ligne
#8 Le 14/10/2007, à 20:17
- nofhrenn
Re : [SCRIPT BASH encodeur FLASH]barre de progression
justement avec ce que xtriade a propose sa semble etre parfait non ??
#!/bin/bash
#On crait un dossier video flash on copie le fichier selectionné et on change de dossier de travail
if [[ ! -a "~/Videos_Flash" ]];
then
(
ls -R # sert juste a avoir une action un peu longue histoire de teste la barre de progression
mkdir -p Videos_Flash
cd Videos_Flash
cp "`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`" Videos_Flash
) | zenity --progress --percentage=0 --title "Encoder en Flash" --text "Veuillez patientez, Encodage en cours..." | ffmpeg -i "`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`" -b 500$kilo -ar 44100 -ab 96 -f flv -s 400x300 $1.flv;
mv $1.flv videos_converti_en_flash.flv && rm *.avi Videos_Flash
fi
done
Hors ligne
#9 Le 15/10/2007, à 17:02
- Alain.g
Re : [SCRIPT BASH encodeur FLASH]barre de progression
Bonjour
Pour avoir une barre de progression représentative, regarde ce script
http://ubuntuforums.org/showthread.php?t=193754
Il y a un exemple avec ffmpeg et zenity
Xubuntu Karmic !
Hors ligne
#10 Le 16/10/2007, à 06:35
- yakusa77
Re : [SCRIPT BASH encodeur FLASH]barre de progression
merci Alain.g je pris le script je vais l'etudier j'espere pouvoir l'adapté .
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#11 Le 27/12/2007, à 15:26
- yakusa77
Re : [SCRIPT BASH encodeur FLASH]barre de progression
VOILA
le premier post es definitivement obsolette, j'ai entierment réecrit le script
afin de donné le choix au lieu de l'imposé tout peut être annuler a tout moment.
Hormis l'ecodage même qui refuse de s'arreter (je croyais avoir trouver la soluce)
donc pour ceux que sa interresse le code es la :
#! /bin/bash
#Script créer par yakusa77
#il permet d'encoder tout type de videos (mpg,avi,ogg)
#directement en Flash (FLV) par le parametrage que vous desirez
#depend de ffmpeg, zenity
#licence GNU/GPL
##############################################################################
################### verification des dependances #############################
##############################################################################
manque=();
listedependances=(ffmpeg zenity)
i=0
while (( i < ${#listedependances[@]} ))
do
li="${listedependances[$i]}"
test=`dpkg -s $li | grep -i "Status"`
(( i = i + 1 ))
if ! [ "${test}" == "Status: install ok installed" ]; then
manque=(${manque[@]} $li)
fi
done
if ! [ -z "${manque}" ]; then
texte="${manque[@]}";
zenity --error \
--width=800 \
--title="$NOM_DU_FICHIER Vérification des dépendances manquantes" \
--text="il manque des dépendances, pour les installer:\nsudo apt-get install -y ${texte}"
exit 0
fi
#############################################################################
########################## fonction annuler #################################
#############################################################################
function annuler {
if [ "${PIPESTATUS[0]}" != "0" ];
then
exit
fi
}
#############################################################################
##################### Message de Bienvenue ##################################
#############################################################################
zenity --info --text "Bienvenu dans L'encodeur Flash pour Gnome.\n
Ce petit script graphique , va vous permettre de convertir des vidéos de toute type (ogg, avi, mpg) au format FLV,
pour éventuellement les placés sur un site Web. \n
Je vous propose une petite interface graphique pour paramètré plus facilement l'encodeur ffmpeg qui lui fonctionne en ligne de commande. \n
En vous souhaitant une bonne utilisation et une grande satisfaction."
#############################################################################
############################ VARIABLES ######################################
#############################################################################
#Selection du Fichier d'entré
FILE=$(zenity --file-selection --title "choisissez la video à encodé")
annuler
#Echantillonnage audio
OPT_AR=$(zenity \
--list \
--radiolist \
--title="Encodeur FL@SH" \
--column "" --column "Echantillonnage[Hz]" \
--text="Choisissez la qualité d'echantillonnage audio" \
FALSE "22050" \
TRUE "44100")
annuler
#Bitrate audio
OPT_AB=$(zenity \
--width=300 \
--height=216 \
--list \
--radiolist \
--title="Encodeur FL@SH" \
--column "" --column "Bitrate[Kb/s]" \
--text="Choisissez le Bitrate Audio" \
TRUE "64" \
FALSE "96" \
FALSE "112" \
FALSE "128")
annuler
#Bitrate video
OPT_B=$(zenity \
--list \
--radiolist \
--title="Encodeur FL@SH" \
--column "" --column "Bitrate[Kb/s]" \
--text="Choisissez le Bitrate Video" \
TRUE "500" \
FALSE "700" \
FALSE "1000")
annuler
#OPT_ASPECT=$"16:9"(fonction a approfondir)
#Taille d'image
OPT_TAILLE=$(zenity \
--list \
--radiolist \
--title="Encodeur FL@SH" \
--column "" --column "Taille" \
--text="Selectionnez la taille d'image désiré" \
TRUE "320X240" \
FALSE "400X300" \
FALSE "640X480" \
FALSE "720X576")
annuler
#confirmation chemin de sortie
SORTIE=$(zenity --entry --width=650 --title="Encodeur FL@SH" --text="confirmez ou modifiez le chemin de sortie" --entry-text=""$FILE"_"$OPT_TAILLE".flv")
annuler
#on récapitule
zenity --question \
--title="Encodeur FL@SH" \
--text="Voici les paramètres d'encodage que vous avez selectionnez:\n \n
Echantillonage Audio: $OPT_AR \nBitrate Audio: $OPT_AB \nBitrate Video: $OPT_B \nTaille d'image: $OPT_TAILLE \nChemin de sortie: $SORTIE\n \nEtes vous d'accord ? Si NON cliquez sur annuler"
annuler
#commande d'encodage de ffmpeg
commande=$"ffmpeg -i $FILE -f flv -b $OPT_B -ar $OPT_AR -ab $OPT_AB -s $OPT_TAILLE $SORTIE"
##############################################################################
########################## lancement de l'encodage ###########################
##############################################################################
$commande 2>&1 | zenity --progress --pulsate --title="Encodeur FL@SH" --text="Veuillez patientez, Encodage de \n $FILE en cours... \n \n Position:\\t"$1"\ \n Quantizer:\\t"$2"\ \n Taille:\\t"$3"Ko\ \n Temps:\\t"$4"\ \n Taille Video:\\t"$6"Ko\ \n Taille Audio:\\t"$7"Ko" --auto-close
annuler
##############################################################################
########################## Message de fin ####################################
##############################################################################
zenity --info --title "terminé" --text "Vidéo encodée avec succès"
##############################################################################
######################### REMERCIEMENTS ######################################
##############################################################################
zenity --info --text="Merci d'avoir utilisé ce script \nContact: yakusa77@free.fr \nPour toute suggestion o๠aide"
exit
Par contre la barre de prog c'est pas encore vraiment ce que je veut , mais au moin ce n'es pas fixe...
edit:je vient de supprimé deux option qui aboutissait a un plantage du script
Dernière modification par yakusa77 (Le 28/12/2007, à 00:41)
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne
#12 Le 27/12/2007, à 17:15
- Petit Willy
Re : [SCRIPT BASH encodeur FLASH]barre de progression
Super
très instructif en tout cas...
Hors ligne
#13 Le 31/12/2007, à 15:02
- yakusa77
Re : [SCRIPT BASH encodeur FLASH]barre de progression
si quelqu'un connait la combinaison awk ou sed qui permet de connecter ffmpeg a zenity je suis prenneur car meme sur google je ne trouve rien de concret ni même de trad fr de manuel de ces deux prog alors un grand merci à celui qui sera m'aide resoudre ce probleme recurant...:(
De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965
Hors ligne