На этот вопрос уже есть ответ здесь:
У меня около 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-limited-extras и переустановил libav-tools.
Я также попытался
for i in *.webm; do avconv -i "${i}" -acodec -aq 4 "${i%.wemb}.ogg"; done
удалить весь аспект mp3 / LAME, но тогда он просто сказал: «Кодировщик .ogg не найден.»
Это сработало однажды, когда я пытался преобразовать с использованием libmp3lame0 без цикла for. ..но я просто попытался преобразовать один файл, и он больше не работает.
Спасибо. (Я использую версию 12.10.)
Вы, кажется, используете неправильное имя кодека. Для наблюдения, какие кодеки поддерживаются сделайте:
avconv -codecs
согласно этому имя кодека является libmp3lame (у Вас есть дополнительный 0). Это находится в моей системе однако, настолько Ваша может отличаться. Команда, которую я дал, позволит Вам узнать.
Во многих дистрибутивах, avconv по умолчанию не создается с "-включают-libmp3lame". avconv должен быть скомпилирован с поддержкой MP3 для использования libmp3lame.
Мое рабочее решение состояло в том, чтобы загрузить libav от мерзавца repo и создать его самостоятельно. Это - строка команды настройки, которую я использовал:
./настраивать - включают-libmp3lame - включают - несвободный - включают-gpl - включают-libx264
Можно проверить, что поддержка кодирования MP3 или не встроена в avconv с этой командной строкой: avconv - кодеки
Необходимо видеть "E" во втором столбце функций кодирования MP3 для работы:
DEA.L. mp3 MP3 (уровень 3 аудио MPEG) (декодеры: mp3 mp3float) (кодеры: libmp3lame)
Если второй столбец является кодированием MP3, не встроен в Ваш avconv: "DEA.L". хорошо, "D.A.L" плох.