Selur's Little Message Board

Full Version: AAC cannot go below 32
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So as of recently i have been messing around with FFmpeg and i noticed with their AAC encoder can go below 32k, which really surprised me since i dont know that was possible. So i checked in hybrid to my surprise you cant, even though after turning on the FDK option, why?
Simple:
a. I had/have no documentaion that sais the encoder can go below that and I did not test, since I don't use such low bit rates.
b. show me some documentation with which settings the encoder supports lower bit rates and which and I can add support for it.
Importen parameters for aac encoders are:
a. lc-aac/he-aac/he-aacv2
b. encoding mode (abr/vbr/..)
c. sample rate

-> show me some documentation or do the tests and document them and I can add support for it.

For qaac I got:
Code:
LC 8000Hz Mono -- 8,12,16,20,24 LC 8000Hz Stereo (L R) -- 16,20,24,28,32,40,48 LC 8000Hz Quadrophonisch -- 32,40,48,56,64,72,80,96 LC 8000Hz 4.0 (C L R Cs) -- 32,40,48,56,64,72,80,96 LC 8000Hz 5.0 (C L R Ls Rs) -- 40,48,56,64,72,80,96,112 LC 8000Hz 5.1 (C L R Ls Rs LFE) -- 40,48,56,64,72,80,96,112 LC 8000Hz 6.0 (C L R Ls Rs Cs) -- 48,56,64,72,80,96,112,128,144 LC 8000Hz 6.1 (C L R Ls Rs Cs LFE) -- 48,56,64,72,80,96,112,128,144 LC 8000Hz 7.0 (C L R Ls Rs Rls Rrs) -- 56,64,72,80,96,112,128,144,160 LC 8000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 56,64,72,80,96,112,128,144,160 LC 8000Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 64,72,80,96,112,128,144,160,192 LC 11025Hz Mono -- 8,12,16,20,24,28,32 LC 11025Hz Stereo (L R) -- 16,20,24,28,32,40,48,56,64 LC 11025Hz Quadrophonisch -- 48,56,64,72,80,96,112,128 LC 11025Hz 4.0 (C L R Cs) -- 48,56,64,72,80,96,112,128 LC 11025Hz 5.0 (C L R Ls Rs) -- 64,72,80,96,112,128,144,160 LC 11025Hz 5.1 (C L R Ls Rs LFE) -- 64,72,80,96,112,128,144,160 LC 11025Hz 6.0 (C L R Ls Rs Cs) -- 72,80,96,112,128,144,160,192 LC 11025Hz 6.1 (C L R Ls Rs Cs LFE) -- 72,80,96,112,128,144,160,192 LC 11025Hz 7.0 (C L R Ls Rs Rls Rrs) -- 96,112,128,144,160,192,224 LC 11025Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 96,112,128,144,160,192,224 LC 11025Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 96,112,128,144,160,192,224,256 LC 12000Hz Mono -- 12,16,20,24,28,32 LC 12000Hz Stereo (L R) -- 24,28,32,40,48,56,64 LC 12000Hz Quadrophonisch -- 48,56,64,72,80,96,112,128 LC 12000Hz 4.0 (C L R Cs) -- 48,56,64,72,80,96,112,128 LC 12000Hz 5.0 (C L R Ls Rs) -- 64,72,80,96,112,128,144,160 LC 12000Hz 5.1 (C L R Ls Rs LFE) -- 64,72,80,96,112,128,144,160 LC 12000Hz 6.0 (C L R Ls Rs Cs) -- 72,80,96,112,128,144,160,192 LC 12000Hz 6.1 (C L R Ls Rs Cs LFE) -- 72,80,96,112,128,144,160,192 LC 12000Hz 7.0 (C L R Ls Rs Rls Rrs) -- 96,112,128,144,160,192,224 LC 12000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 96,112,128,144,160,192,224 LC 12000Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 96,112,128,144,160,192,224,256 LC 16000Hz Mono -- 12,16,20,24,28,32,40,48 LC 16000Hz Stereo (L R) -- 24,28,32,40,48,56,64,72,80,96 LC 16000Hz Quadrophonisch -- 48,56,64,72,80,96,112,128,144,160,192 LC 16000Hz 4.0 (C L R Cs) -- 48,56,64,72,80,96,112,128,144,160,192 LC 16000Hz 5.0 (C L R Ls Rs) -- 64,72,80,96,112,128,144,160,192,224 LC 16000Hz 5.1 (C L R Ls Rs LFE) -- 64,72,80,96,112,128,144,160,192,224 LC 16000Hz 6.0 (C L R Ls Rs Cs) -- 72,80,96,112,128,144,160,192,224,256,288 LC 16000Hz 6.1 (C L R Ls Rs Cs LFE) -- 72,80,96,112,128,144,160,192,224,256,288 LC 16000Hz 7.0 (C L R Ls Rs Rls Rrs) -- 96,112,128,144,160,192,224,256,288,320 LC 16000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 96,112,128,144,160,192,224,256,288,320 LC 16000Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 96,112,128,144,160,192,224,256,288,320,384 LC 22050Hz Mono -- 16,20,24,28,32,40,48,56,64 LC 22050Hz Stereo (L R) -- 32,40,48,56,64,72,80,96,112,128 LC 22050Hz Quadrophonisch -- 64,72,80,96,112,128,144,160,192,224,256 LC 22050Hz 4.0 (C L R Cs) -- 64,72,80,96,112,128,144,160,192,224,256 LC 22050Hz 5.0 (C L R Ls Rs) -- 80,96,112,128,144,160,192,224,256,288,320 LC 22050Hz 5.1 (C L R Ls Rs LFE) -- 80,96,112,128,144,160,192,224,256,288,320 LC 22050Hz 6.0 (C L R Ls Rs Cs) -- 96,112,128,144,160,192,224,256,288,320,384 LC 22050Hz 6.1 (C L R Ls Rs Cs LFE) -- 96,112,128,144,160,192,224,256,288,320,384 LC 22050Hz 7.0 (C L R Ls Rs Rls Rrs) -- 112,128,144,160,192,224,256,288,320,384,448 LC 22050Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 112,128,144,160,192,224,256,288,320,384,448 LC 22050Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 128,144,160,192,224,256,288,320,384,448,512 LC 24000Hz Mono -- 16,20,24,28,32,40,48,56,64 LC 24000Hz Stereo (L R) -- 32,40,48,56,64,72,80,96,112,128 LC 24000Hz Quadrophonisch -- 64,72,80,96,112,128,144,160,192,224,256 LC 24000Hz 4.0 (C L R Cs) -- 64,72,80,96,112,128,144,160,192,224,256 LC 24000Hz 5.0 (C L R Ls Rs) -- 80,96,112,128,144,160,192,224,256,288,320 LC 24000Hz 5.1 (C L R Ls Rs LFE) -- 80,96,112,128,144,160,192,224,256,288,320 LC 24000Hz 6.0 (C L R Ls Rs Cs) -- 96,112,128,144,160,192,224,256,288,320,384 LC 24000Hz 6.1 (C L R Ls Rs Cs LFE) -- 96,112,128,144,160,192,224,256,288,320,384 LC 24000Hz 7.0 (C L R Ls Rs Rls Rrs) -- 112,128,144,160,192,224,256,288,320,384,448 LC 24000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 112,128,144,160,192,224,256,288,320,384,448 LC 24000Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 128,144,160,192,224,256,288,320,384,448,512 LC 32000Hz Mono -- 24,28,32,40,48,56,64,72,80,96 LC 32000Hz Stereo (L R) -- 48,56,64,72,80,96,112,128,144,160,192 LC 32000Hz Quadrophonisch -- 96,112,128,144,160,192,224,256,288,320,384 LC 32000Hz 4.0 (C L R Cs) -- 96,112,128,144,160,192,224,256,288,320,384 LC 32000Hz 5.0 (C L R Ls Rs) -- 128,144,160,192,224,256,288,320,384,448 LC 32000Hz 5.1 (C L R Ls Rs LFE) -- 128,144,160,192,224,256,288,320,384,448 LC 32000Hz 6.0 (C L R Ls Rs Cs) -- 144,160,192,224,256,288,320,384,448,512,576 LC 32000Hz 6.1 (C L R Ls Rs Cs LFE) -- 144,160,192,224,256,288,320,384,448,512,576 LC 32000Hz 7.0 (C L R Ls Rs Rls Rrs) -- 192,224,256,288,320,384,448,512,576,640 LC 32000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 192,224,256,288,320,384,448,512,576,640 LC 32000Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 192,224,256,288,320,384,448,512,576,640,768 LC 44100Hz Mono -- 32,40,48,56,64,72,80,96,112,128,144,160,192,224,256 LC 44100Hz Stereo (L R) -- 64,72,80,96,112,128,144,160,192,224,256,288,320 LC 44100Hz Quadrophonisch -- 128,144,160,192,224,256,288,320,384,448,512,576,640 LC 44100Hz 4.0 (C L R Cs) -- 128,144,160,192,224,256,288,320,384,448,512,576,640 LC 44100Hz 5.0 (C L R Ls Rs) -- 160,192,224,256,288,320,384,448,512,576,640,768 LC 44100Hz 5.1 (C L R Ls Rs LFE) -- 160,192,224,256,288,320,384,448,512,576,640,768 LC 44100Hz 6.0 (C L R Ls Rs Cs) -- 192,224,256,288,320,384,448,512,576,640,768,960 LC 44100Hz 6.1 (C L R Ls Rs Cs LFE) -- 192,224,256,288,320,384,448,512,576,640,768,960 LC 44100Hz 7.0 (C L R Ls Rs Rls Rrs) -- 224,256,288,320,384,448,512,576,640,768,960 LC 44100Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 224,256,288,320,384,448,512,576,640,768,960 LC 44100Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 256,288,320,384,448,512,576,640,768,960,1280 LC 48000Hz Mono -- 32,40,48,56,64,72,80,96,112,128,144,160,192,224,256 LC 48000Hz Stereo (L R) -- 64,72,80,96,112,128,144,160,192,224,256,288,320 LC 48000Hz Quadrophonisch -- 128,144,160,192,224,256,288,320,384,448,512,576,640 LC 48000Hz 4.0 (C L R Cs) -- 128,144,160,192,224,256,288,320,384,448,512,576,640 LC 48000Hz 5.0 (C L R Ls Rs) -- 160,192,224,256,288,320,384,448,512,576,640,768 LC 48000Hz 5.1 (C L R Ls Rs LFE) -- 160,192,224,256,288,320,384,448,512,576,640,768 LC 48000Hz 6.0 (C L R Ls Rs Cs) -- 192,224,256,288,320,384,448,512,576,640,768,960 LC 48000Hz 6.1 (C L R Ls Rs Cs LFE) -- 192,224,256,288,320,384,448,512,576,640,768,960 LC 48000Hz 7.0 (C L R Ls Rs Rls Rrs) -- 224,256,288,320,384,448,512,576,640,768,960 LC 48000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 224,256,288,320,384,448,512,576,640,768,960 LC 48000Hz 8.0 (C L R Ls Rs Rls Rrs Cs) -- 256,288,320,384,448,512,576,640,768,960,1280 HE 32000Hz Mono -- 12,16,24,32,40 HE 32000Hz Stereo (L R) -- 24,32,40,48,56,64,80 HE 32000Hz Quadrophonisch -- 48,56,64,80,96,112,128,160 HE 32000Hz 5.1 (C L R Ls Rs LFE) -- 64,80,96,112,128,160,192 HE 32000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 96,112,128,160,192,224,256 HE 44100Hz Mono -- 16,24,32,40 HE 44100Hz Stereo (L R) -- 32,40,48,56,64,80 HE 44100Hz Quadrophonisch -- 64,80,96,112,128,160 HE 44100Hz 5.1 (C L R Ls Rs LFE) -- 80,96,112,128,160,192 HE 44100Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 112,128,160,192,224,256 HE 48000Hz Mono -- 16,24,32,40 HE 48000Hz Stereo (L R) -- 32,40,48,56,64,80 HE 48000Hz Quadrophonisch -- 64,80,96,112,128,160 HE 48000Hz 5.1 (C L R Ls Rs LFE) -- 80,96,112,128,160,192 HE 48000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 112,128,160,192,224,256 HE 88200Hz Mono -- 32,40,48,56,64,80,96,112,128,160 HE 88200Hz Stereo (L R) -- 64,80,96,112,128,160,192,224,256,320 HE 88200Hz Quadrophonisch -- 128,160,192,224,256,320,448,640 HE 88200Hz 5.1 (C L R Ls Rs LFE) -- 160,192,224,256,320,448,640 HE 88200Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 224,256,320,448,640,1120 HE 96000Hz Mono -- 32,40,48,56,64,80,96,112,128,160 HE 96000Hz Stereo (L R) -- 64,80,96,112,128,160,192,224,256,320 HE 96000Hz Quadrophonisch -- 128,160,192,224,256,320,448,640 HE 96000Hz 5.1 (C L R Ls Rs LFE) -- 160,192,224,256,320,448,640 HE 96000Hz 7.1 (C Lc Rc L R Ls Rs LFE) -- 224,256,320,448,640,1120


