Bulk / Batch-Konvertierung von MP3-Dateien nach Ogg über die Kommandozeile?

44

ist es möglich mp3 nach ogg über die befehlszeile zu konvertieren?

Ich möchte meine mp3-Dateien im Handumdrehen in ogg konvertieren, damit ich sie ohne Probleme in Firefox abspielen kann.

chrisjlee
quelle
firefox sollte mp3
dateien

Antworten:

37

Auf der Suche nach Paketen, die zu ogg passen , habe ich dir2ogg gefunden , was genau das zu sein scheint, was Sie wollen. Gerade

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

Und es findet und konvertiert rekursiv alle MP3-Dateien unter /path/to/mp3s/ogg (vorausgesetzt, ich habe das Handbuch richtig gelesen).

geirha
quelle
30

Verwenden Sie eine Kombination aus FFMPEG und String-Manipulation .

Wechseln Sie in den Ordner, in dem sich Ihre MP3s befinden:

cd mp3folder

Ein Beispiel ist die Verwendung einer einfachen "for" -Schleife:

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

Die doppelten Anführungszeichen verhindern, dass Leerzeichen in den Dateinamen als "Zeilenumbrüche" behandelt werden.

ffmpeg bietet verschiedene Optionen für die Konvertierung, z. B. Codecs, Bitrate, Sample-Größe, Stereo / Mono usw. Bei der obigen Konvertierung handelt es sich um die allgemeinste Konvertierung mit Standardeinstellungen.

SaultDon
quelle
Ausgezeichnet. dir2ogg hat nicht mit Keuchen gearbeitet, aber diese Antwort hat wie ein Zauber gewirkt
Onimusha
dir2ogg hat auch bei mir nicht funktioniert, aber ich habe m4a -> ogg konvertiert. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a>, aber die obige for-Schleife hat es getan (Ersetzen von ffmpeg durch avconv). Beim Konvertieren von m4a / mp3 in Beim obigen Verfahren wird die Dateigröße um das Neunfache erhöht. Wenn Sie jedoch zuerst m4a in mp3 und dann mp3 in ogg konvertieren, wird die Dateigröße nur um das Vierfache erhöht. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny
Das hat bei mir ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.ogggeklappt : Höchste Qualität, immer noch merklich schlechter als das Original. Die Standardeinstellungen funktionierten überhaupt nicht für mich (auf Cygwin, also verklagen Sie mich :)), aber diese Frage hatte gute Informationen: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver
19

Seien Sie vorsichtig bei Konvertierungen von MP3, M4A usw. in OGG, da das Ergebnis möglicherweise schlecht klingt!

Warnung : MP3 und OGG sind im Gegensatz zu WAV oder FLAC verlustbehaftete Formate. Dies bedeutet, dass sie ihre Komprimierung größtenteils dadurch erreichen, dass sie für das menschliche Ohr nicht wahrnehmbare Audioinformationen wegwerfen ( Psychoakustik genannt [Wikipedia] ).

Wenn Sie von einem verlustbehafteten Format in ein anderes codieren (transcodieren), sind die meisten dieser psychoakustisch redundanten Bits bereits verschwunden, sodass die Transcodierungsqualität darunter leidet und möglicherweise sogar "hörbar" ist. Es wird daher nicht empfohlen, solche Konvertierungen durchzuführen, es sei denn, dies ist unbedingt erforderlich.


Minimieren Sie den Effekt , wenn Sie dies tun , indem Sie eine Auswahl höheren Ziel Bitrate als die Quelle Bitrate

Wenn Sie diese MP3-in-OGG-Konvertierung durchführen, können Sie das Risiko von Artefakten (schlechte Qualität) minimieren, indem Sie eine höhere Ziel-Bitrate als die Quell- Bitrate verwenden. Wenn Ihre MP3-Dateien beispielsweise 128 kbit / s erreichen, versuchen Sie, Ogg bei -q7(variable Bitrate) zu verwenden 7), was normalerweise bei ~ 200 kbps liegt.

Sie können die -qOption an dir2ogg übergeben (in den Repos als @geirha erwähnt verfügbar), das tun soll, was Sie wollen.

ish
quelle
10

Sie können das Programm avconv a gpl verwenden. Ich habe eine Shell zum Beispiel erstellt (führen Sie sie in einem Ordner mit den MP3-Dateien aus):

#!/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

oder eine einfachere version ohne validierung der avconv installation:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
ademar111190
quelle
HINWEIS: Das avconv- Paket ist ein neuer Zweig von ffmpeg mit ähnlicher Syntax und ähnlichen Funktionen.
David6
HINWEIS 2: ffmpeg ist offiziell veraltet und erwähnt ausdrücklich, dass Sie avconvstattdessen verwenden sollten.
Asche999
3

Das Parsen / Ersetzen von mp3 durch ogg ist falsch. Die richtige Form sollte sein:

for file in *.mp3;

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

done
John Jacq
quelle
2

Hier ist einer, der mplayer verwendet. Ich denke, das ist schneller als avconv. Allerdings sollte Firefox MP3-Dateien nativ abspielen.

#!/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
quelle
1

Wenn Sie nur Audio machen, verwenden Sie den folgenden Code [sonst spielt FF die .ogg nicht ab]

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

Es gibt auch Soundkonverter . Es unterstützt sowohl GUI als auch CLI und kann Massenumwandlungen in beiden Modi durchführen.

Zakkak
quelle
0

Dies scheint Ihr Problem zu lösen. Http://www.perturb.org/display/entry/687/

Garry Cairns
quelle
Können Sie näher erläutern, was "es" ist? Es würde mehr Kontext zu Ihrer Antwort hinzufügen und die Benutzerfreundlichkeit verbessern, wenn der Link, auf den Sie verweisen, eines Tages verschwindet =)
SaultDon
Ich wollte tun, was Sie vorgeschlagen haben, sah dann aber die Antwort von Geirha, die viel besser zu sein scheint als meine, also habe ich sie positiv bewertet.
Garry Cairns