#1 Le 04/01/2006, à 13:14
- bobousse
script shell encodeur
bonjour a tous
je cherche à écrire un script permettant de détecter les fichiers .wma sur mon pc de les lister puis de les encoder en ogg vorbis
et il me manque plusieurs éléments
pour passer du wma au wave j ai déja trouvé cette ligne de commande
sudo mplayer -ao pcm Track02.wma
mais après il faut renommer le fichier pour le mettre du type Track02.wav
puis l'encoder en ogg vorbis et le replacer dans les répertoites d'origines ou étaient chaque fichier .wma
je ne sais donc pas comment effectuer la recherche des fichiers, les lister ainsi que leur chemins d'accès
et la ligne de commande pour les encoder en ogg vorbis une fois qu'ils sont en wave
si il y a un spécialiste des scripts shell je suis preneur
meci d'avance
Dernière modification par bobousse (Le 05/01/2006, à 11:24)
Hors ligne
#2 Le 04/01/2006, à 13:24
- teddyber
Re : script shell encodeur
pour rechercher les fichiers, utilise la commande find :
find /mon_chemin -name *.wma
Hors ligne
#3 Le 04/01/2006, à 13:36
- bobousse
Re : script shell encodeur
merci ta commande fonctionne en effet reste plus qu'a réussir à stocker le résultat de cette recherche et à le réutiliser
si quelqu'un peut m'aider pour la suite please
Hors ligne
#4 Le 04/01/2006, à 14:01
- teddyber
Re : script shell encodeur
je ne connais pas les commandes pour encoder en ogg mais ton script devrait ressembler à ça :
for i in `find /mon_chemin -name *.wma` do
mplayer -ao pcm $i | la commande_pour_encoder_en_ogg
done
ou bien
for i in `find /mon_chemin -name *.wma` do
mplayer -ao pcm $i
la commande_pour_encoder_en_ogg $i.wav
done
à adapter en fonction des actions sur chacun fichiers.
Hors ligne
#5 Le 04/01/2006, à 14:03
- thom
Re : script shell encodeur
pour encoder en ogg utilise : oggenc
Montre peut-etre ce que tu as déjà fait ? ou dis ce que tu veux et çe que tu as déjà et je te ferai ton script...
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#6 Le 04/01/2006, à 14:10
- bobousse
Re : script shell encodeur
merci pour vos solutions mais je comprends pas dans les deux scripts que propose teddyber
les fichiers seront un à un encodés en wave puis en ogg ou tous en meme temps en wave puis tous en meme temps en ogg
car sinon ca pose un problème de mémoire
et puis est ce que les fichiers de base sont supprimés après être encodés?
Hors ligne
#7 Le 04/01/2006, à 14:28
- bobousse
Re : script shell encodeur
j en arrive donc à ça
for i in `find /media/sda1/Documents_de_bobousse/Ma%20musique/Musique%20ordre%20alphab%E9tique -name *.wma` do
sudo mplayer -ao $i
sudo mv $i.wma
sudo oggenc -m 256 $i.wav
sudo mv $i.wav
done
est ce que cela encodera bien les fichiers un par un (sinon problème d'espace sur mon disque dur)
et est ce ke le script fonctionnera?
sinon grosse question de newbie
comment lance-t-on le script?
Hors ligne
#8 Le 04/01/2006, à 14:31
- thom
Re : script shell encodeur
les fichiers seront un à un encodés en wave puis en ogg ou tous en meme temps en wave puis tous en meme temps en ogg
un à un
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#9 Le 04/01/2006, à 14:35
- thom
Re : script shell encodeur
Si je peux te donner un conseil, essaie de réaliser les étapes de manière indemandante...
prend un fichier .wma, converti le avec mplayer et regarde ce que donne le résultat (nom du fichier ? destination du fichier ? )
fait la même chose avec oggenc
puis essaie de faire tourner ton script :
- tu dois le rendre exécutable : $ chmod +x nom_du_fihcier
- pour le lancer : $ ./nom_du_script
Si ça va pas, poste les résultats ici et on avisera
Dernière modification par thom (Le 04/01/2006, à 14:36)
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#10 Le 04/01/2006, à 14:36
- bobousse
Re : script shell encodeur
ok mais est-ce nécessaire de supprimer le fichier source à chaque fois ou est ce qu'il se supprime automatiquement?
sinon que pense tu du script et comment le lancer?
Hors ligne
#11 Le 04/01/2006, à 14:37
- thom
Re : script shell encodeur
et retire les sudo... je vois pas ce qu'il font la...
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#12 Le 04/01/2006, à 14:38
- Noé
Re : script shell encodeur
Pour lancer le script tu fais sh /Chemin/vers/le/script
dotdotno ou Phlogistique sur IRC
Jabber : noe.rubinstein CHEZ fritalk.com
Hors ligne
#13 Le 04/01/2006, à 14:38
- thom
Re : script shell encodeur
ok mais est-ce nécessaire de supprimer le fichier source à chaque fois ou est ce qu'il se supprime automatiquement?
Si tu testes les commandes et que tu donnes le résultat, je serai te le dire....
J'ai pas mlayer, j'aurais donc du mal a te dire ce que ça renvoie comme résultat....
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#14 Le 04/01/2006, à 15:10
- bobousse
Re : script shell encodeur
quand il éxecute la ligne
mplayer -ao pcm $i
il y a une erreur et il met
./wma2ogg-vorbis.sh: line 2: syntax error near unexpected token `mplayer'
./wma2ogg-vorbis.sh: line 2: ` mplayer -ao pcm $i'
voilà déjà bloqué à la deuxième ligne je sis trop une merde
Hors ligne
#15 Le 04/01/2006, à 15:12
- thom
Re : script shell encodeur
tu peux mettre ton code en entier ?
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#16 Le 04/01/2006, à 15:14
- bobousse
Re : script shell encodeur
voilà le code
for i in `find /home/bobousse/Desktop/Polaroid et pornography + University of nowhere -name *.wma` do
mplayer -ao pcm $i
mv $i.wma
oggenc -m 64 $i.wav
mv $i.wav
done
Hors ligne
#17 Le 04/01/2006, à 15:20
- teddyber
Re : script shell encodeur
sur la première ligne, il faut protéger les espaces :
for i in `find /home/bobousse/Desktop/Polaroid\ et\ pornography\ +\ University\ of\ nowhere -name *.wma` do
ça aidera déjà
Hors ligne
#18 Le 04/01/2006, à 15:24
- bobousse
Re : script shell encodeur
j ai modifié comme tu le dis teddyber mais ca ne marche toujours pas
Hors ligne
#19 Le 04/01/2006, à 15:27
- thom
Re : script shell encodeur
il est ou ton script ? dans quel rep ?
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#20 Le 04/01/2006, à 15:31
- bobousse
Re : script shell encodeur
il est dans le répertoire /home/bobousse/Desktop
Hors ligne
#21 Le 04/01/2006, à 15:31
- teddyber
Re : script shell encodeur
et en lançant juste
find /home/bobousse/Desktop/Polaroid\ et\ pornography\ +\ University\ of\ nowhere -name *.wma
en ligne de commande tu obtiens quoi ?
Hors ligne
#22 Le 04/01/2006, à 15:34
- bobousse
Re : script shell encodeur
il me trouve bien les fichiers wma
a priori ca vien de la deuxième ligne
Hors ligne
#23 Le 04/01/2006, à 15:38
- teddyber
Re : script shell encodeur
et en mettant le "do" de la fin de la première ligne tout seul sur la deuxième ligne ?
Hors ligne
#24 Le 04/01/2006, à 15:46
- thom
Re : script shell encodeur
essaie un peu ça :
#!/bin/bash
# à lancer dans le répertroire dans lequel il y a les wma
for i in `find . -name "*.wma"`
do
mplayer "$i" -ao pcm
# la sortie est dans audiodump.wav
# on transforme audiodump.wav en un ogg nommé nom_du_wma_sans_extention.ogg
ogg_out=`echo ${i%.*}.ogg`
oggenc audiodump.wav -o "$ogg_out"
# on éfface le fichier généré par mplayer
# rm audiodump.wav
done
Dernière modification par thom (Le 04/01/2006, à 16:06)
-> Ubuntu on a Sony Vaio VNG-FS115B
-> Wificonfig is a little script aimed to ease the switching between networks, for people who have 2 network cards : a wired one and a wireless one.
Hors ligne
#25 Le 04/01/2006, à 15:54
- bobousse
Re : script shell encodeur
donc ca y est le script se lance
j ai un peu modifié le code suite à des problèmes mais il y a toujours une erreur
for i in `find /home/bobousse/Desktop/Polaroid\ et\ pornography\ +\ University\ of\ nowhere -name *.wma`
do
mplayer -ao pcm $i
mv audiodump.wav $i.wav
oggenc -m 64 $i.wav
mv $i.wav
done
et il me met cette erreur la pour chaque fichier qu'il veut convertir
mv: ne peut évaluer `audiodump.wav': Aucun fichier ou répertoire de ce type
Mise en route du mécanisme de gestion du débit
Erreur : impossible d'ouvrir le fichier d'entrée « of.wav » : Aucun fichier ou répertoire de ce type
mv: argument fichier manquant
Pour en savoir davantage, faites: « mv --help ».
MPlayer dev-CVS--4.0.2 (C) 2000-2005 MPlayer Team
CPU: Intel (Family: 8, Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for Debian.
86 audio & 200 video codecs
Linux RTC init error in ioctl (rtc_irqp_set 1024): Permission denied
Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system startup scripts.
Opening joystick device /dev/input/js0
Can't open joystick device /dev/input/js0 : No such file or directory
Can't init input joystick
Setting up LIRC support...
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support.
You will not be able to use your remote control.
Playing nowhere/Track19.wma.wma.
File not found: 'nowhere/Track19.wma.wma'
Failed to open nowhere/Track19.wma.wma
Exiting... (End of file)
Hors ligne