Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#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 tongue 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... smile


-> 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

bobousse a écrit :

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

bobousse a écrit :

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

Haut de page ↑