Преобразование аудио файлов в 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 65

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 Преобразует аудио битрейт, чтобы быть точным 192kbit в секунду

  • -f - принудительный формат входного или выходного файла. Формат обычно определяется автоматически для входные файлы угадываются и из расширения файла для выходных файлов, поэтому эта опция в большинстве случаев не нужна.

1) wav в mp3

ffmpeg -i audio.wav -acodec libmp3lame audio.mp3

2) ogg в mp3

ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3

3) ac3 в mp3

ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3

4) 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 на любой исходный аудиоформат.

настройки ffmpeg mp3

for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done

Попробуйте Статическую Сборку FFmpeg ссылке

документация: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"