Ubuntu – ffmpeg options: -acodec libfaac -ab 192k produce 150kbit files

ffmpeg

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?

Best Answer

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: