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.


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ę).


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.


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.


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

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

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

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


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.