6

When I use ffmpeg to convert an audiofile with the option

-acodec libfaac -ab 192k 

and use

ffmpeg -i 

on that file afterwards to get the audio file information, it tells me

bitrate: 152 kb/s

Why ist this? Do I miss something here? If I want to convert a file with a bitrate of 192kb it should give me 192 kbit after the conversion, shouldn't it?

Or: How do I get the 192 kbit rate then?

piedro
  • 1,602
  • I tried this with on my PC and got similar results.
    Here's my source file: http://teeks99.com/examples/audio_check.flac And my result file: http://teeks99.com/examples/audio_check_out.flac

    I've got a relatively recent version of ffmpeg (SVN-r26068, built with --enable-libfaac), but a somewhat older version of libfaac0 (1.26-0.1ubuntu2 maverick default).

    – teeks99 Jan 13 '11 at 19:26
  • Noone? So this seems to be a bug. Where do I have to report this as bug? (I couldn't find a bugtracker for ffmpeg aac support ...) – piedro Jan 23 '11 at 09:11
  • Rebuild solution now here: http://askubuntu.com/a/739687/57576 – andrew.46 Feb 27 '16 at 20:38

3 Answers3

2

There are now much better aac encoders for Linux such as NeroAacEnc or fdkaac but if you are still keen on using faac there is a patch that means faac can encode with a bitrate of 192k, and a great deal higher as well. Handbrake formerly used this patch and hosted it on their site but the developers have dropped faac support now, I now host the patch here:

http://www.andrews-corner.org/patches/A00-bitrates.patch

Patch Faac and then compile FFmpeg with --enable-libfaac and you can have high bitrate aac files with Faac. Here is a sample encode with the patched faac, encoding directly with faac:

andrew@skamandros~/media$ faac -b 192 -o test.m4a test.wav 
Freeware Advanced Audio Coder
FAAC 1.28

Average bitrate: 192 kbps
Quantization quality: 100
Bandwidth: 20872 Hz
Object type: Low Complexity(MPEG-4) + M/S
Container format: MPEG-4 File Format (MP4)
Encoding test.wav to test.m4a
   frame          | bitrate | elapsed/estim | play/CPU | ETA
11720/11720 (100%)|  192.0  |   21.7/21.7   |   12.52x | 0.0  

andrew@skamandros~/media$ 

And it works as well with FFmpeg. But there are definitely better aac encoders out now...

References:

andrew.46
  • 38,003
  • 27
  • 156
  • 232
2

I can't provide any further explanation, but several places (e.g. [1]) mention:

Note that the maximum average bit-rate (what -ab specifies in the context of libfaac) is 152 kbit/s. Setting this higher will be ignored and 152 kbit/s will be used.

  • THx for your hint, I wonder how the quality is compared to which mp3 compression. With itunes we always used 192 aac compression. seems a bit low to have 152k only ... but thanks for your answer! – piedro Aug 19 '11 at 13:33
0

For high and low bitrates you have to specify a different cutoff frequency. without cutoff frequency this example results in a max bitrate of 166kbit/s (+ 2kbit/s muxing overhead):

ffmpeg.exe -y -i input.ts -vn -c:a libfaac -ar 48k -b:a 210k out.mp4

size=     308kB time=00:00:15.01 bitrate= 168.0kbits/s

When I specify the cutoff frequency to half of the samplerate, I can go up to 210kbit/s

ffmpeg.exe -y -i input.ts -vn -c:a libfaac -ar 48k -b:a 210k -cutoff 24k out.mp4

size=     388kB time=00:00:15.01 bitrate= 211.7kbits/s

Likewise, the default will not go below 64.5kbit/s:

ffmpeg.exe -y -i input.ts -vn -c:a libfaac -ar 48k -b:a 20k out.mp4

size=     122kB time=00:00:15.01 bitrate=  66.4kbits/s

But if I set the cutoff frequency very low, I can get 20kbit/s:

ffmpeg.exe -y -i input.ts -vn -c:a libfaac -ar 48k -b:a 20k -cutoff 1k out.mp4

size=      40kB time=00:00:15.01 bitrate=  21.9kbits/s

In these examples I used a samplerate of 48kHz. When using a lower samplerate, the bitrate will/can also be lower.

wimh
  • 193