#1 Le 05/08/2008, à 17:43
- harolddumur
Petite correction pour un script svp... [Résolu]
Lien vers le script fonctionnel
http://forum.ubuntu-fr.org/viewtopic.ph … 4#p1978154
Bonjour,
Voilà j'ai fini par créer un script avec l'aide de plusieurs personnes et ressources sur le web qui permet de convertir les .flv en mp3 en 128kbps et 44KHz (yahoo)... ensuite il supprime mes *.flv ce qui crée un répertoire de mp3 seulement. Voilà le script :
#!/bin/sh
cd /home/nom_utilisateur/repertoire/
fichiers_flv=*.flv
nombre=${#fichiers_flv}
n=1
(for i in $fichiers_flv;
do
echo "# "$i;
progression=$((100*n/nombre));
echo $progression;
n=$((n+1));
mplayer -dumpaudio -dumpfile "${i%flv}"mp3 "$i"
done;)| zenity --progress --percentage=0;
for x in *.mp3 ; do lame -b 128 --resample 44100 "$x" 128-"${x}"; done
mp3gain -r -d -3 *.mp3
rm -f *.flv
Bref mon script n'est pas tout à fait net c'est à dire que j'ai été forcé de mettre un préfixe de 128- avant mes fichier converti parce que de la manière qu'il est programmé une fois le mp3 extrait le script converti ce dernier en 128-blablabla.mp3... J'aimerais bien que la conversion du mp3 de 8kbps ou 72kbps tout au mieux (par défaut depuis les flash (*.flv)) vers le 128 en 44 ce fasse tout en beauté en écrasant l'ancien mp3 tout moche...
P.S.1. Le mp3 gain c'est pour égaliser mon son à 92dB
P.S2. Dites moi pas que j'aurais du faire ça avec ffmpeg j'ai tout essayé rien à faire le mp3 se crée mais aucun son en sort de mes caisses mais si j'ai tous les codes qui faut la reconversion après extraction c'est la seule solution que j'ai pu trouvé de viable
Merci du coup de pouce
Voilà les deux fichiers créée en image (moi je voudrais en garder qu'un seul celui en 128kbps 44KHz 128-*)
Dernière modification par harolddumur (Le 05/08/2008, à 22:23)
Hors ligne
#2 Le 05/08/2008, à 18:02
- WW
Re : Petite correction pour un script svp... [Résolu]
Salut,
En effet, il me semble bien que lame requiert deux noms différents.
Une solution (loin d'être idéal) serai de changer l'extension avant de l'encoder genre
mv $x "${x%mp3}"harolddumur
puis
lame -b 128 --resample 44100 "${x%mp3}"harolddumur $x
Pour la nouvelle extension j'ai tapé des lettres au pif et puis ...
Dernière modification par WW (Le 05/08/2008, à 18:05)
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#3 Le 05/08/2008, à 18:46
- harolddumur
Re : Petite correction pour un script svp... [Résolu]
Merci WW,
J'aime bien l'extension ta du pif on peut dire. Mais malheureusement l'idée semble bonne mais en modifiant mon code par ceci :
mv "$x" "${x%mp3}"harolddumur
for x in *.mp3 ; do lame -b 128 --resample 44100 "${x%mp3}"harolddumur "$x"; done
Ça me donne un fichier mp3 mais pas issue de la conversion plutôt seulement celui qui est extrait du flv... malheureusement donc ce petit tricks ne fonctionne pas je crois à moins que j'ai mal compris l'astuce
Any idea ?
Hors ligne
#4 Le 06/08/2008, à 13:31
- Autiwa
Re : Petite correction pour un script svp... [Résolu]
voici mon script pour extraire en mp3 le son d'un .flv :
#!/bin/bash
#pour convertir un fichier .flv en .mp3
#version 0.4
#Script à utiliser via nautilus, en faisant clic droit sur une sélection de fichiers .flv
while [ $# -gt 0 ]; do
video=$1
mp3_file=`echo "$video" | sed 's/\.\w*$/.mp3/'`
ffmpeg -i "$video" -vn -ar 44100 -ac 2 -ab 128 -f mp3 "$mp3_file"
shift
done
Ensuite, j'utilise nautilus-actions, et ça me permet de sélectionner des .flv (un ou plusieurs normalement) et il me les converti en .mp3.
Pour nautilus actions, je met dans path, le chemin vers le script, et dans les arguments, je met %M
%M : renvoie la liste, séparés par des espaces, des chemins complets des fichiers sélectionnés au moment de l'appel de l'action. en clair "/chemin/vers/fichier1.txt /chemin/vers/fichier2.txt"
en espérant que ça pourra t'aider. Pour ton script, je suis incapable de t'aider...
Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.
Hors ligne