Styles

jeudi 14 juillet 2011

Linux - Comment convertir des vidéos MP4 (YouTube, DailyMotion...) en MP3 en leur appliquant un gain normalisé à 89dB (ReplayGain)

Les sites d'hébergement de vidéos comme YouTube ou Dailymotion contiennent un grand nombre de vidéos correspondant à de la musique : soit des clips vidéo, soit uniquement la musique et des photos statiques en guise de vidéo. Il peut être intéressant de récupérer la musique de ces vidéos et d'en faire des fichiers audio pour les écouter sur votre lecteur audio préféré.

Tout d'abord il faut télécharger les vidéos de YouTube ou Dailymotion sur votre disque dur au format MP4. Pour cela vous pouvez utiliser les nombreuses extensions de votre navigateur préféré vous permettant de faire cela. Sous Firefox, j'utilise Video Download Helper. Sous Chromium, j'utilise Easy YouTube Video Downloader.

Attention à ne pas utiliser le nom de fichier d'enregistrement par défaut proposé par ces extensions car il y a souvent des caractères spéciaux qui ne sont pas forcément supportés par votre système de gestion de fichier.

Dans le cas de Easy YouTube Video Downloader, le nom de fichier par défaut contient en premier caractère, un caractère spécial invisible à l'oeil nu mais pourtant bien présent (je le vois avec Dired sous Emacs). Pour être sûr de ne pas avoir de problème, renommez ENTIÈREMENT le fichier. Dans XFCE Thunar par exemple, sélectionnez le fichier et faites la combinaison de touches suivante : F2 Ctrl-a Suppr. Puis saisissez votre nom de fichier.

Vous êtes sous Linux Ubuntu, vous voulez convertir un ensemble de fichier vidéo MP4 provenant de YouTube ou Dailymotion, en fichier audio MP3. Vous voulez aussi que le niveau sonore de vos MP3 soit normalisé à 89dB tel que défini par ReplayGain.
Cette normalisation est importante pour éviter de devoir monter ou baisser le niveau sonore de votre lecteur de MP3 à chaque changement de morceau.

Tout d'abord, installez les modules suivants via le Gestionnaire de Paquets Synaptic :

- ffmpeg
- sox
- libsox-fmt-all
- mp3gain

Ensuite, créez vous un fichier MP4toMP3 avec le contenu suivant :

#!/bin/sh
for i in *.mp4; do
echo "$i"
ffmpeg -i "$i" -vn -acodec copy "${i%mp4}m4a"
sox "${i%mp4}m4a" "${i%mp4}mp3"
rm "${i%mp4}m4a"
mp3gain -c -r "${i%mp4}mp3"
done


Donnez les droits d'exécution à ce fichier :
chmod a+x MP4toMP3

Et voilà ! Placez vous dans le répertoire qui contient vos MP4 et lancez ce fichier de script MP4toMP3. Le script va convertir tous les fichiers MP4 du répertoire en MP3 et appliquer un gain normalisé à 89dB (ReplayGain).

Attention, il s'agit bien de l'application du gain sur tout le fichier, pas du stockage d'un "tag" REPLAYGAIN dans le fichier MP3. Comme cela, le fichier a le même niveau sonore quelque soit le lecteur MP3, même si ce dernier ne supporte pas la norme ReplayGain.

Vous pouvez maintenant lire tous ces fichiers audio avec votre lecteur MP3 préféré.

4 commentaires:

Anonyme a dit…

Merci exactement ce que je recherché,bonne continuation !

Dieg

Anonyme a dit…

Bonjour Jerôme,

Merci pour l'astuce de ReplayGain, je connaissais pas! Ca modifie la qualité ?
Je vais essayer ce week-end avec mes mp3 convertis par iVAc (trouvé ici http://x.platformeasytools.free.fr/download_SE.html).

A bientôt,
M.

Yassin a dit…

je suis sous ubuntu13.04

j'ai le message d'erreur suivant :
sox FAIL formats: no handler for file extension `m4a'


Anonyme a dit…

J'ai le même message, quel est la solution ?