Перетворення аудіо в 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?

Дякую


Відповіді:


10

AAC-LC є типовим для всіх кодерів AAC, які підтримуються ffmpeg.

Приклад:

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

Докладніше та приклади див. У FFmpeg Wiki: Посібник з кодування AAC .


Класно, я не знав про кодер Fraunhofer. Я здогадуюсь, тест робився на наднизьких бітреях, які я ніколи не використовую, але гарна інформація!
Луї Ваверу

2

Для повторного кодування будь-якого формату до AAC-LC у контейнері ADTS (.aac-файл), використовуючи вбудований AAC-кодер FFmpegs (другий найкращий після невільного Fraunhofer's libfdk_aac відповідно до 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
Так, але на це заплановано більше роботи. Також дивіться нативний кодер FFmpeg AAC тепер стабільний!
логіан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.