Pour nous contacter : soyez au rendez-vous sur IRC ! ⋅ Parcourir l'archive musicale Dogmazic ⋅ Notre Blog ⋅ Notre Documentation
Bonjour à tous,

Le forum Musique Libre a migré !

Pas d'inquiétude, vos comptes et vos messages ont été migré ! Mais nous n'avons pas pu migrer les mots de passe, il vous faudra donc cliquer sur "J’ai oublié mon mot de passe" et suivre la procédure.

Welcome back ;)

Télécharger le contenu de playlist m3u

outils, gadgets, logiciels : musique numérique, technologie etc.
tdBt
Messages : 1485
Inscription : 06 août 2004, 01:47

Télécharger le contenu de playlist m3u

Message par tdBt »

Jamais vu une qestion de noob comme ça !

bon voilà le délire, je trouve plein de chouettes playlists m3u, je voudrais récupérer les morceaux, pas sorcier puisque la playlist est précisemment constituée de liens vers les morceaux... Oui mais... avec quoi ? Qui (anthropomorphisme logiciel) me permet de télécharger les morceaux constituants une playlist ?

je sait : STFW, oui oui... mais non
(me sortez pas le podcast, les playlists sont pas toutes sur dogmazic ;), et quand on me demande de gérer la musique dans une soirée, souvent c'est un Fenêtre (TM) qui n'as pas de client de podcast. Pourriez aussi me demander pourquoi les télécharger au lieu de les streamer, rhaaa z'etes futés !!! oui mais non je veux les DL)

alors any idea ? heu sous Linux ET Fenetres (TM)...

dF
Avatar de l’utilisateur
aisyk
Messages : 2150
Inscription : 17 oct. 2005, 14:08

Re: Télécharger le contenu de playlist m3u

Message par aisyk »

les .m3u sont aussi des fichiers textes, donc normalement si tu les lis avec un éditeur de texte (kwrite, kate, open-office...) tu te retrouveras avec les liens à télécharger.

sinon si tu veux télécharger de multiples mp3 depuis le site, tu as un outil intéressant, une extension de firefox, download them all qui te permet de récupérer les .ogg ou .mp3 des liens présents dans une page internet.
http://www.downthemall.net/

ensuite faire cela automatiquement, là je ne vois pas trop...
LaSp
Messages : 751
Inscription : 12 sept. 2005, 13:29

Re: Télécharger le contenu de playlist m3u

Message par LaSp »

oui c'est ce que j'aurais répondu aussi, copier les données en texte et trouver un prog qui télécharge une série de liens donnés à la volée.

Et et la limite puisque tu parles de linux et pour automatiser tout ca, tu pourrais écrire un petit script pour parser les données.
Ca ca serais vite fait puisque les données sont sous cette forme

#EXTM3U
#EXTINF:
http://arch2.musique-libre.org/archive/ ... m]_Atocha_[Creative_Commons___by_nc_nd_2.5]_[www.dogmazic.net].ogg
http://arch1.musique-libre.org/archive/ ... despertar_[Creative_Commons___by_nc_2.0]_[www.dogmazic.net].ogg
etc ...

Je sais pas tu te démerde pour enlever les 2 premières lignes , ou alors tu "grep" (STFM comme on dit dans les milieux autorisés)
Bon la j'ai pas linux mais j'imagine qu'un :

Code : Tout sélectionner

$ more playlist.m3u | grep http
devrait te donner les liste des chansons.
Après il faut arriver à les reformater de facon à utiliser un téléchargeur en ligne de commande, par exemple en STFW j'ai trouvé Axel

http://blog.codefront.net/2007/04/29/ax ... celerator/

Alors bon la il va te falloir tester mais d'après moi si tu pars sur

Code : Tout sélectionner

$ more playlist.m3u | grep http | axel 
tu devrais pas être loin du résultat escompté.

Bon je détail un peu vu que je connais pas ton niveau en ligne de commande, puis ca peut toujours être utile sur ce forum :
Tu fous le tout dans un script, rend executable, le met dans /usr/bin et ca te fera une nouvelle commande
Met tout les m3u dans un repertoire puis

Code : Tout sélectionner

