Конвертирование нескольких файлов с помощью 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" это плохо.