22 juill. 2009

Convertisseur Youtube pour Linux

Du temps que j'étais sur Microsoft Windows, un temps bien sûr révolu, j'avais un superbe programme gratuit fait par DVD Video Soft pour prendre des vidéos Youtube, passer ça dans la machine et, au final, avoir un beau fichier MP3 prêt pour aller dans mes oreilles, mais au préalable dans mon baladeur numérique. Ce super gadget s'appelle Free Youtube to MP3 Converter et il fait la job à merveille!

Depuis que je me suis marié avec Linux, j'ai eu beau chercher un beau programme pour faire ça, mais j'ai trouvé un grand vide. J'ai tenté, avec WINE (un émulateur de Windows qui n'est pas un émulateur mais qui, oui!, est un émulateur) d'installer le logiciel fétiche, mais là ce fut une scrappe totale, un rendu dégueulasse, des fichiers sans structure, un logiciel qui ne fonctionnait pas... bref, j'ai fait marche arrière! On peut effectuer des conversion Youtube à MP3 en ligne, par exemple sur les sites
¤ http://www.listentoyoutube.com/
¤ http://www.youtubetomp3.net/
¤ http://www.vidtomp3.com/
¤ http://convertyoutube.com/
¤ http://www.video2mp3.net/
et pleins d'autres mais ces sites ne permettent pas de faire le travail en quantité industrielle et, heureusement pour moi, je n'ai pas la journée pour récupérer les MP3 un à un.

J'ai donc continué à chercher, puis je me suis dis que je pouvais m'en passer. Mais hier mon frère (et son nouveau cellulaire qui peut lire les MP3) m'a demandé comment faire ça, de prendre un vidéo Youtube et d'en extraire la musique. Alors j'ai cherché encore et encore. Et j'ai trouvé.

Dans un souci que l'information reste, je vais ré-expliquer comment faire, en français et avec plus de détails (car j'avoue que, bien que je me débrouille plus que bien, j'ai souvent des maux de têtes quand les plus forts ne mettent pas assez de détails).

\\\\\\\--- Début du tutoriel ---\\\\\\\


Ce n'est pas un beau logiciel tout fait avec des beaux graphiques et tout le flafla... on va faire le tout (du moins, une bonne partie du tout!) en ligne de commande, donc ouvrez votre console!

Avant tout il nous faut l'utilitaire pour aller chercher les vidéos sur Youtube. Il s'appelle youtube-dl et, pour le télécharger, vous devez entrer la commande suivante :
sudo apt-get install youtube-dl


Puis, pour le convertisseur de Youtube vers MP3, mplayer est nécessaire (et vous sera surement utile à d'autres moments). Pour le télécharger et l'installer, entrez la commande suivante :
sudo apt-get install mplayer


Une fois ces deux utilitaires acquis, il nous reste à créer un script pour automatiser la tâche lors de conversion en masse. Là le plaisir arrive :-, Ouvrez votre éditeur de texte (non non, pas le traitement de texte, l'éditeur! Sur Ubuntu, par exemple, c'est Gedit. Sinon il y a Notepad++ sur plusieurs autres distributions... cherchez un peu!) Vous allez y copier le code qui suit :

#!/bin/sh

# Use this script at your own risk!
# Utilisez ce script à vos propres risques!

while read inputline
do
youtube_url="$(echo $inputline)"
youtube-dl -t $youtube_url
done < videos.txt

for i in *.flv
do
# Cette ligne va convertir le fichier Youtube (en format FLV) en MP3
mplayer -dumpaudio $i -dumpfile $i.mp3
# Cette ligne va supprimer les fichiers FLV, maintenant inutiles vu qu'on a les MP3
rm $i
done

Enregistrez le fichier en l'appelant exactement youtube-mp3.sh dans un dossier que vous nommerez youtube-mp3, qui lui sera dans votre dossier personnel. Note : les lignes qui commencent par un # sont des commentaires, ils ne changent en rien le code. Laissez-les.

Une fois enregistré, fermez l'éditeur de texte. Rouvrez le et, sans même rien y écrire, enregistrez-le tout de suite dans le dossier youtube-mp3 et nommez-le exactement videos.txt.

Dans ce fichier vous collerez tous les URL des vidéos que vous voudrez en MP3. Un URL c'est l'adresse de la page, par exemple http://www.youtube.com/watch?v=5YPK92sGWN8. Mais attention, respectez ces deux règles ou sinon de terribles malheurs s'abattront sur vos récoltes de carottes : un URL par ligne et aucune ligne vide dans le fichier. Une fois que vous aurez une belle liste (ou juste un URL, peu importe) de vidéos Youtube (prochainement en MP3!!!), enregistrez puis fermez le fichier et retournez en console. Entrez les commandes qui suivent pour se rendre au script et l'activer :
cd ~/youtube-mp3/

./youtube-mp3.sh


Et là, mes amis, vous êtes en Cadillac! Le processus est parti, ça va prendre un ptit bout, mais dans quelques instants, quand vous verrez que plus rien ne bouge dans la console, vous verrez dans le dossier youtube-mp3 pleins de petits fichiers qui feront votre bonheur! Par après vous pourrez toujours retourner dans votre fichier videos.txt, supprimer les vieux URL déjà téléchargés et en mettre des nouveaux, puis réactiver le script. Un problème du script, et il est poche, c'est que les fichiers MP3 sont nommés d'après l'URL du vidéo dont il provient, donc ça sort comme 5YPK92sGWN8.mp3... pas cool, parce qu'on doit les renommer manuellement un à un. Mais c'est tout de même moins long que d'avoir faite toute la job en ligne sur un site comme video2mp3.net...!

Faque c'est ça... bonne écoute, et n' oubliez pas : téléchargez responsablement la musique, si vous aimez l'album, achetez-le!

0:-)

