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 23/01/2006, à 23:10

Tay

[script] Extraire le son d'une vidéo

Comme j'ai beaucoup de mal à me souvenir des commandes de MPlayer je me suis écrit un petit script Nautilus permettant d'extraire facilement le son d'un fichier vidéo.

A priori cela fonctionne avec tous les formats supportés par MPlayer (c'est à dire à peu près tous les formats vidéos existant!) le son est exporté au choix en wav (pas de compression), mp3 ou ogg (compression faite avec LAME).

Je vous préviens tout de suite c'est du rustique de chez rustique!

J'ai laissé les options par défaut de LAME, la compression est donc assez sauvage (64 kbps) ce qui est très suffisant pour les fichiers vidéo fait avec mon APN où le son est de toutes façons médiocre.

Si cela ne vous conviens pas un petit man lame en console devrait vous permettre d'améliorer cela.

Le script nécessite mplayer, Zenity et LAME.

Voici le script:

#!/bin/sh
# necessite mplayer, Zenity et lame

# On teste si un fichier a été sélectionné
if [ $# -eq 0 ]; then
	zenity --error --title="error" --text="Sélectionnez un film pour pouvoir continuer!"
	exit 1
fi

title="Choix du format audio"
format=$(zenity --title "$title"  --list --separator=" " --column="Format" "wav" "mp3" "ogg")

# On extrait avec mplayer
mplayer -vo null -ao pcm -af resample=44000,volume=+4db:sc $1 

# on compresse ou pas
if [ "$format" != "wav" ]; then

lame audiodump.wav audiodump.$format

# on renomme le fichier
mv audiodump.$format $1.$format
rename 's/\....//' $1.$format

# on fait le ménage -- à commenter si vous souhaitez garder l'original
rm audiodump.wav

else 

mv audiodump.wav $1.wav
rename 's/\....//' $1.wav
fi

# Finito!
zenity --info --title="fini" --text="J'ai fini"

Enregistrer les lignes ci dessous dans un fichier (par exemple extraire_son.sh) , rendez le exécutable en placez le sous ~/.gnome2/nautilus-scripts (vous pouvez y accéder avec un "clic droit -> Scripts -> Ouvrir le dossier de script" (accessible si vous avez déjà au moins un script).

Et voilà il ne vous reste plus qu'à faire un clic droit -> Scripts -> extraire_son.sh sur votre vidéo et c'est parti!

Remarque: le script ne gère qu'une vidéo à la fois

Attention suivant la taille de la vidéo et la rapidité de votre machine cela peut prendre pas mal de temps. Le script affiche une fenêtre "J'ai fini" quand tout c'est bien passé.

En espérant que cela vous rendra service!

Hors ligne

#2 Le 24/01/2006, à 01:37

Valère

Re : [script] Extraire le son d'une vidéo

Je viens de tester ce script, mais malheureusement il ne semble pas fonctionner chez moi.
J'ai bien mplayer, lame et zenity d'installés, mais il rien ne se passe, après quelques secondes la fenetre "J'ai fini" s'affiche, mais je n'ai aucun fichier audio.
J'ai testé les différents formats proposés mais aucun changements.

Edit: Je n'ai rien dit, il fonctionne parfaitement...il n'apprécie simplement pas les noms de vidéos comportant un espace. smile

Merci pour ce script tongue

Dernière modification par Valère (Le 24/01/2006, à 01:43)


1984 was not supposed to be an instruction manual
hostux.net serveur mail/jabber + hébergement d'images.

Hors ligne

#3 Le 29/01/2006, à 03:25

jvcharles

Re : [script] Extraire le son d'une vidéo

merci Tak, sa fais un bout temps que j'voulais sa.

mais j'aimerais l'avoir aussi pour konqueror et cher pas comment faire.

Dernière modification par jvcharles (Le 29/01/2006, à 03:26)


Debian Stable Sid/rc-buggy - Gnome/Kde  Tails LiveUsbPersistance  UBports/Ubuntu-Touch 2022/08/19 (Pixel 3a)
Windows 10/Facebook supprimer 2019/02/02   Compte Google supprimé 2023/02/15

Hors ligne

#4 Le 29/01/2006, à 16:01

Tay

Re : [script] Extraire le son d'une vidéo

@jvcharles pour Konqueror hum désolé je ne vais pas pouvoir t'aider vu que je ne l'utilises pas. Je te suggère de jeter un oeil à un script fait pour KDE et d'adapter le mien.

Remarque en installant zenity ça marcherai peut être (je ne sais absolument pas)?

Les lignes utiles sont les suivantes (marchent en console):

mplayer -vo null -ao pcm -af resample=44000,volume=+4db:sc nom-du-fichier-vidéo
lame audiodump.wav audiodump.ogg (ou .mp3 au choix)

Après il ne reste plus qu'à renommer les fichiers.
Voilà bon courage!

PS: c'est Tay pas Tak wink

@Valère: mais de rien avec plaisir!

Dernière modification par Tay (Le 29/01/2006, à 16:02)

Hors ligne

#5 Le 21/05/2006, à 13:51

morad

Re : [script] Extraire le son d'une vidéo

slt

ca marche pas avec les videos microsoft ASF

thx

Hors ligne

#6 Le 22/05/2006, à 18:50

Tay

Re : [script] Extraire le son d'une vidéo

@morad je viens d'essayer et ça a marché (qualité très douteuse cela dit).
Si mplayer peut le lire cela devrait marcher. Si mplayer n'arrive pas à lire vérifie tes codecs.

Autres pistes:

Test 1: si le fichier est sur le bureau ça ne marche pas (jamais compris comment nautilus gère les liens vers le bureau...)

Test 2: lance mplayer en ligne de commande et regarde les erreurs:
$ mplayer -vo null -ao pcm -af resample=44000,volume=+4db:sc nom-du-fichier-vidéo

En espérant que cela t'aidera

Hors ligne

#7 Le 28/05/2006, à 05:29

zubuntu

Re : [script] Extraire le son d'une vidéo

#
En faite Il manque un "fi" a la fin de ta derniere boucle (ma console m'a limite insultée) wink


#
et la je ne comprend pus rien
il semble que la ligne de commande suivante requiere une option:
"Option mplayer need a parameter at line 2"

mplayer -vc dummy -vo null -ao pcm -aofile -af resample=44000,volume=+4db:sc $1

quel est le probleme ?
(quoiqu il me semble que le commande mplayer ai pour premier argument:

mplayer nom_du_fic.avi  -options  nom_du_fic.wav
donc pour toi

#!/bin/sh
var=$1
# On extrait avec mplayer
mplayer $var -vc null -vo null -ao pcm:file=[$var.wav]

sans trops de resultat non plus, alors que c est la syntax excact
(toujour la meme erreur rapporter...)

Dernière modification par zubuntu (Le 28/05/2006, à 12:27)


Soyez baka'titude, donnez dans la newB'titude !
un mot: BE BAKA !

(morpheus me l'avait dit a moi aussi: j'aurai du prendre la pilule bleu)

Hors ligne

#8 Le 28/05/2006, à 19:27

Tay

Re : [script] Extraire le son d'une vidéo

@zubuntu:
$1 c'est le nom du fichier qui est chopé par la sélection (sélectionner le fichier puis script).

Si tu lances le script en console c'est normal que cela ne marche pas. Et puis le script marche pour moi et d'autres personnes donc ça doit être OK smile !

Pour le fi manquant je ne vois pas je comptes 2 "if" et 2 "fi" pour moi le compte est bon!

Pour tester reprends la ligne avec mplayer que tu cites en remplaçant $1 par le nom de ton fichier, soit:
mplayer -vo null -ao pcm -af resample=44000,volume=+4db:sc nom_du_fic.avi

le fichier .wav s'appelle obligatoirement audiodump.wav en sortie de mplayer (mon script le renomme).

A noter que ça ne marches pas si le fichier est sur le Bureau ou si plusieurs fichiers sont sélectionnés (c'est rustique j'avais prévenu!).

En espérant que cela t'aide,
Tay

Hors ligne

#9 Le 28/05/2006, à 19:52

tukuyomi

Re : [script] Extraire le son d'une vidéo

Ma petite contrib:
Si vous remplacez $1 par "$1", il supportera les fichiers avec espaces wink

Hors ligne

#10 Le 28/05/2006, à 20:46

wam

Re : [script] Extraire le son d'une vidéo

cool, je ne savais pas que mplayer le faisait, j'utilisais ffmpeg.

ça extrait juste, en concervant le format d'origine, en utilisant un autre format, ou ça compresse au passage? je vois "resample=44000"

Dernière modification par wam (Le 28/05/2006, à 20:47)

Hors ligne

#11 Le 29/05/2006, à 19:50

Tay

Re : [script] Extraire le son d'une vidéo

@wam
si tu exportes en .wav à priori il n'y a pas de compression le resample=44000 c'est pour remettre en 44 kHz c'est à dire le format CD si je ne dis pas trop de conneries (très possible au demeurant je ne suis pas expert).

Sinon le script compresse en mp3 ou ogg avec lame et les options par défauts soit 64 kbps.
C'est modifiable facilement (man lame).
En gros le résultat est crado mais vuqu'en ce qui me concerne je m'en sers pour les vidéos de mon APN et que la source n'est pas terrible c'est très suffisant.

Je n'ai pas fait de tests poussée je dois dire mais à priori garbage in garbage out ce n'est pas être très propre!

@tukuyomi: merci pour l'astuce c'est noté!

Hors ligne

#12 Le 29/05/2006, à 20:07

guigoz

Re : [script] Extraire le son d'une vidéo

perso je fais ça avec avidemux. Splus simple tongue

Hors ligne

#14 Le 15/07/2006, à 22:50

zubuntu

Re : [script] Extraire le son d'une vidéo

big_smile thx


Soyez baka'titude, donnez dans la newB'titude !
un mot: BE BAKA !

(morpheus me l'avait dit a moi aussi: j'aurai du prendre la pilule bleu)

Hors ligne

#15 Le 06/08/2008, à 13:16

pronoiaque

Re : [script] Extraire le son d'une vidéo

mplayer -audiodump fichier.qqch

mv stream.dump fichiers.mp3

that's all folk !


"la télé commande" -  AntiPubs Spotify

Hors ligne

#16 Le 05/02/2009, à 10:23

Mergorti

Re : [script] Extraire le son d'une vidéo

Bonjour,

Tay, je me suis permis de modifier ton script.
Maintenant il peut traiter une liste de fichiers, mais toujours un après l'autre.
Il gère aussi les fréquences d'échantillonages et les débits binaire.

#!/bin/bash
# necessite mplayer, Zenity et lame

# On teste si un fichier a été sélectionné
if [ $# -eq 0 ]; then
    zenity --error --title="error" --text="Sélectionnez un film pour pouvoir continuer!"
    exit 1
fi

title="Choix du format audio"
format=$(zenity --title "$title"  --list --separator=" " --column="Format" "wav" "mp3" "ogg")

if [ "$format" != "wav" ]; then
	title="Choix la fréquence d'échantillonage"
	sfreq=$(zenity --title "$title"  --list --separator=" " --column="Fréquence" "16" "22.05" "44.1" "48")

	title="Choix du débit binaire (bitrate)"
	bitrate=$(zenity --title "$title"  --list --separator=" " --column="Débit" "48" "96" "128" "144")
else
	zenity --info --title="Information" --text="Par défaut, la fréquence d'échantillonage pour le format wav est 44.1."
if

for arg in $*
do
	# On extrait avec mplayer
	mplayer -vo null -ao pcm -af resample=44100,volume=+4db:sc "$arg"

	# on compresse ou pas
	if [ "$format" != "wav" ]; then
		lame --resample $sfreq -b $bitrate "audiodump.wav" "audiodump.$format"

		# on renomme le fichier
		mv "audiodump.$format" "$arg.$format"
		rename 's/\....//' "$arg.$format"

		# on fait le ménage -- à commenter si vous souhaitez garder l'original
		rm "audiodump.wav"
	else 
		mv "audiodump.wav" "$arg.wav"
		rename 's/\....//' "$arg.wav"
	fi
done

# Finito!
zenity --info --title="fini" --text="J'ai fini"

Voila, si il y a des courageux pour le tester.
Merci.

Dernière modification par Mergorti (Le 05/02/2009, à 10:36)


()_()
(='.'=)    Voici Lapin. Copiez et collez Lapin dans votre signature
(")_(")    pour l'aider à concrétiser sa domination du monde.
Mon site : http://www.l-antre-de-morphee.fr/

Hors ligne

#17 Le 10/03/2009, à 01:28

zenacim

Re : [script] Extraire le son d'une vidéo

Comment extraire rapidement le son d’une vidéo ?


mplayer video.avi -vc dummy -vo null -ao pcm :file=video.wav



Encoder ça en mp3 :


lame -h video.wav

http://blog.effraie.org/post/2006/10/16/Extraire-le-son-dune-video


ASUS X55V - Ubuntu 14.04 LTS

Hors ligne

#18 Le 02/04/2009, à 17:59

Psychosmose

Re : [script] Extraire le son d'une vidéo

mplayer video.avi -vc dummy -vo null -ao pcm :file=video.wav

Suprimez l'espace entre "pcm et ":file".
Ce qui donne :

mplayer video.avi -vc dummy -vo null -ao pcm:file=video.wav

Hors ligne

#19 Le 02/04/2009, à 19:40

Le Galéanthrope

Re : [script] Extraire le son d'une vidéo

Ça m'a l'air drôlement compliqué avec mplayer pourquoi vous faite pas ça avec ffmpeg :
Exemple de script que j'utilise pour récupérer toutes les bandes sons de vidéos honteusement téléchargés sur YouTube mis dans un dossier :

#!/bin/bash
mkdir "Bandes Son"
for i in *.flv; do ffmpeg -i "$i" -vn -acodec libmp3lame -ac 2 -ar 44100 -ab 128k -y -f mp3 "Bande Son/`basename "$i" .flv`.mp3";done
for i in *.mp4; do ffmpeg -i "$i" -vn -acodec libmp3lame -ac 2 -ar 44100 -ab 128k -y -f mp3 "Bande Son/`basename "$i" .mp4`.mp3";done

J'ai le même pour le ogg, il suffit de remplacer libmp3lame par vorbis et mp3 par ogg (à 2 endroits).


Miaou ! ー Nyamiou Le Galéanthrope

Hors ligne