Cu Selur
(12.08.2021, 05:43)TheJ Wrote: [ -> ]So as of recently i have been messing around with FFmpeg and i noticed with their AAC encoder can go below 32k, which really surprised me since i dont know that was possible. So i checked in hybrid to my surprise you cant, even though after turning on the FDK option, why?

Because there is no point for a video re-encoder like Hybrid?

AAC starts sucking with lower bitrates so they invented AAC-HE(+/v1/v2) for DAB+ radios /car head units to limit data as much as possible. As can be seen in qaac's Shittime wrapper specs the <32k bitrates are only for reduced sample rates (designed for talkback radio mostly).

For extra ridiculousness: none of my 4 DAB+ radio/head units can playback AAC audio in a file.

The rest of the non-proprietary format world moved to using Opus.
(12.08.2021, 11:52)b0red Wrote: [ -> ]
(12.08.2021, 05:43)TheJ Wrote: [ -> ]So as of recently i have been messing around with FFmpeg and i noticed with their AAC encoder can go below 32k, which really surprised me since i dont know that was possible. So i checked in hybrid to my surprise you cant, even though after turning on the FDK option, why?

Because there is no point for a video re-encoder like Hybrid?

AAC starts sucking with lower bitrates so they invented AAC-HE(+/v1/v2) for DAB+ radios /car head units to limit data as much as possible. As can be seen in qaac's Shittime wrapper specs the <32k bitrates are only for reduced sample rates (designed for talkback radio mostly).

