• Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: mrmerak, krivenchenko  
Форум » Кодирование аудио » Консольные кодеры » FDK AAC Encoder (Кодер от FhG)
FDK AAC Encoder
Audiophile
Группа: Администраторы
Сообщений: 1274
Статус: Оффлайн
Последняя версия FDK AAC и описание настроек

Анонс от FhG (en)
gleb2411
Группа: Проверенные
Сообщений: 5
Статус: Оффлайн
Audiophile,  По качеству в VBR, ~220 кбит уступает QAAC?
Стоит переходить?
Audiophile
Группа: Администраторы
Сообщений: 1274
Статус: Оффлайн
gleb2411, не стоит, пока что QAAC лидирует.
Rollinnn
Группа: Эксперты
Сообщений: 1461
Статус: Оффлайн
Уже версия 0.3 есть.

Ссылки "Сайт|История" почему-то ведут на qaac.
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg для Windows XP и процессоров без SSE2
Audiophile
Группа: Администраторы
Сообщений: 1274
Статус: Оффлайн
Rollinnn, обновил. Дык там собственно автобилд и историю выкладывают. Только для 0.3.0 что-то нет списка изменений.
Rollinnn
Группа: Эксперты
Сообщений: 1461
Статус: Оффлайн
Из изменений только то, что добавлена опция --moov-before-mdat - Place moov box before mdat box on m4a output.
Changelog-то, вот он - https://github.com/nu774/fdkaac/commits/master
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg для Windows XP и процессоров без SSE2
TMainStream
Группа: Эксперты
Сообщений: 316
Статус: Оффлайн
Цитата (Rollinnn)
Из изменений только то, что добавлена опция --moov-before-mdat - Place moov box before mdat box on m4a output.
Хреново :(
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Я сегодня заметил удивительную особенность FDK. Экспериментировал с кодированием в foobar с рекомендованными настройками для прозрачного звука  --silent -m 4 -w 19500 --ignorelength - -o %d на тестовом диске Digital Masters I 2010 г. (брал на руктрекере). Получил суммарный размер файлов 70.8 mb. Затем попробовал поиграть с параметром bandwith и посмотреть, будет ли улучшение звука и как это отразится на битрейте/размере. При --silent -m 4 -w 20000 --ignorelength - -o %d вполне ожидаемо получил увеличение до 78.2 mb. Но уже при --silent -m 4 -w 20500 --ignorelength - -o %d размер неожиданно упал аж до 65.1 mb, и при дальнейшем повышении частоты среза (до 21000 и т.д. ) рос, достигнув при 22050 82.9 mb. А вель это лишь немного больше, чем при -w 20000. Получается, что при частоте среза выше 20 kHz на -m 4 он переходит на другие алгоритмы? И действительно, по статусной строке внизу в foobar видно, что битрейт вроде бы плавает в несколько других пределах, чем при -w 19500, при этом качество звука субъективно вполне на уровне (но это еще надо проверять). Очень интересно... По спектрограммам верхи смотрел - ограничение работает именно на тех частотах, что указано, без обмана. Audiophile и другие старожилы, что думаете?
З.Ы, продолжительность диска 51:14, если надо посчитать средний битрейт. З.З.Ы.Навскидку, при -w 19500 около 195 kbs, при -w 20500 - около 175.
Сообщение отредактировал mpuzirew - Пятница, 13 Сентября 2013, 17:29
AlexIT
Группа: Эксперты
Сообщений: 62
Статус: Оффлайн
mpuzirew
Можно открыть исходники и посмотреть ;)

