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?
I can't provide any further explanation, but several places (e.g. [1]) mention:
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:
And it works as well with FFmpeg. But there are definitely better aac encoders out now...
References:
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):
When I specify the cutoff frequency to half of the samplerate, I can go up to 210kbit/s
Likewise, the default will not go below 64.5kbit/s:
But if I set the cutoff frequency very low, I can get 20kbit/s:
In these examples I used a samplerate of 48kHz. When using a lower samplerate, the bitrate will/can also be lower.