$ telm3u *
Et voila ! (en théorie)
Ca devrait aller STFZ (searcher the fucking zics)
LaSp
Messages : 751
Inscription : 12 sept. 2005, 13:29

Re: Télécharger le contenu de playlist m3u

Message par LaSp »

On devrait pouvoir enlever les 2 premières lignes du fichier grâce à la commande "cut" et pour une commande de téléchargement déja installée, et surement plus flexible même si moins rapide y'a "wget"
LaSp
Messages : 751
Inscription : 12 sept. 2005, 13:29

Re: Télécharger le contenu de playlist m3u

Message par LaSp »

bon comme ca m'interresse vachement, et que finalement j'ai remarqué que j'ai un linux sous la main, j'ai trouvé comment faire. tu met tout tes m3u dans un dossier puis :

Code : Tout sélectionner

more *.m3u  | grep http > temp.txt
wget -i temp.txt
Il doit y avoir un moyen de le faire sans passer par un fichier temporaire, je veux bien que te me le donnes si tu le trouve.
tdBt
Messages : 1485
Inscription : 06 août 2004, 01:47

Re: Télécharger le contenu de playlist m3u

Message par tdBt »

yes, bonne piste... le Do It Yourself !

Je vais essayer de fignoller un truc dès que j'ai un peu de temps.

J'avoue que mon rêve aurais été un ti bouton dans Xmms qui dit "download the playlist tracks", mais effectivement le script peut être une façon élégante de faire ça...

Je STFW et je re RTFM ;)

dF
tdBt
Messages : 1485
Inscription : 06 août 2004, 01:47

Re: Télécharger le contenu de playlist m3u

Message par tdBt »

bon ton bout de script marche nickel... MAIS... (y'a toujours des mais en info...)

Il est sommaire, il cherche TOUTES les playlists et télécharge tout leur contenu dans le répertoire courant, donc les pistes de ma playlist triphop se retrouvent mélangées avec ma liste Death metal... mes oreilles ne le supporteront pas ;). Pis, si j'oublie de virer les playlists et qu'on le relance il refera tout les DL (j'ai implanté une solution barbare qui consiste à supprimer les playlists après le téléchargement, c'est pas très élégant)

