bulk / batch конвертировать mp3-файлы в ogg через командную строку?

41

Можно ли конвертировать mp3 в ogg через командную строку?

Я хотел бы просто навалом конвертировать мои mp3-файлы в ogg, чтобы я мог играть в Firefox без каких-либо проблем.

    
задан chrisjlee 07.06.2012 в 22:44
источник

9 ответов

34

Поиск пакетов, соответствующих ogg, я нашел dir2ogg , который, кажется, именно то, что вы хотите. Просто

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

И он рекурсивно находит и конвертирует все mp3-файлы под /path/to/mp3s/ в ogg (при условии, что я правильно прочитал руководство).

    
ответ дан geirha 07.06.2012 в 22:56
источник
27

Используйте комбинацию FFMPEG и String Manipulation .

Перейдите в папку, где расположены ваши mp3:

cd mp3folder

Один пример - использовать простой цикл for:

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

Двойные кавычки препятствуют пробелам в именах файлов, которые рассматриваются как «новые строки».

В ffmpeg есть несколько вариантов включения в конвертацию, как кодеки, битрейт, размер выборки, стерео / моно и т. д. Вышеупомянутое является наиболее общим преобразованием с настройками по умолчанию.

    
ответ дан SaultDon 07.06.2012 в 23:00
19

Будьте осторожны с преобразованиями из MP3, M4A и т. д. в OGG, потому что результат может звучать плохо!

Предупреждение . Как MP3, так и OGG являются форматами с потерями , в отличие от WAV или FLAC. Это означает, что они в значительной степени добиваются сжатия, отбрасывая биты аудиоинформации, которые незаметны для человеческого уха (называемого психоакустика [википедия] )

Когда вы кодируете (перекодируете) из одного формата с потерями в другой, большинство из этих психоакустически избыточных бит уже исчезли, поэтому качество транскодирования будет страдать и даже может быть «слышимым» в результате. Следовательно, не рекомендуется делать такие преобразования, если это абсолютно необходимо.

Сведите к минимуму эффект, если вы сделаете это, выбрав скорость передачи выше , чем бит

Если вы делаете это преобразование MP3-OGG, вы можете свести к минимуму вероятность появления артефактов (низкое качество) с использованием битрейта назначения выше , чем бит source , например, если ваши MP3-файлы имеют скорость 128 кбит / с, попробуйте использовать Ogg at -q7 (переменный уровень скорости передачи 7), который обычно составляет около 200 кбит / с.

Вы можете передать параметр -q в dir2ogg (доступный в репозиториях, как указано в @geirha), который должен делать то, что вы хотите.

    
ответ дан izx 07.06.2012 в 23:41
10

вы можете использовать avconv программу 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
    
ответ дан ademar111190 14.08.2013 в 09:11
2

Вот, используя 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
    
ответ дан mchid 12.10.2015 в 11:43
1

Если вы используете только аудио, используйте приведенный ниже код [else FF не воспроизводит .ogg]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done
    
ответ дан Arup Bhanja 26.04.2013 в 09:07
1

Разбор / замена mp3 с помощью ogg неверен. Правильная форма должна быть:

for file in *.mp3;

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

done
    
ответ дан John Jacq 18.11.2013 в 08:23
1

Существует также soundconverter . Он поддерживает как GUI, так и CLI и может выполнять массовые преобразования в обоих режимах.

    
ответ дан zakkak 31.05.2015 в 13:58
0

Похоже, что это может решить вашу проблему Ссылка

    
ответ дан Garry Cairns 07.06.2012 в 22:51