hurtowo / wsadowo konwertować pliki mp3 do ogg za pomocą wiersza poleceń?

44

czy można przekonwertować mp3 na ogg za pomocą wiersza poleceń?

Chciałbym tylko masowo skonwertować moje pliki mp3 na ogg, aby móc je odtwarzać w Firefox bez żadnych problemów.

chrisjlee
źródło
Firefox powinien dobrze odtwarzać pliki mp3
mchid

Odpowiedzi:

37

Szukając pakietów pasujących do ogg, znalazłem dir2ogg, który wydaje się być dokładnie tym, czego chcesz. Właśnie

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

I rekurencyjnie znajduje i konwertuje wszystkie pliki mp3 /path/to/mp3s/do formatu ogg (zakładając, że poprawnie przeczytałem instrukcję).

geirha
źródło
30

Użyj kombinacji FFMPEG i manipulacji ciągiem .

Przejdź do folderu, w którym znajdują się pliki mp3:

cd mp3folder

Jednym z przykładów jest użycie prostej pętli „for”:

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

Podwójne cudzysłowy zapobiegają traktowaniu spacji w nazwach plików jako „znaki nowej linii”.

ffmpeg ma kilka opcji do włączenia w konwersję, takich jak kodeki, szybkość transmisji, wielkość próbki, stereo / mono itp. Powyższe jest najbardziej ogólną konwersją z ustawieniami domyślnymi.

SaultDon
źródło
Doskonały. dir2ogg nie działał na wheezy, ale ta odpowiedź działała jak urok
Onimusha,
dir2ogg też dla mnie nie działał, ale konwertowałem m4a -> ogg. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a>, ale zrobiła to powyższa pętla for (zamieniając ffmpeg na avconv). Podczas konwersji m4a / mp3 na ogg z powyższym procesem, rozmiar pliku wzrasta 9-krotnie. Jeśli jednak najpierw przekonwertujesz m4a na mp3, a następnie mp3 na ogg, rozmiar pliku będzie tylko 4x większy. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 „wait avconv -i” ManjusriMantra.mp3 ”„ ManjusriMantra.ogg ”<code> <pre>
afc888ny
to działało dla mnie: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggustawienie najwyższej jakości, wciąż zauważalnie gorsze niż oryginalne. Domyślne ustawienia w ogóle mi nie działały (w Cygwin, więc pozwij mnie :)), ale to pytanie miało dobre informacje: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver
19

Zachowaj ostrożność przy konwersji plików MP3, M4A itp. Na OGG, ponieważ wynik może brzmieć kiepsko!

Ostrzeżenie : Zarówno MP3, jak i OGG są formatami stratnymi , w przeciwieństwie do WAV lub FLAC. Oznacza to, że osiągają kompresję w dużej mierze poprzez wyrzucanie fragmentów informacji audio, które są niewidoczne dla ludzkiego ucha (zwane psychoakustyka [wikipedia] )

Kiedy kodujesz (transkodujesz) z jednego stratnego formatu na inny, większość z tych psychoakustycznie nadmiarowych bitów już nie ma, więc jakość transkodowania ucierpi i może nawet być „słyszalna” w wyniku. Dlatego nie zaleca się wykonywania takich konwersji, chyba że jest to absolutnie konieczne.


Zminimalizować efekt jeśli to zrobisz, wybierając wyższy docelowy bitrate niż źródłowego przepływności

Jeśli wykonasz tę konwersję MP3 do OGG, możesz zminimalizować ryzyko wystąpienia artefaktów (słaba jakość), używając wyższej docelowej przepływności niż źródłowa , np. Jeśli pliki MP3 mają prędkość 128 kb / s, spróbuj użyć Ogg przy -q7(zmiennym poziomie przepływności) 7), co zwykle wynosi około ~ 200 kb / s.

Możesz przekazać -qopcję do dir2ogg (dostępnego w repozytoriach, jak wspomniano @geirha), który powinien zrobić, co chcesz.

ish
źródło
10

możesz użyć programu avconv a gpl, zrobiłem powłokę dla przykładu (uruchom ją na folderze z plikami .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

lub prostsza wersja, bez sprawdzania poprawności instalacji avconv:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
ademar111190
źródło
UWAGA: avconv pakiet jest ostatnim oddział / widelec z ffmpeg , o podobnej składni i funkcji.
david6
UWAGA 2: ffmpeg jest oficjalnie przestarzała i wyraźnie wspomina, że ​​należy jej użyć avconv.
ashes999
3

Analiza / zamiana mp3 na ogg jest nieprawidłowa. Prawidłowa forma powinna być:

for file in *.mp3;

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

done
John Jacq
źródło
2

Oto jeden z mplayera. Myślę, że jest szybszy niż avconv. Chociaż Firefox powinien odtwarzać pliki mp3 natywnie.

#!/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
źródło
1

Jeśli robisz tylko dźwięk, użyj poniższego kodu [inaczej FF nie odtwarza .ogg]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done
Arup Bhanja
źródło
1

Istnieje również konwerter dźwięku . Obsługuje zarówno GUI, jak i CLI i może przeprowadzać transformacje zbiorcze w obu trybach.

zakkak
źródło
0

Wygląda na to, że może rozwiązać Twój problem http://www.perturb.org/display/entry/687/

Garry Cairns
źródło
Czy możesz wyjaśnić, czym jest „to”?
Dodałby
Miałem zrobić tak, jak sugerujesz, ale potem zobaczyłem odpowiedź Geirhy, która wydaje się o wiele lepsza niż moja, więc głosowałem za nią.
Garry Cairns,