З.Ы. Всех причастных, с Днем Программиста! :)
Сообщение отредактировал AlexIT - Пятница, 13 Сентября 2013, 17:43
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата (AlexIT)
Можно открыть исходники и посмотреть ;)
Да, но я-то совсем не причастный, т.е. не программист :) Меня больше практическая сторона интересует - возможно, рекомендованные в статье вот здесь настройки (для -m 4) не являются оптимальными? Ведь в принципе, выходит, что можно получить более полную полосу пропускания практически без изменения размера, а то и уменьшив его? И что при этом с качеством, не совсем понятно... Просто непочатый край работы для тестера, этот FDK...
AlexIT
Группа: Эксперты
Сообщений: 62
Статус: Оффлайн
Пробежался глазами по исходникам, судя по всему при bitrate_на_канал/bandwidth<5 включается нечто под названием Intensity Stereo.
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата (AlexIT)
Intensity Stereo.
Это которое "громкостное стерео"? При нем, вроде, передача пространства страдает (фаза не учитывается), не стоит злоупотреблять, наверное, как думаете? Хотя нет, все логично - на очень высоких частотах фаза не так важна, как и на инфре... Просто каждая частотная полоса кодируется по своему, только и всего, надо полагать. Блин, одни непонятки, как лучше-то? :) Опять только на слух...
Сообщение отредактировал mpuzirew - Пятница, 13 Сентября 2013, 18:52
AlexIT
Группа: Эксперты
Сообщений: 62
Статус: Оффлайн
Сложно сказать, нужны тесты. Сами разработчики пишут, что -w лучше вообще не использовать
-----
The FDK AAC encoder usually does not use the full frequency range of the input signal, but restricts the bandwidth according to certain library-internal settings. They can be changed in the table "bandWidthTable" in the file bandwidth.cpp (if available), or via command-line argument "-w" (see chapter \ref CommandLineUsage).
However it is not recommended to change these settings, because they are based on numerious listening tests and careful tweaks to ensure the best overall encoding quality.
------
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата (AlexIT)
Сами разработчики пишут, что -w лучше вообще не использовать
Да я бы и не использовал, только вот по умолчанию, суда по спектру, при -m 4 частоты вообще до 14-ти или 15 kHz режутся, это ж никуда не годится. Так что, приходится -w использовать, как не крути. Эту bandWidthTable у них какие-то индусы составляли :)
Сообщение отредактировал mpuzirew - Пятница, 13 Сентября 2013, 19:02
AlexIT
Группа: Эксперты
Сообщений: 62
Статус: Оффлайн
Да, режет сильно. Сами таблицы для 44.1 и 48kHz:
Код

static const BANDWIDTH_TAB bandWidthTable_LD_44100[] = {
   { 8000,  2000,  2000},
   {24000,  2000,  2000},
   {32000,  4400,  5700},
   {40000,  7400,  8800},
   {48000,  9000,  10700},
   {56000,  11000, 12900},
   {64000,  14400, 15500},
   {80000,  16000, 16200},
   {96000,  16500, 16000},
   {128000, 16000, 16000},
   {360001, 16000, 16000}
};

static const BANDWIDTH_TAB bandWidthTable_LD_48000[] = {
   { 8000,  2000,  2000},
   {24000,  2000,  2000},
   {32000,  4400,  5700},
   {40000,  7400,  8800},
   {48000,  9000,  10700},
   {56000,  11000, 12800},
   {64000,  14300, 15400},
   {80000,  16000, 16200},
   {96000,  16500, 16000},
   {128000, 16000, 16000},
   {360001, 16000, 16000}
};

Но утверждают, что "based on numerious listening tests". Опровергнуть можно только этими же тестами ;)
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата (AlexIT)
Опровергнуть можно только этими же тестами ;)
Это точно :)
AlexIT
Группа: Эксперты
Сообщений: 62
Статус: Оффлайн
Недосмотрел, для VBR у них отдельная таблица:
Код
static const BANDWIDTH_TAB_VBR bandWidthTableVBR[]= {
    {AACENC_BR_MODE_CBR,        0,     0},
    {AACENC_BR_MODE_VBR_1,  13050, 13050},
    {AACENC_BR_MODE_VBR_2,  13050, 13050},
    {AACENC_BR_MODE_VBR_3,  14260, 14260},
    {AACENC_BR_MODE_VBR_4,  15500, 15500},
    {AACENC_BR_MODE_VBR_5,  48000, 48000},
    {AACENC_BR_MODE_SFR,        0,     0},
    {AACENC_BR_MODE_FF,         0,     0}

};


