Преобразование аудио файлов в mp3 с помощью ffmpeg
Мне нужно конвертировать аудиофайлы в mp3 с помощью ffmpeg.
Когда я пишу команду как ffmpeg -i audio.ogg -acodec mp3 newfile.mp3, я получаю ошибку:
FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration:
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
built on Jun 24 2010 14:56:20, gcc: 4.4.1
Input #0, mp3, from 'ZHRE.mp3':
Duration: 00:04:12.52, start: 0.000000, bitrate: 208 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
Output #0, mp3, to 'audio.mp3':
Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0
Я также выполнил эту команду:
ffmpeg -formats | grep mp3
И получил в ответ:
FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration:
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
built on Jun 24 2010 14:56:20, gcc: 4.4.1
DE mp3 MPEG audio layer 3
D A mp3 MP3 (MPEG audio layer 3)
D A mp3adu ADU (Application Data Unit) MP3 (MPEG audio layer 3)
D A mp3on4 MP3onMP4
text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra
Я думаю, что mp3-кодек не установлен. Неужели я здесь ? Кто-нибудь может мне помочь ?
9 ответов:
Очень полный список аргументов ffmpeg можно найти здесь:
Http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
Таким образом, вы можете использовать эту команду:
ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3Объяснение используемых аргументов в этом примере:
-i- входной файл
-vn- Отключите видео, чтобы убедиться, что видео не включено, если источником будет видеофайл
-ar- Установите частоту дискретизации звука. Для вывода потоки по умолчанию устанавливается частота соответствующего входного потока. Для входных потоков Этот параметр имеет смысл только для устройств захвата звука и необработанных демуксеров и сопоставляется с соответствующими параметрами демуксера.
-ac- Установите количество аудиоканалов. Для выходных потоков по умолчанию устанавливается количество входных аудиоканалов. Для входных потоков Этот параметр имеет смысл только для устройств захвата звука и необработанных демуксеров и сопоставляется с соответствующим параметры демультиплексора. Поэтому используется здесь, чтобы убедиться, что это стерео (2 канала)
-ab- на самом деле, кажется, был изменен, поэтому должен быть заменен для более новой версии ffmpeg на-b:a 192kПреобразует аудио битрейт, чтобы быть точным 192кбит в секунду
-f- принудительный ввод или вывод формата файла. Формат обычно автоматически определяется для входных файлов и угадывается по расширению файла для выходных файлов, поэтому в большинстве случаев эта опция не требуется.
1) wav в mp3
ffmpeg -i audio.wav -acodec libmp3lame audio.mp32) ogg в mp3
ffmpeg -i audio.ogg -acodec libmp3lame audio.mp33) ac3 в mp3
ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp34) aac в mp3
ffmpeg -i audio.aac -acodec libmp3lame audio.mp3Получить все форматы преобразования ffmpeg здесь.
Неважно,
Я конвертирую свои аудиофайлы в формат mp2 с помощью команды:
ffmpeg -i input.wav -f mp2 output.mp3Эта команда работает отлично.
Я знаю, что это фактически преобразует файлы в формат mp2, но тогда результирующие размеры файлов одинаковы..
Мне пришлось очистить мой ffmpeg, а затем установить другой из ppa:
sudo apt-get purge ffmpeg sudo apt-add-repository -y ppa:jon-severinsson/ffmpeg sudo apt-get update sudo apt-get install ffmpegЗатем преобразуем:
ffmpeg -i audio.ogg -f mp3 newfile.mp3
Для пакетной обработки файлов в папке:
for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; doneЭтот скрипт преобразует все файлы " wav " в папке в mp3 файлы и добавляет расширение mp3
Ffmpeg должен быть установлен. (См. другие ответы)
Для пакетной обработки файлов в папке с расширением 190 VBR и расширением файла=. mp3 вместо. ac3. mp3 можно использовать следующий код
Измените. ac3 на любой исходный аудиоформат.
for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done
Попробуйте Ffmpeg Static Build Link
Документация: https://www.johnvansickle.com/ffmpeg/
Разместите статическую сборку на вашем сервере в том же каталоге
$ffmpeg = dirname(__FILE__).'/ffmpeg'; $command = $ffmpeg.'ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3'; shell_exec($command);
Https://trac.ffmpeg.org/wiki/Encode/MP3
Кодировка VBR:
ffmpeg -vn -ar 44100 -ac 2 -q:a 1 -codec:a libmp3lame output.mp3
Если у вас есть папка и подпапка, полные wav, которые вы хотите конвертировать, поместите команду ниже в файл, сохраните его в a .файл bat в корне папки, в которую вы хотите преобразовать wan, а затем запустите файл bat
for /R %%g in (*.wav) do start /b /wait "" "C:\ffmpeg-4.0.1-win64-static\bin\ffmpeg" -threads 16 -i "%%g" -acodec libmp3lame "%%~dpng.mp3" && del "%%g"
Comments