Конвертирование нескольких файлов с помощью avconv...libmp3lame0 не найдено

У меня есть около 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

но там написано "кодировщик libmp3lame0 не найден". Это установлено, хотя. Я также установил дополнительные компоненты ubuntu и переустановил libav-tools.

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

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

чтобы удалить весь аспект mp3/LAME, но потом просто сказал:.ogg encoder not found.

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

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

2 ответа

Решение

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

avconv -codecs

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

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

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

./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" это плохо.

Другие вопросы по тегам