Получается, не режет верха только на VBR_5.
Сообщение отредактировал AlexIT - Пятница, 13 Сентября 2013, 19:13
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата (AlexIT)
Получается, не режет верха только на VBR_5.
Да, это я по спектрам сразу выяснил. А что до bandWidthTable и "based on numerious listening tests", так народ де-факто уже это опроверг, все используют -w на m 4. Я пробовал без него, звук вроде и ничего, да только как в вакууме. Совершенно не фонтан, только для магнитолы подойдет.
TMainStream
Группа: Эксперты
Сообщений: 316
Статус: Оффлайн
Цитата (AlexIT)
Да, режет сильно. Сами таблицы для 44.1 и 48kHz:
...интересно, а если изменить значения этих констант и перекомпилировать?...
AlexIT
Группа: Эксперты
Сообщений: 62
Статус: Оффлайн
Цитата (TMainStream)
..интересно, а если изменить значения этих констант и перекомпилировать?...

Можно, конечно. Только зачем? -w то же самое делает
TMainStream
Группа: Эксперты
Сообщений: 316
Статус: Оффлайн
кодек обновился - 0.5.1
lamia-w
Группа: Проверенные
Сообщений: 16
Статус: Оффлайн
Цитата TMainStream ()
кодек обновился - 0.5.1

кодек обновился - 0.6.2 (dkaac_autobuild.zip v. 5 - Oct 24, 2013)

Для fdkaac.exe время остановилось?
andrey29
Группа: Проверенные
Сообщений: 121
Статус: Оффлайн
Не доделанный серой енкодер с кучей артефактов. Не пойму вообще его смысл! Будто QAAC не поддерживается на андроиде...
Странное поведение что в VBR что в CBR режимах.
Битрейт не гибкий совсем при переменном, артефакты часто пролетают.
В постоянном не понятный по дефолту фильтр в районе 17 кГц. Бред короче..
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата andrey29 ()
Будто QAAC не поддерживается на андроиде
Представьте себе, не поддерживается. Вы где-то увидели версию QuickTime для Андроид? Поделитесь ссылочкой :) Воспроизведение - да, но разговор-то о кодерах, а не о декодерах.
Цитата andrey29 ()
Битрейт не гибкий совсем при переменном, артефакты часто пролетают.
Артефактов побольше, чем у QT, на то QT и лидер. Но на битрейтах, которые мало-мальски подходят для качественного воспроизведения, артефакты уже не будут заметны у обоих. А "куча артефактов" - это и вовсе явное преувеличение. Насчет негибкого битрейта тоже можно поспорить.
Вот пример среднего и максимального битрейта для QT http://i.imgur.com/Ezwu6aO.png
А вот для FDK http://i.imgur.com/3et3oGn.png
Как видите, разница в "вариативности" в данном случае даже в пользу FDK, и не думайте, что я специально подбирал такой трек, пример не единичен.
Цитата andrey29 ()
В постоянном не понятный по дефолту фильтр в районе 17 кГц.
Так собран exe-шник. Исходный код открыт, любые параметры можно менять. Например, в EZ AudioConverter, где используется собственная модификация FDK, фильтра в CBR-режиме на высоких битрейтах  нет.

Вывод: хоть QT и лидирует, но кодеры всякие нужны, кодеры всякие важны. В том, что появился, наконец, опенсорсный (а значит, свободный от юридических ограничений, кросс-платформенный и открытый для дальнейшей разработки) AAC-кодер хорошего качества, я лично ничего плохого не вижу :) Должно же было наконец что-то достойное прийти на смену устаревшему и давно не развивающемуся FAAC.
Сообщение отредактировал mpuzirew - Вторник, 02 Июня 2015, 23:34
andrey29
Группа: Проверенные
Сообщений: 121
Статус: Оффлайн
Цитата mpuzirew ()
Вы где-то увидели версию QuickTime для Андроид? Поделитесь ссылочкой :) Воспроизведение - да, но разговор-то о кодерах, а не о декодерах.

