2015-07-30 10 views
1

Я работаю над коммерческим приложением C \ C++ в Windows, которое необходимо декодировать AAC. Я посмотрел на этот вопрос AAC Codec Library (libFAAC alternative) Из ответа, кажется, что FFmpeg имеет собственный LGPL AAC-декодер. Однако, когда я смотрел домашнюю страницу FFmpeg, я не нашел информации об этом декодере или о том, какой тип объекта AAC поддерживает (только информация о кодере). Я искал это в течение 2 дней, но почти ничего не нашел. Итак, мои вопросы:FFmpeg native AAC-декодер

  1. Какой тип объекта поддерживает встроенный декодер FFmpeg AAC или он существует?
  2. Если вышеуказанный декодер не существует, есть ли альтернативная бесплатная библиотека? Я также посмотрел на FDK AAC, но я не понимаю его лицензии, могу ли я использовать его для коммерческого продукта?

Пожалуйста, помогите, я новичок в аудио кодеке.

+0

«aac packets» Я полагаю :) – rogerdpack

ответ

2

Какой тип объекта имеет встроенная поддержка декодера FFmpeg AAC или , существует ли он вообще?

Я понятия не имею, что это значит. Я не думаю, что это правильный английский.

Я собираюсь предположить, что ваш вопрос: включает ли FFmpeg собственный декодер LGPLv2.1 AAC, и если да, то какие функции битового потока он поддерживает? Ответ на первый вопрос - да. Он находится в базе кода here. Поддерживаемые функции перечислены here (хотя этот список, скорее всего, несколько устарел). Если у вас есть более конкретные вопросы о поддерживаемых функциях битового потока, спросите здесь, и я увижу, что я помню.

+0

Благодарим вас за ответ. На вопрос, извините, английский не мой родной язык, писать вопрос немного сложно. Я имею в виду список поддерживаемых типов аудио-объектов (MPEG-2 и MPEG-4 AAC LC и т. Д.). FDK AAC-декодер имеет такой список в wiki https://en.wikipedia.org/wiki/Fraunhofer_FDK_AAC. Я не очень разбираюсь в аудио кодеках, означает ли это, что каждый тип аудиообъекта имеет разные функции битового потока, а для декодирования я должен установить правильное значение. Должен ли я глубоко разбираться в спецификации AAC, чтобы понять это? –

+0

Я уверен, что вы ищете http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/aacdec_template.c;h=2f270bcb191a4a490d9ad98ac7aad5ce7db851b5;hb=HEAD#l43 - вам не нужно ничего устанавливать, просто extradata в AVCodecContext, который является атомом ESDS в файле m4a. Если вы используете демультиплекс ffmpeg, все это автоматически. Короче говоря, декодер AAC ffmpeg поддерживает все популярные/широко распространенные функции, используемые в дикой природе (heaacv1, heaacv2, aac + и т. Д.). –

+0

Есть ли для этого официальный документ? Мой клиент настаивает на том, чтобы узнать список поддержки. Я был бы благодарен, если бы вы могли дать мне несколько инструкций, чтобы узнать это. –