Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Good cross platform scriptable encoding solution for AAC/adts with VBR (Read 2536 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Good cross platform scriptable encoding solution for AAC/adts with VBR

I'm trying to set up 2 build scripts for encoding VBR AAC files from a list of source wavs. I've gotten ffmpeg running well for AMR and CBR AAC, but I'd really like to use VBR to get the file size down as some of these files will be transmitted over the air to mobile devices.

The constraints are that I have to come up with a solution that will work on both Linux and Windows environments, and it has to create an AAC using the adts container, due to byte-stitching of multiple files. neroAacEnc is out because it uses the mp4 container.

At any rate, I've tried ffmpeg, older versions (ca 2004-2007) include libFAAC which seems to have a "functional" VBR encoder, but I've noticed that these versions truncate the audio file, a 1/4 sec short or so.

The latest versions of ffmpeg with the opencore-amr implementation (as well as visual on) don't seem to support VBR. (The -aq flag effectively does nothing.)

A very simple example of this is here:
ffmpeg.exe -i infile.wav -aq 75 -vol 574 -ar 16000 outfile.wav

(I found that, at least with VBR, limiting the audio rate helps eliminate some of the digital distortion at lower quality levels.)

Thanks!