For extra ridiculousness: none of my 4 DAB+ radio/head units can playback AAC audio in a file.

The rest of the non-proprietary format world moved to using Opus.

"AAC starts sucking with lower bitrates"
which is exactly the point, to fit 8mb videos on Discord
(12.08.2021, 16:58)TheJ Wrote: [ -> ]
(12.08.2021, 11:52)b0red Wrote: [ -> ]The rest of the non-proprietary format world moved to using Opus.

"AAC starts sucking with lower bitrates"
which is exactly the point, to fit 8mb videos on Discord

Discord uses Opus as it's default audio codec (specifically a sub 64kbps subset from memory), ditto for WebM videos (which hybrid can also make). It performs better at low bitrates than AAC.
Not specifically sure if every version of discord plays videos the same but all the modern web browsers and OS's discord runs on have it either built-in or support it.
(12.08.2021, 19:43)b0red Wrote: [ -> ]
(12.08.2021, 16:58)TheJ Wrote: [ -> ]
(12.08.2021, 11:52)b0red Wrote: [ -> ]The rest of the non-proprietary format world moved to using Opus.

"AAC starts sucking with lower bitrates"
which is exactly the point, to fit 8mb videos on Discord

Discord uses Opus as it's default audio codec (specifically a sub 64kbps subset from memory), ditto for WebM videos (which hybrid can also make). It performs better at low bitrates than AAC.
Not specifically sure if every version of discord plays videos the same but all the modern web browsers and OS's discord runs on have it either built-in or support it.

Opus at very low bitrates sound extremely distorted, you can't even hear anything. AAC on the other hand sounds muffled but you can make out the sound of it