script shell : utiliser la durée des fichiers audio - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 21-01-2007 à 20:27:51
Ben pour ca faudrait un lecteur de tag en console (une ptite recherche sur ma debian renvoie : id3v2, id3tool, lltag).
Plus bourrin : utiliser un player comme amarok, qui remplit une base de données mysql pour gérer sa collection de mp4
Encore plus bourrin : utiliser hachoir-metadata pour analyser le code binaire du mp3, ca renvoie titre, auteur, durée (mais bon lire les tags c'est autrement plus intelligent)
Marsh Posté le 21-01-2007 à 20:49:25
oui, ce n'est pas simple.
Les outils de type id3v2 sont bien pratiques mais ils ne renvoient pas la durée des enregistrements. de plus mes captures audio sont en mp3, ogg, wav...
évidemment, je ne compte pas utiliser Amarok (étant un gnome user) !
Donc je cherche encore !
Marsh Posté le 21-01-2007 à 21:00:11
hdiamant a écrit : oui, ce n'est pas simple. |
listen ?
sinon ya mp3info, mais je pense pas qu'il gère les tag des autres formats
Marsh Posté le 21-01-2007 à 21:07:43
Tu connais le Rhythmbox powa ?
Sinon, j'ai trouvé sur le forum d'ubuntu extract qui me donne une sortie assez intéressante :
$ extract -p format audiodata/audio342.mp3
format - 352 kbps, 12000 hz, 1m24 stereo
as-tu une idée pour tuber et récupérer cette durée? J'aurais tellement préféré un truc du genre hh:mm:ss !!!
Marsh Posté le 21-01-2007 à 21:55:52
Bon, extract ne me donne pas la durée de toute façon avec un ogg.
La solution, c'est hachoir-metadata... mais bon, c'est bourrin, tu disais?
Marsh Posté le 21-01-2007 à 22:47:55
J'ai trouvé la solution pour les MP3. C'est tout simple avec mp3info :
Citation : mp3info -p %m%s |
Pour les ogg, je ne suis pas sûr du bon moyen de récupérer l'info, que pensez-vous de ça :
Citation : ogginfo audio.ogg | grep Playback |
Marsh Posté le 22-01-2007 à 07:47:27
hdiamant a écrit : J'ai trouvé la solution pour les MP3. C'est tout simple avec mp3info :
|
| grep Playback | cut -d " " -f 3
Marsh Posté le 22-01-2007 à 11:08:13
Merci, je vais voir ça dès que j'aurais un peu de temps !
Marsh Posté le 22-01-2007 à 20:53:07
Alors voilà comment je procède finalement : Je trouve les minutes et les secondes séparément. Comme ça, je pourrai les envoyer plus facilement sous la forme HH:MM:SS dans ma base mysql.
Pour les MP3, mp3info -p %m%s ne va que si les fichiers son taggés, ce qui n'est pas mon cas. J'utilise donc autre chose :
Code :
|
Pour les .ogg, la solution inspirée de Xavier_OM va bien :
Code :
|
Mon problème maintenant, c'est que je n'arrive pas à écrire un if, elif ! Voilà, ce que j'ai écrit et ça marche pas :
Code :
|
Rien ne se passe ! Je suis preneur de tout conseil ! même sur la manière de présenter le code.
Marsh Posté le 21-01-2007 à 18:13:33
Bonjour tout le monde,
Je manipule quotidiennement plusieurs dizaines de fichiers audio (tout format mp3, ogg, wma...) et entre autre, pour chacun d'eux, je renseigne manuellement une base mysql où je mets le nom du fichier et la durée du fichier + la date du jour.
J'ai pensé que tout cela pouvait être fait par un petit script bash.
Pour le moment, mon seul problème vient de la façon dont on accède aux tags du fichier audio. Comment récupérer la "durée" du fichier audio? Si quelqu'un a une idée !
Message édité par hdiamant le 22-01-2007 à 13:39:04