Я имел ввиду декодирование. А что, нельзя в фубаре кодировать а потом заливать в Андрюшу ? Или у вас вся коллекция лослиса находится на телефоне, а нет, ведь у всех она нахардах лежит, то есть в компе. Зачем нужен этот недоделанный фдк фраунгофер фор андроид не пойму, это просто маркетинговый ход. Забросил фраунгофер разработку аудио во всех направлениях, по продавал исходные коды, и другие смогли лучше сделать.
Ачто касательно вашего скрина о битрейте, это не очем не говорит. Настройте в фубар частоты обновления битрейта до значения 60 и сравните, кто из них более гибкий, победа будет за QT.
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата andrey29 ()
Я имел ввиду декодирование.
А я имел в виду кодирование, внезапно.
Цитата andrey29 ()
А что, нельзя в фубаре кодировать а потом заливать в Андрюшу ? Зачем нужен этот недоделанный фдк фраунгофер фор андроид не пойму
Можно "кодировать и заливать", почему нет. Но вопрос-то несколько шире и глубже. Звуковые дорожки к фильмам, предположим, Вы тоже в фубаре кодировать будете? Многие видеоконвертеры для сжатия звука в AAC до сих пор вынуждены использовать просто фиг знает что за мерзость (FAAC, libvo_aacenc, libav native aac) - именно по юридическим соображениям. А мы эти рипы качаем и смотрим, кое-кто даже на хорошей аппаратуре :) А теперь такие программы могут совершенно невозбранно использовать для звука открытый FDK-кодек, скажете - плохо? Случаи, когда делается демукс, аудиодорожка обрабатывается православным КвикТаймом, изображение жмется отдельно, и затем они снова сливаются, я не беру. На практике мало кто так тщательно делает рипы.
Это лишь один частный пример, показывающий, что наличие приличной открытой альтернативы проприетарщине - это хорошо и очень даже нужно. LAME тоже начинался сами знаете с чего - с открытого демонстрационного кода ISO. А вы говорите: "Не понимаю, и нафига кому-то нужен качественный открытый кодер?"
Цитата andrey29 ()
Ачто касательно вашего скрина о битрейте, это не очем не говорит. Настройте в фубар частоты обновления битрейта до значения 60 и сравните, кто из них более гибкий, победа будет за QT.
А я и не утверждал, что скрин о чем-то говорит. Я сказал: "можно поспорить". Пиковые значения, разумеется, не отражают всех колебаний битрейта. Но они косвенно свидетельствуют, что вариации есть, и не маленькие. Сомнительно, кстати, что по статусной строке Фубара можно взять и разглядеть что-то действительно репрезентативное про колебания битрейта (если, конечно, вы не в состоянии вести в уме точную статистику с пулеметной скоростью), но это и ни к чему. Какой кодер качественнее на сегодняшний день, и так известно.
Сообщение отредактировал mpuzirew - Среда, 03 Июня 2015, 04:23
andrey29
Группа: Проверенные
Сообщений: 121
Статус: Оффлайн
mpuzirew, А что вы так выгораживаете фдк? Зачем на адроиде кодировать музыку, это же бред. лося в лося это же апконверт. Ужас. Я не понимаю вас. Зачем юзать недоработанное, когда есть доработанное и превосходящее по качеству.
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата andrey29 ()
лося в лося это же апконверт
Вы о чем вообще, где я писал про лосси в лосси? Я писал про рипы, скажем, из bluray в mp4.
Цитата andrey29 ()
Зачем на адроиде кодировать музыку, это же бред
Бред не бред, а возможность быть должна, без этого операционка неполноценна. И почему именно музыку? Когда Вы снимаете видео на камеру Андроид-смартфона, каким кодером записывается звук, по Вашему? Да и дался Вам андроид, я не про него вообще... FDK for Android - это просто название.
Цитата andrey29 ()
Зачем юзать недоработанное,
Сегодня - "недоработанное", а завтра...
Цитата andrey29 ()
когда есть доработанное
См.выше. Сегодня есть, завтра нет - проприетарщина, ну что с нее взять  wink

