ffmpeg options: -acodec libfaac -ab 192k produce 150kbit files?
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?
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:
- How can I rebuild the faac package to get mp4/m4a support and higher bitrates? An askubuntu guide to rebuilding the faac debian package to allow higher bitrates.
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.