Битрейты потоков AAC и AAC+ не настраиваются

Aki

New member
Добрый день.

Вдруг обнаружил, что битрейты i-net вещания  в случае выбора кодеков AAC и AAC+ не устанавливаются пользователем и реально, похоже, всё кодируется одним единственным пресетом с выбором битрейта (по-видимому VBR, или ABR)  в районе 50 kbps. При этом AAC отличается от AAC+ только частотой семплирования - у AAC она 32 кГц, у AAC+ 44 кГц.
Ориентировочно это можно оценить по индикатору Bytes Sent  в разделе Broadcast Statistics.

Попытался найти пресеты для кодеков - нашёл единственный бинарный файл Encoder.prs, но в нём только пресеты MP3 и OGG (с ними, похоже, порядок в тех рамках, которые сейчас есть).

Поясните, что насчёт потоков AAC?

p.s. Вообще, выбор пресетов в данной реинкарнации программы как-то не очень... Выбирающий "зажат" узкими рамками. Вообще, попробую высказать пожелание:

а) пресетов хочется больше. Вещательные сервера прекрасно понимают всяческие форматы, так что в этом плане ограничений практически нет.

б) если пресетов не так много, хочется со своей стороны пользователя как-то влиять на их конкретные настройки, пусть даже путём прямого редактирования специального конфига (например, по типу .ini файла или чего-то подобного), а в особенности, добавлять новые...

в) при реализации .ini выбор пресета пользователем можно упростить до выбора конкретной строчки из выпадающего меню, где показывались бы характеристики пресета и непосредственно параметры вызова кодека (для контроля) -  в таком выпадающем меню можно разместить вагон и ещё чуть-чуть всяких пресетов...
 
Проверяю. Сервер Icecast 2.х, форматы AAC и AAC+, битрейт 160, 320 - как выставлено так и вещает судя по винампу (поток в нем воспроизводится). Единственное, после изменения формата нужно "перезапустить" вещание - в окне статистики нажать start/stop 2 раза. По статистике Bytes Sent - в принципе 320 кбит получается (это примерно 40 Кб/сек).

Насчет настроек, можно помимо (или вместо) битрейта ввести "quality" - это будет для форматов OGG и AAC/AAC+, но незнаю, если честно, насколько это нужно.

В файле Encoder.prs хранятся пресеты для встроенного конвертера файлов, для вещания он не используется. В последующих версиях этот файл будет исключен, и настройки кодека будут аналогичнв настройкам в разделе вещания.
 
Да, поток воспроизводится, сервер индицирует нужную скорость. Но та скорость, которую показывает сервер - это только флаг для пользователя, он её ни вычисляет, ни проверяет, а только показывает то, что отослал ему источник. Скорость реального потока можете оценить двумя способами:

а) сделайте два источника, один пусть будет MP3 - у него битрейт постоянный. Вторым потоком сделайте AAC. Запустите вещание. Откройте Broadcast Statistic. Обратите на пункт Bytes Send. У меня на потоке AAC он "бежит" многократно медленнее, чем на потоке MP3 320kbps

б) не доверяйте винампу - он иногда чушь показывает (пойман с поличным). Воспользуйтесь Foobar2000 в стандартной дефолтной поставке - он САМ производит замер скорости потока, получаемого с сервера и индицирует его внизу слева. Для потоков MP3 и OGG показания вполне адекватные. Для потока AAC при любых установках там индицируется ~50кбит/с

! Плеер AIMP также неверно отображает скорость - он её показывает на основе индикатора с сервера, что от реальности может быть очень далеко.

Вот картинка, поясняющая пункт 'a'. Все потоки запущены одновременно и проработали... ну не помню, сколько...
792188.gif
 
Да, видимо ошибка имеет место быть. На этой неделе будет исправлено.
 
Ошибка исправлена. Чтобы не ждать релиз, можете скопировать файл enc_aacplus.exe в папку \RadioBOSS\Plugins, архив с файлом прикреплен к сообщению.
 

Вложения

  • enc_aacPlus.zip
    42,4 КБ · Просмотры: 562
При переходе на версию 4.3.1.557 (с пропуском нескольких версий - уже привык, а самое главное, наизусть выучил расположение граблей :) обнаружил изменения в кодеке AAC+, а именно: частота семплирования в потоке стала 48 кГц (с одной стороны - хорошо, с другой - плохо, потому что без спросу, и качество ресемплера неизвестно. Антиалиясный-фильтр у него хотя бы есть?). И главная непонятка - не выставляются битрейты выше 128к, они формально присутствуют, но поток при их установке остаётся 128к. В нижнюю сторону вроде ok.
 
Частота семплирования соответствует частоте микширования (Настройка-Воспроизведение), которая по умолчанию 48К. Anti-aliasing фильтр есть. Можно добавить настройку для фильтра, вроде "медленнее/лучше", "быстрее/хуже", но думаю, в этом пока нет необходимости.
Выставлять битрейты выше 128К не позволяет сам кодек, тут уже ничего не поделать. Нижний предел тоже вроде какой-то есть.
 
Да, правда - мне стоило получше изучить изменения, но теперь про частоты понятно, спасибо. Но вот с настройками кодеков вопрос остаётся. Ограничение 128к у AAC вроде не является ограничением стандарта?
 
Я так понимаю, ресь идет не о AAC, а об AAC+? При выбре AAC+ используется профиль HE-AAC, и там есть ограничение, но помню, в самом стандарте, или в используемом кодеке. Да и смысла в HE-AAC более чем 128кб в общем-то нет, т.к. 64кбит HE-AAC примерно соответствует MP3 128кбит. А качества 128кб AAC должно хватить всем :)
 
Да, конечно AAC+   простой AAC вопросов не вызвал. Но зато сейчас возник вопрос: а значит оно раньше неправильно работало? (конкретно в форматы потоков не анализировал).

Попутный вопрос: для потоков AAC и AAC+ используется один и тот же кодер с разными пресетами, либо это разные кодеры? (для потока AAC+ наблюдаю, если это можно так назвать, пресет "SBR", для потока AAC пресет "LC")
 
Да, раньше работало очень неправильно. Encoder используется один для этих двух форматов.  Для обычного AAC используется профиль LC-AAC, для AAC+ - HE-AAC в контейнере MPEG4. SBR это второе название для HE-AAC (насколько мне известно).
 
Назад
Верх