Цитата andrey29 ()
А что вы так выгораживаете фдк?
По той же причине, по которой Вы на него нападаете - хочу и выгораживаю. А если серьезно - потому, что объективно он не заслуживает такой жесткой и безапелляционной критики, как в Вашем посте, вот и все.

Я не заставляю никого юзать FDK и сам не юзаю его для музыки. Но это нормальный кодер. И области применения у него уже сейчас есть.
Сообщение отредактировал mpuzirew - Среда, 03 Июня 2015, 13:30
andrey29
Группа: Проверенные
Сообщений: 121
Статус: Оффлайн
Цитата mpuzirew ()
Я писал про рипы, скажем, из bluray в mp4.
Вы не ошиблись разделом? Здесь аудио обсуждается а не рипы, и кстати AAC мало юзается в рипах раз уж на то пошло. AC3 и DTS в теме, AAC стараются избегать.
Цитата mpuzirew ()
Сегодня - "недоработанное", а завтра...
Ну ну, посмотрим.. Чтобы его не постигла судьба FAAC
Цитата mpuzirew ()
См.выше. Сегодня есть, завтра нет - проприетарщина, ну что с нее взять wink
Пираты есть пираты, обойти их сложно))
Цитата mpuzirew ()
По той же причине, по которой Вы на него нападаете - хочу и выгораживаю. А если серьезно - потому, что объективно он не заслуживает такой жесткой и безапелляционной критики, как в Вашем посте, вот и все.
Я не нападаю, я просто поражаюсь с проекта.
Цитата mpuzirew ()
Я не заставляю никого юзать FDK и сам не юзаю его для музыки. Но это нормальный кодер. И области применения у него уже сейчас есть.
А я не то что не заставляю а не не рекомендую его никому.

ЗЫ. Спорь не спорь, а кодер убогий, нужно чтобы кто нибудь сделал грамотный тест между AAC енкодерами, я просто не умею, но на слух слышно что с ним что то не так!
mpuzirew
Группа: Проверенные
Сообщений: 238
Статус: Оффлайн
Цитата andrey29 ()
ЗЫ. Спорь не спорь, а кодер убогий, нужно чтобы кто нибудь сделал грамотный тест между AAC енкодерами, я просто не умею, но на слух слышно что с ним что то не так!
По большому счету, у всех лосси свои недостатки, никакого абсолюта тут не существует, к сожалению... Вот меня, например, QT вроде всем устраивает. И звучит комфортно, и от оригинала отличить значительно труднее, чем прочие кодеры. Но нет-нет, да и замечаю за ним странное поведение в области верхов и верхней середины. На некоторых фонограммах противно так пришепетывает на женском вокале. Сравниваешь оригиналом или с другим кодером - пришепетывание тоже есть, и вроде точно такое же, но почему-то не так навязчиво, и в уши не бросается. И так со всеми кодерами - при длительном прослушивании замечешь за ними какие-нибудь "пунктики", которые могут ускользнуть от внимания в слепом тесте на незнакомой фонограмме. В общем, субъективно это все, да и от аппаратуры зависит. У кого-то другого ощущения другие могут быть, но свои "пунктики" и он найдет :). Поэтому самые ценные записи и храню в лосслесс. Был бы хард побольше - хранил бы все :)
Форум » Кодирование аудио » Консольные кодеры » FDK AAC Encoder (Кодер от FhG)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: