#1 Le 05/05/2008, à 11:42
- PRQT83
[Résolu] #!/bin/sh: Renommer la sortie de mplayer
Bonjour,
je me suis fait un script basique pour extraire l'audio d'une vidéo. Je me sert de
mplayer -vo null -ao pcm
pour extraire l'audio.
Seulement, le fichier sort toujours avec le nom: audiodump.wav
comment faire pour que le nom soit celui du fichier dont j'extrait l'audio plus _extract? Exemple: nom_du_fichier_extract.wav
si quelqu'un peut me mettre sur la voie, merci
Dernière modification par PRQT83 (Le 06/05/2008, à 17:15)
#2 Le 05/05/2008, à 11:57
- PRQT83
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Script:
#!/bin/sh
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --"Vous devez choisir un fichier pour lancer la conversion"
exit 1
fi
(while [ $# -gt 0 ]; do
movie=$1
wav_file=`echo "$movie" | sed 's/\.\w*$/'`
mplayer -vo null -ao pcm "$movie"
shift
done
) |
zenity --progress --pulsate --auto-close --text=" conversion en cours..." --percentage=0
zenity --info --title "$title" --"conversion complète"
j'espère que c'est lisible, je poste avec un téléphone...
Dernière modification par PRQT83 (Le 05/05/2008, à 12:01)
#3 Le 06/05/2008, à 06:52
- Alain.g
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Bonjour
Tu peux ajouter la sous-option file : -ao pcm:file="$wav_file"
Concernant ton utilisation de SED, il faudrait juste ajouter ".wav/", mais sans doute l'avais-tu prévu
echo "$movie" | sed 's/\.\w*$/.wav/'
En bash on ferait plutôt : "${movie%.*}.wav" (qui devrait fonctionner également en dash ?)
Xubuntu Karmic !
Hors ligne
#4 Le 06/05/2008, à 07:36
- PRQT83
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Merci, je vais essayer ça
Et non, ".wav/" j'avais zappé, trop nul ...
Tu le placerais ou "${movie%.*}.wav" ? Après sed et je supprime ce que j'ai mis à la place?
Je sais que ma question est simple pour toi, mais comme tu vois, je débute et en ce moment, suis sous traitement morphinique, car je vais bientôt être opérer alors j'ai les neurones un peu embrouillés...
Je sais que c'est pas une excuse, je pourrais le remettre après l'opération; mais je suis toute la journée devant le pc, peut rien faire d'autre...
En tout cas, je te remercie de ton aide
Dernière modification par PRQT83 (Le 06/05/2008, à 12:16)
#5 Le 06/05/2008, à 13:10
- PRQT83
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
J'ai essayé:
#!/bin/sh
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --"Vous devez choisir un fichier pour lancer la conversion"
exit 1
fi
(while [ $# -gt 0 ]; do
movie=$1
wav_file=`echo "$movie" | sed 's/\.\w*$/.wav/'`
mplayer -vo null -ao pcm:file="$wav_file"
shift
done
) |
zenity --progress --pulsate --auto-close --text=" conversion en cours..." --percentage=0
zenity --info --title "$title" --"conversion complète"
mais zénity s'ouvre et se ferme aussitôt en me disant conversion complète sans que rien ne se soit passé...
#6 Le 06/05/2008, à 16:35
- Alain.g
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Normal, tu as enlevé "$movie", du coup MPlayer n'a plus rien à se mettre sous la dent (plus d'entrée)
Pour "${movie%.*}.wav", ça pourrait se mettre directement après file=, mais il faudrait mieux passer ton script en bash (#!/bin/bash)
Sinon à quoi sert-il de faire une boucle s'il n'y a qu'un fichier ?
Xubuntu Karmic !
Hors ligne
#7 Le 06/05/2008, à 17:12
- PRQT83
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Ah! Les medocs; ça abruti d'une force...
effectivement, sans ça...Donc mon problème est résolu grâce à ton aide et je t'en remercie
Donc mon script pour extraire l'audio des vidéos lu par mplayer avec encodages multiples de fichiers
#!/bin/sh
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --"Vous devez choisir un fichier pour lancer la conversion"
exit 1
fi
(while [ $# -gt 0 ]; do
movie=$1
wav_file=`echo "$movie" | sed 's/\.\w*$/.wav/'`
mplayer -vo null -ao pcm:file="$wav_file" "$movie"
shift
done
) |
zenity --progress --pulsate --auto-close --text=" conversion en cours..." --percentage=0
zenity --info --title "$title" --"conversion complète"
Merci encore, ton aide m'a été bien utile
Amicalement, David.
Edit: correction orthographe
Dernière modification par PRQT83 (Le 02/06/2008, à 20:44)
#8 Le 02/06/2008, à 18:23
- jeanmatt
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Comment fait-on lorsqu'on a un point dans le nom de fichier par exemple : nom.de.fichier.mov
Cela donne un résultat : nom.wav
Que faut-il modifier dans le sed pour pas aboutir à ce résultat mais plutot à nom.de.fichier.wav ?
Dernière modification par jeanmatt (Le 02/06/2008, à 18:23)
Hors ligne
#9 Le 02/06/2008, à 20:13
- PRQT83
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
Bonjour, essaye celui là, c'est avec les modifs que m'a conseillé Alain.G.
J'ai tester avec plusieurs fichiers style: le.nom.du.fichier.avi en lançant un encodage multiple, ça marche nickel
#!/bin/bash
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --"Vous devez choisir un fichier pour lancer la conversion"
exit 1
fi
(while [ $# -gt 0 ]; do
movie=$1
wav_file=`echo "$movie" | sed 's/\.\w*$/.wav/'`
mplayer -vo null -ao pcm:file="${movie%.*}.wav" "$movie"
shift
done
) |
zenity --progress --pulsate --auto-close --text=" conversion en cours..." --percentage=0
zenity --info --title "$title" --"conversion complète"
j'ai tester en lançant l'extraction multiple sur 4 fichiers:
le.nom.du.film.avi
le nom du film.avi
le'nom du.film.avi
le_nom_du_film.avi
et ça roule.
Dernière modification par PRQT83 (Le 02/06/2008, à 20:43)
#10 Le 03/06/2008, à 08:23
- jeanmatt
Re : [Résolu] #!/bin/sh: Renommer la sortie de mplayer
salut,
Chez moi, ça ne marche pas. Le nom du fichier wav est coupé au 1er point.
Hors ligne