Conversion en vrac / batch de fichiers mp3 en ogg via la ligne de commande?

44

est-il possible de convertir des fichiers mp3 en ogg via une ligne de commande?

J'aimerais convertir en un seul coup mes fichiers mp3 en ogg afin que je puisse les lire dans Firefox sans aucun problème.

chrisjlee
la source
firefox devrait bien lire les fichiers mp3
mchid

Réponses:

37

En recherchant les paquets correspondant à ogg, j'ai trouvé dir2ogg qui semble être exactement ce que vous voulez. Juste

sudo apt-get install dir2ogg
dir2ogg -r /path/to/mp3s/

Et il trouve et convertit récursivement tous les fichiers mp3 sous /path/to/mp3s/ogg (en supposant que je lise correctement le manuel).

geirha
la source
30

Utilisez une combinaison de FFMPEG et de la manipulation des chaînes .

Allez dans le dossier où se trouvent vos mp3:

cd mp3folder

Un exemple consiste à utiliser une simple boucle "pour":

for file in *.mp3
  do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done

Les guillemets doubles empêchent que des espaces dans les noms de fichiers soient traités comme des "nouvelles lignes".

ffmpeg a plusieurs options à inclure dans la conversion telles que les codecs, le débit binaire, la taille de l’échantillon, stéréo / mono, etc.

SaultDon
la source
Excellent. dir2ogg n'a pas fonctionné sur wheezy mais cette réponse a fonctionné à merveille
Onimusha
dir2ogg n'a pas fonctionné pour moi non plus, mais je convertissais m4a -> ogg. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a> mais la boucle for ci-dessus l'a été (en remplaçant ffmpeg par avconv). Lors de la conversion de m4a / mp3 en Avec la procédure ci-dessus, la taille du fichier est multipliée par 9. Toutefois, si vous convertissez d’abord m4a au format mp3, puis mp3 au format ogg, la taille du fichier ne sera que 4x plus grand. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny
cela a fonctionné pour moi: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggréglage de la plus haute qualité, toujours nettement pire que l'original. Les paramètres par défaut ne fonctionnaient pas du tout pour moi (sur Cygwin, alors poursuivez-moi en justice :)), mais cette question posait de bonnes informations: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver
19

Soyez prudent avec les conversions de MP3, M4A, etc. en OGG, car le résultat peut sembler médiocre!

Avertissement : les formats MP3 et OGG sont des formats avec perte , contrairement à WAV ou FLAC. Cela signifie qu'ils parviennent en grande partie à leur compression en rejetant des informations audio imperceptibles à l' oreille humaine (appelées psychoacoustiques [wikipedia] ).

Lorsque vous encodez (transcodez) d'un format avec perte à un autre, la plupart de ces bits redondants sur le plan psychoacoustique ont déjà disparu, de sorte que la qualité du transcodage va en souffrir et peut même être "compréhensible" dans le résultat. Par conséquent, il n'est pas recommandé de faire de telles conversions sauf si cela est absolument nécessaire.


Réduisez l’effet si vous le faites en choisissant un débit binaire de destination plus élevé que le débit binaire source.

Si vous effectuez cette conversion de MP3 à OGG, vous pouvez réduire le risque d’artefacts (qualité médiocre) en utilisant un débit binaire de destination plus élevé que le débit source . Par exemple, si vos fichiers MP3 sont à 128 Kbits / s, essayez d’utiliser Ogg à -q7(niveau de débit variable 7), qui est généralement autour de 200 kbps.

Vous pouvez passer l' -qoption à dir2ogg (disponible dans le dépôt, comme indiqué par @geirha) qui devrait faire ce que vous voulez.

ish
la source
10

vous pouvez utiliser avconv un programme gpl, j’ai fait un shell pour exemplify (exécutez-le sur un dossier contenant les fichiers .mp3):

#!/bin/bash
if hash avconv > /dev/null; then
    for file in *.mp3
        do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
    done
else
    echo "avconv not found"
fi

ou une version plus simple, sans validation de l'installation avconv:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
ademar111190
la source
REMARQUE: Le package avconv est une branche / branche récente de ffmpeg , avec une syntaxe et des fonctionnalités similaires.
david6
REMARQUE 2: ffmpeg est officiellement obsolète et mentionne explicitement que vous devriez utiliser avconvplutôt.
ashes999
3

L'analyse / le remplacement de mp3 par ogg est incorrect. La forme correcte devrait être:

for file in *.mp3;

   do ffmpeg -i "${file}" -acodec libvorbis "${file%mp3}ogg";

done
John Jacq
la source
2

En voici une qui utilise mplayer, je pense que c'est plus rapide que avconv. Bien que Firefox devrait lire les fichiers mp3 de manière native.

#!/bin/bash
for f in *.mp3; do
 newname=`echo $f | tr ' ' '_' `
 mv "$f" $newname
 f=$newname
 mplayer $f -novideo -ao pcm:file=tmp.wav
 lame -V 0 -q 0 tmp.wav ${f/.mp3/.ogg}
 rm -f tmp.wav
done
mchid
la source
1

Si vous n'utilisez que de l'audio, utilisez le code ci-dessous [sinon FF ne lit pas le .ogg]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done
Arup Bhanja
la source
1

Il y a aussi soundconverter . Il prend en charge les interfaces utilisateur graphique et de ligne de commande et peut effectuer des transformations en masse dans les deux modes.

zakkak
la source
0

Cela pourrait résoudre votre problème http://www.perturb.org/display/entry/687/

Garry Cairns
la source
Pouvez-vous préciser ce que c'est? Cela ajouterait plus de contexte à votre réponse et en améliorerait la convivialité si le lien que vous
citez devait
J'allais faire ce que vous suggérez, mais j'ai ensuite vu la réponse de geirha, qui semble beaucoup mieux que la mienne, donc je l'ai votée.
Garry Cairns