Відповіді:
Використовуйте комбінацію FFMPEG та String Manipulation .
Перейдіть у папку, де розміщені ваші mp3:
cd mp3folder
Одним із прикладів є використання простого циклу "for":
for file in *.mp3
do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done
Подвійні лапки не дають пробілам у файлах називатись «новими рядками».
ffmpeg має декілька варіантів включення в конверсію, як кодеки, бітрейт, розмір вибірки, стерео / моно і т. д. ... Наведене вище є найбільш загальним перетворенням із налаштуваннями за замовчуванням.
ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.ogg
налаштування найвищої якості, все ще помітно гірше оригіналу. Налаштування за замовчуванням для мене взагалі не працювали (на Cygwin, так що мене судимо :)), але це питання мало хорошу інформацію: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Попередження : і MP3, і OGG - це втратні формати, на відміну від WAV або FLAC. Це означає, що вони значною мірою досягають їх стиснення, викидаючи шматочки аудіоінформації, непомітної для людського вуха (так звана психоакустика [wikipedia] )
Коли ви кодуєте (перекодуєте) з одного формату втрати в інший, більшість цих психоакустично надлишкових бітів вже втрачені, тому якість перекодування буде страждати і навіть може бути "важкою" у результаті. Отже, не рекомендується робити такі перетворення, якщо це абсолютно не потрібно.
Якщо ви робите це перетворення MP3 в OGG, ви можете мінімізувати ймовірність виникнення артефактів (низької якості), використовуючи бітрейт вищого призначення, ніж бітрейт джерела , наприклад, якщо ваші MP3 у 128 кбіт / с, спробуйте використовувати Ogg на -q7
(змінний рівень бітрейта) 7), що зазвичай становить близько ~ 200 кбіт / с.
Ви можете передати -q
параметр dir2ogg (доступний у репості як згаданий @geirha), який повинен робити те, що ви хочете.
ви можете скористатися програмою avconv a gpl, я зробив оболонку для прикладу (запустіть її у папці з файлами .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
або більш просту версію, без перевірки встановлення avconv:
#!/bin/bash
for file in *.mp3
do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
ffmpeg
офіційно застаріла і прямо вказано, що ви повинні використовувати її avconv
замість.
Ось один з mplayer, я думаю, що це швидше, ніж avconv. Хоча, Firefox повинен відтворювати mp3-файли в оригіналі.
#!/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
Якщо ви робите лише аудіо, використовуйте наведений нижче код [інакше FF не відтворює .ogg]
for file in *.mp3;
do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}";
done
Є також звукоконвертер . Він підтримує і графічний інтерфейс, і CLI, і може виконувати об'ємні перетворення в обох режимах.
Схоже, це може вирішити вашу проблему http://www.perturb.org/display/entry/687/