Donc en fait ce qu'il faudrais :
Il regarde les playlist présentes dans le répertoire. Il crée un répertoire par playlist (nommé d'après le nom de la list m3u). Il télécharge le contenu de chaque playlist dans le répertoire adhoc. Après avoir avoir téléchargé le contenu d'une list, il l'a renomme en "blahblah.m3u_done" comme ça si je relance le script il la traitera pas. Ainsi de suite pour chaque list.
Résultat il traite les play les unes après les autres, crée des répertoires propres, télécharge le contenu, et enfin empèche de reprocess la list si elle est déjà DL.

Mon niveau en shell me permet pas de coder ça (je suis graphiste didiou, même si j'aime apprendre, là ça me dépasse je connais pas assez les commandes, les options, et les structures logiques).

Mais en faisant marcher mon cerveau en français ça donne une boucle :

Qui est là ?
{
-- "moi.m3u"
- ok, je te fais un rep sous le niveau actuel > "moi_list"
- je traite les chaine pour choper que les url > temp.txt
- je télécharge les morceaux dans "moi_list"
- je te renomme en "moi.m3u_done"
- j'efface temp.txt

-- "moi_aussi.m3u
- ok, je te fais un rep...
etc, etc
}
fin de la boucle.

pas trop sorcier, mais je sait réfléchir comme ça que en français, je sait pas faire une boucle en shell, je sait pas comment faire pour traiter les listes les unes après les autres, etc...

[ I had dream section ]
Une mini interface Gtk dans laquelle on drag and drop un fichier m3u, qui nous demande où on veux sauver les morceaux, crée le répertoire, download les tracks et basta.
[ / I had a dream section ]

Evidemment tout ça c'est pour récupérer des morceaux fixes, j'ai pas la velléité de faire un truc pour ripper des flux...

dF, coder moi jamais ! ;)


PS : ça se voit que mon émission "Elle est libre ma musique" reprends du service tout les 2eme jeudi du mois sur Divergence-fm (.org) pour 90 min de musique libre et que j'ai besoin d'un outil pour la préparer ? :p
LaSp
Messages : 751
Inscription : 12 sept. 2005, 13:29

Re: Télécharger le contenu de playlist m3u

Message par LaSp »

he oui c'est ca dès qu'on a un besoin très précis, il faut parfois mettre les mains dans le cambouis

J'ai appris, il fut un temps, comment faire des boucles en shell, mais c'est vrai que la j'ai oublié

Ce que je propose, c'est de faire un script qui gère une seule playlist, et de la lancer sur autant de playlists que tu veux par la suite.


voici ce que tu mettrais dans un telm3u.sh simpliste (pour ton information, $1 représente le premier parametre donc le nom de la playlist)

Code : Tout sélectionner

rep=$1-list             #ici tu change le nom du repertoire, met ce que tu veux, mais ne met pas de "_",  et laisse bien un "-", sinon il va pas comprendre le $1
mkdir $rep         # on fait le repertoire
cd $rep           # on y va
more $1  | grep http > temp.txt           # ici ca bouge pas
wget -i temp.txt 
rm temp.txt          # on supprime le fichier temp
cd ..                 # on retourne dans le repertoire d'avant
Ici rien de bien méchant, le plus dur c'est de trouver les syntaxes, et de savoir par ou commencer.
Ensuite on rajoute les droits d'execution

Code : Tout sélectionner

chmod a+x telm3u.sh   # "a" c'est pour "all", "+" pour rajouter, et "x" c'est les droits d'eXecution
Puis tu peux le lancer un par un, ou tous d'un coup

Code : Tout sélectionner

./telm3u blablabla.m3u
./telm3u *.m3u
./telm3u *lamespirale*.m3u   #ca c'est pour télécharger toutes les playlistes du groupe Lame Spirale ;)  Mais pas la peine de chercher, y'en a pas. Bientot j'espere.
voila voila, sachant que la, comme on fait une recherche sur "http", ca chopera pas ceux qui accèdent à leur mp3 par ftp. Je sais pas si c'est possible, surement.
Bon si vraiment tu tombe sur le cas, tu duplique tout un bloc et tu change http par ftp.
tdBt
Messages : 1485
Inscription : 06 août 2004, 01:47

Re: Télécharger le contenu de playlist m3u

Message par tdBt »

cool, on va finir par arriver à quelque chose... je creuse ça en fin de semaine, là je suis chargé. Merci en tout cas.

EDIT:
y'a un probleme chronologique dans ton script

Code : Tout sélectionner

rep=$1-list             #ici tu change le nom du repertoire
mkdir $rep         # on fait le repertoire
more $1  | grep http > $rep/temp.txt           # on fait le temp dans le rep
cd $rep           # on y va une fois le temp fait
wget -i temp.txt
rm temp.txt          # on supprime le fichier temp
cd ..                 # on retourne dans le repertoire d'avant 


dF
tdBt
Messages : 1485
Inscription : 06 août 2004, 01:47

Re: Télécharger le contenu de playlist m3u

Message par tdBt »

Bon ben voilà j'ai mon truc de rêve !

le script :

Code : Tout sélectionner

#!/bin/sh
rep=$1-DL 	# crée un nom de repertoire
mkdir $rep 	# on fait le repertoire
more $1  | grep http > $rep/temp.txt 	# on prends que les url on empile dans un fichier texte placé dans le répertoire
cd $rep 	# on va dans le répertoire
wget -i temp.txt	# on WGET les url du fichier temp
rm temp.txt 	# on supprime le fichier temp
cd .. 	# on retourne dans le repertoire d'avant 
On sauve ce petit bout de script quelque part on le rends executable

Ensuite on crée un lanceur personalisé sous gnome en disant "lancer dans un terminal", pointant vers le script, on met le lanceur sur le desktop.

On load une playlist (sur dogma au hasard) avec disons XMMS ou BEEP, on sauve la playlist. Ensuite drag and drop le fichier m3u sur le lanceur, et hop il fait un repertoire télécharge tout les fichiers dedans, c'est beau.

Merci ArchDude !

dF
Répondre