Преобразование аудио в AAC с использованием ffmpeg

10

У меня есть следующие настройки для ffmpeg

ffmpeg version N-54790-g1816f55-syslint Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 17 2013 21:34:32 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
  configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint
  libavutil      52. 40.100 / 52. 40.100
  libavcodec     55. 18.102 / 55. 18.102
  libavformat    55. 12.102 / 55. 12.102
  libavdevice    55.  3.100 / 55.  3.100
  libavfilter     3. 81.101 /  3. 81.101
  libswscale      2.  4.100 /  2.  4.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100

Я пытаюсь использовать ffmpeg для конвертации файлов m4a или mp3 в

AAC, Low Complexity Profile (LC)

Действительно трудно найти командную строку, которая работает для меня, возможно ли это даже с моей настройкой ffmpeg?

Спасибо

user1503606
источник
Возможный дубликат ffmpeg: 1 изображение + 1 аудиофайл = 1 видео
user1503606

Ответы:

10

AAC-LC является значением по умолчанию для всех кодеров AAC, поддерживаемых ffmpeg.

Пример:

ffmpeg -i input -codec:a aac output.m4a

См. FFmpeg Wiki: Руководство по кодированию AAC для более подробной информации и примеров.

llogan
источник
Круто, я не знал о кодировщике Фраунгофера. Я предполагаю, что тест был сделан на супернизких битрейтах, которые я никогда не буду использовать, но хорошая информация!
Луи Ваверу
2

Перекодировать любой формат в AAC-LC в контейнере ADTS (файл .aac), используя собственный кодировщик AAC FFmpegs (второй лучший после несвободного libfdk_aac Fraunhofer согласно https://trac.ffmpeg.org/wiki/Encode/AAC - не поддерживает HE-AAC, хотя), вам также нужно указать -strict experimental(или -strict -2):

ffmpeg -i input.mp3 -strict experimental -c:a aac -b:a 128k output.aac

При конвертации в .aac из источника в m4a / mp4 вам даже не нужно перекодировать:

ffmpeg -i input.m4a -c:a copy output.aac

Примечание : FFmpeg пытается угадать выходной формат по имени выходного файла. Если вам нужно форсировать формат для ADTS (файл .aac), используйте -f adts(например, при работе с потоковыми каналами вместо файлов):

cat input.wav | ffmpeg -i pipe:0 -c:a aac -c:b 128k -f adts pipe:1 ­> output.aac
Бигу Ник
источник
1
Вам не нужно, -strict experimentalесли вы не используете старый ffmpeg.
Илоган
@LordNeckbeard Спасибо за обновление! Это означало бы, что родной кодировщик достиг удовлетворительного уровня зрелости ...
Bigue Nique
2
Да, но для этого запланировано больше работ. См. Также. Кодер AF FFmpeg теперь стабилен!
Llogan