Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/05/2007, à 14:15

Compte anonymisé

[Résolu]Script seom2avi [Beryl]

Bonjour,

Je veux convertir mes captures qui sont au format *.seom.
Bonjour,
Est-il possible au script de mettre une Barre de progession (Zenity)
Le Script :



Voilà le script qui fontionne bien pour le *.avi et le mpeg

#!/bin/bash -v

## Script Pour Encoder les Fichiers.seom [Video Capture Plugin] Beryl.

## Décommenter Pour Avoir Des Couleurs Dans Le Terminal.
#echo -e '\E[37;40m';
#echo -e '\E[33;40m';
echo -e '\E[36;40m';

if zenity --question --title "Confirmation" --text "Encodage Du Fichier" # Demande De Confirmation
then break # On Continue
else exit  # Fin Du Programme

fi 


files="
/tmp/beryl-capture.seom
"

clear

# Création Du Dossier De Sauvegarde [Capture].
if [ ! -d "${HOME}/Desktop/Capture" ]; then
    echo "${HOME}/Desktop/Capture n'existe pas !"
    echo "Création du répertoire."
mkdir "${HOME}/Desktop/Capture"
else
    echo "Le répertoire $${HOME}/Desktop/Capture existe."
fi

# Création Dans Le Dossier [Capture] Du Sous-Répertoire Daté.
jour=$(date +%d-%m-%y-%H:%M:%S)
if [ ! -d "${HOME}/Desktop/Capture/$jour" ]; then
    echo "${HOME}/Desktop/Capture/$jour n'existe pas !"
    echo "Création du sous répertoire $jour."
mkdir "${HOME}/Desktop/Capture/$jour"
else
    echo "Le répertoire ${HOME}/Desktop/Capture/$jour existe."

fi

# Déplacer Le Fichier [beryl-capture.seom] Dans Le Répertoire Daté Ainsi Crée. 
echo "Sauvegarde des fichiers."

for f in $files; do
    echo -n "Copie du fichier $(basename $f)"
    if [ ! -f "$f" ]; then
        echo "            [ False ]"
    else
        cp "$f" "${HOME}/Desktop/Capture/$jour"
        echo "                [ OK ]"
    fi
done


# Supression Du Fichier [beryl-capture.seom] Dans Le /tmp/.

result=$(zenity --list --title="Supression" --text="Suppression Du Fichier Dans /tmp" --width=400 --height=200 --radiolist --column="Choix" --column="Réponse" FALSE OUI TRUE NON)
if [ $result == "OUI" ]; then
sudo rm -r /tmp/beryl-capture.seom


fi


result=$(zenity --list --title="Conversion Du Fichier" --text="Choisir Le Format" --width=400 --height=200 --radiolist --column="Choix" --column="Format" FALSE XVID-9000 TRUE MPEG FALSE XVID-1500)

if [ $result == "XVID-9000" ]; then

seom-filter ${HOME}/Desktop/Capture/$jour/beryl-capture.seom | mencoder - -ovc xvid -xvidencopts bitrate=9000 -vf scale=720:576 -o ${HOME}/Desktop/Capture/$jour/Capture-`date +%d-%m-%y-%H:%M:%S`.avi


fi


if [ $result == "MPEG" ]; then

seom-filter ${HOME}/Desktop/Capture/$jour/beryl-capture.seom | mencoder -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:acodec=mp3:abitrate=64 -oac mp3lame -o ${HOME}/Desktop/Capture/$jour/Capture-`date +%d-%m-%y-%H:%M:%S`.mpg -


fi


if [ $result == "XVID-1500" ]; then

seom-filter ${HOME}/Desktop/Capture/$jour/beryl-capture.seom | mencoder - -ovc xvid -xvidencopts bitrate=1500 -vf scale=720:576 -o ${HOME}/Desktop/Capture/$jour/Capture-`date +%d-%m-%y-%H:%M:%S`.avi


fi


# Supression Du Fichier [beryl-capture.seom] Dans Le Répertoire Daté.

result=$(zenity --list --title="Supression" --text="Suppression Du Fichier Dans Le Dossier Daté" --width=400 --height=200 --radiolist --column="Choix" --column="Réponse" FALSE OUI TRUE NON)
if [ $result == "OUI" ]; then
sudo rm -r ${HOME}/Desktop/Capture/$jour/beryl-capture.seom


fi


zenity --info  --title="Mencoder" --text="Fermeture Du Programme" 



exit

Merci par avance.

Dernière modification par Compte anonymisé (Le 10/05/2007, à 19:41)

#2 Le 10/05/2007, à 21:37

Alain.g

Re : [Résolu]Script seom2avi [Beryl]

Bonsoir
Avec pulsate, ça balance juste de gauche à droite.

Pour avoir une barre de progression représentative de l'avancement, il faut "parser" la sortie de Mencoder pour récupérer l'info concernant de le pourcentage de façon à ce que Zenity puisse l'exploiter.

Exemple :

mencoder -ovc lavc -oac lavc "video-in.avi" -o "video-out.avi" \
2>&1 | awk -vRS='\r' '$1 ~ /Pos/ {gsub(/Pos:/,"  ");gsub(/%)/," ");gsub(/ \(/," ");if ($4>0)print $4; fflush();}' | \
zenity --progress --auto-close --text="Veuillez patienter pendant la conversion de la vidéo."

J'avais trouvé cette solution dans ce script : http://ubuntuforums.org/showthread.php?t=193754 (je l'ai toutefois un peu modifié car cela posait problème si Pos>1000s)

Dernière modification par Alain.g (Le 12/05/2007, à 12:39)


Xubuntu Karmic !

Hors ligne

#3 Le 11/05/2007, à 16:30

Alain.g

Re : [Résolu]Script seom2avi [Beryl]

Ah en fait avec seom-filter vid.seom | mencoder - ... ça ne peut pas fonctionner puisque mencoder ne peut pas déterminer la durée totale de la vidéo.

La seule possibilité, à mon avis, serait de récupérer la durée totale de la vidéo avec un "seom-machin" et après, comme mencoder signale combien de temps il a encodé, on pourrait calculer le pourcentage effectué.

Mais bon, je ne pense pas que ça vaille le coup de se prendre la tête pour ça smile

Dernière modification par Alain.g (Le 11/05/2007, à 16:31)


Xubuntu Karmic !

Hors ligne

#4 Le 12/05/2007, à 05:20

Alain.g

Re : [Résolu]Script seom2avi [Beryl]

Si tu veux le faire avec Zenity, il faudrait utiliser quelque chose du style (en simplifié)
zenity --entry --hide-text | sudo -S -v
-S pour que sudo lise le mot de passe depuis le flux d'entrée et -v pour tester.
Tu vérifies ensuite le résultat ("$?") : si 0 c'est bon, si 1 pas bon

Pour les multiples tentatives, faire un boucle for ou while. Si le mot de passe est bon, casser la boucle (break) et le script continue.

Dernière modification par Alain.g (Le 12/05/2007, à 05:22)


Xubuntu Karmic !

Hors ligne

#5 Le 15/05/2007, à 16:37

freaks

Re : [Résolu]Script seom2avi [Beryl]

hello
ce serait possible de rajouter une sortie en ogg theora? ça m'interesserait pour pouvoir l'utiliser avec le lecteur java cortado sur une page web, en place d'un lecteur flash
mais je crois pas que mencoder puisse enregistrer en ogg theora ....
auriez vous une idée ?


2.6.17-10-386
ubuntu
http://www.freak.fr

Hors ligne