Je suis entrain d'essayer de faire un script pour convertir tous les fichiers mp3 d'un dossier et de ses sous-dossiers (c'est important ça change tout) en .ogg. J'ai un petit souci pour lister l'ensemble des fichiers mp3 et pour que la boucle 'for' les traite comme je veux.
Jusqu'ici, je me contentais de ceci :
Je suis entrain d'essayer ceci :
J'espère que je suis assez clair...
Est-ce qqn sait comment demander à une boucle for de traiter une liste de fichiers contenu dans une variable ?
PS : ça n'a rien à voir, mais je fais la conversion en 2 étapes (en passant par un .flac) parce que je n'ai pas trouvé comment convertir directement en .ogg avec ffmpeg ou mencoder, et oggenc ne lit pas directement les mp3...
Jusqu'ici, je me contentais de ceci :
#Conversion depuis mp4
for i in *.mp3;
do ffmpeg -i "$i" -map_meta_data "${i%mp3}flac":"$i" "${i%mp3}flac";
oggenc -b 128 "${i%mp3}flac";
done
Cela fonctionne très bien, sauf que ça ne va pas dans les sous-dossiers.Je suis entrain d'essayer ceci :
mp3list=$(find . -name '*.mp3');
mp3list=${mp3list//\ /\\\ };
#Conversion depuis mp3
for i in $mp3list;
do ffmpeg -i "$i" -map_meta_data "${i%mp3}flac":"$i" "${i%mp3}flac";
oggenc -b 128 "${i%mp3}flac";
rm ${i%mp3}flac;
done
Malheureusement, "ça marche pas". Je me suis dit que c'était les espaces dans les nom de fichier qui lui posaient problème. Que nenni. en les remplaçant par '\ ' c'est-à-dire en échappant l'espace, ça veut toujours pas.J'espère que je suis assez clair...
Est-ce qqn sait comment demander à une boucle for de traiter une liste de fichiers contenu dans une variable ?
PS : ça n'a rien à voir, mais je fais la conversion en 2 étapes (en passant par un .flac) parce que je n'ai pas trouvé comment convertir directement en .ogg avec ffmpeg ou mencoder, et oggenc ne lit pas directement les mp3...