конвертирование нескольких файлов с помощью avconv … libmp3lame0 not found

У меня около 20 файлов .webm, которые я хотел бы преобразовать в аудио в терминале. я хочу делать

avconv -i *.webm -acodec libmp3lame0 -aq 4 *.mp3 

Я пытался:

 for i in *.webm; do avconv -i "${i}" -acodec libmp3lame0 -aq 4 "${i%.wemb}.mp3"; done 

но он говорит: «encoder libmp3lame0 не найден». Он установлен, однако. Я также установил ubuntu-limited-extras и переустановил libav-инструменты.

Я также пробовал

 for i in *.webm; do avconv -i "${i}" -acodec -aq 4 "${i%.wemb}.ogg"; done 

для удаления всего аспекта mp3 / LAME, но тогда он просто сказал: «.gg encoder не найден».

Это работало раньше, когда я пытался конвертировать с помощью libmp3lame0 без цикла for … но я просто попытался преобразовать один файл, и он больше не работает.

Благодарю. (Я использую 12.10.)

Кажется, вы используете неправильное имя кодека. Чтобы узнать, какие кодеки поддерживаются, выполните следующие действия:

 avconv -codecs 

в соответствии с этим именем кодека является libmp3lame (у вас есть дополнительный 0). Это, однако, в моей системе, поэтому ваши могут отличаться. Команда, которую я дал, позволит вам узнать.

Во многих дистрибутивах avconv по умолчанию не построен с помощью «–enable-libmp3lame». avconv должен быть скомпилирован с поддержкой MP3, чтобы использовать libmp3lame.

Мое рабочее решение состояло в том, чтобы загрузить libav из git repo и построить его самостоятельно. Это конфигурация командной строки configure, которую я использовал:

./configure –enable-libmp3lame –enable-nonfree –enable-gpl –enable-libx264

Вы можете проверить поддержку кодировки MP3 или не встроен в ваш avconv с помощью этой командной строки: avconv -codecs

Вы должны увидеть «E» во втором столбце функций для кодирования MP3:

ПО РУКАМ. mp3 MP3 (MPEG audio layer 3) (декодеры: mp3 mp3float) (кодеры: libmp3lame)

Если второй столбец «.» Кодирование MP3 не встроено в ваш avconv: «DEA.L.» хорошо, «DAL» плохо.