12 commentaires:

pgiroux a dit...

Tu t'es vraiment fait chier... Tout ce code, c'est pas très "friendly"!

Ton youtube to Mp3, il existe en module pour Firefox, ça devrait aussi fonctionner sur Linux. VLC fait aussi le travail.

Félix GG a dit...

Le code est sale? Mais il fonctionne :-P

Le plugiciel pour Firefox nécessite une bibliothèque que je ne suis pas capable d'importer... et VLC ne peut pas prendre des vidéos Youtube (on doit le faire manuellement) et les convertir en MP3 en masse (encore là, c'est manuellement!). Le but du script c'est de nous ôter beaucoup de tâches... et j'estime que c'est pas pire comme c'est là ;-)

Unknown a dit...

youtube to mp3

Anonyme a dit...

Petite astuce pour le titre de tes mp3 :
le man de youtube-dl dit qu'avec l'option -t, il utile le titre en guise de nom de fichier. Donc tes MP3 seront un peu plus parlants.

Félix GG a dit...

@f Eh ben merci pour ce énième site ;-)

@Anonyme Wow merci, ça c'est cool! Je vais changer le code! Marci ben!

Unknown a dit...

Bonjour, j'ai tout fait comme vous avez indiqué et voila la réponse que j'ai obtenue :

philippe@philippe:~$ cd ~/youtube-mp3/
philippe@philippe:~/youtube-mp3$ ./youtube-mp3.sh
bash: ./youtube-mp3.sh: Permission non accordée
philippe@philippe:~/youtube-mp3$

:'( snif !

Unknown a dit...

sa ne marche pas chez moi non plus .. <
permission non accordée ..
comment puis-je faire ?
en tout cas merci bien pour cette astuce !

Anonyme a dit...

Permission non accordée = chmod
Donc faites un : chmod +x youtube-mp3.sh
Et ça marchera

Anonyme a dit...

Moi j'obtiens un fichier .webm et soit, j'ai oublié d'installer un paquet d'un lecteur quelconque, soit on m'explique lol

Arshid a dit...

Hai friend;
Youtube2mp3Downloader is an easy-to-use to
convert Youtube videos in to mp3 and downloading
in your pc .Good qualities mp3 in all mp3 players .


http://www.youtube2mp3downloader.weebly.com/

Unknown a dit...

Salut Felix,

je suis tombé un peu par hasard sur ton Blog qui m'a intéressé. En fait, tu m'as fait découvrir l'utilitaire «youtube-dl» que je ne connaissais pas (merci).
Je viens de le tester et pour l'instant, il semble très bien fonctionner pour récupérer une vidéo Youtube.
Pour l'extraction et la conversion en MP3 ou de préférence en OGG, il y a une pléthore d'outils sous Linux.
J'essaie tout ça.
Encore merci.
Charles

Unknown a dit...

Juste pour information, pour extraire la piste son d'une video en ligne de commande, il y a le très puissant «ffmpeg» qui le fait très bien, mais qui nécessite un petit apprentissage.