ffmpeg transcoding audio to MPEG-4 HE AAC instead of AAC

The problem is your ffmpeg. If telling ffmpeg to use aac causes it to encode in he aac, if that is true, then there is something wrong with your ffmpeg, because specifying aac should never result in he aac. Only telling ffmpeg to encode using libaacplus or libfdk_aac should result in he aac encodes.


Here's an idea... build your own ffmpeg from source, because your binary was built wrong (if what you are saying is true).

You can download the ffmpeg source and build it manually:

  git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

But its far easier to install it using package management, like macports:

MacPorts requires an appropriate version of xcode; xcode_5.1.1.dmg is the most recent version for Mavericks (after registerring for a free developer account, and logging into developer.apple.com, that link will begin your xcode download). Once the download completes, open your Terminal.app and complete the installation:

 hdiutil attach -quiet -noverify -nobrowse -noautoopen ~/Downloads/xcode_5.1.1.dmg
 cp -npR /Volumes/Xcode/Xcode.app /Applications/
 hdiutil detach -quiet /Volumes/Xcode

Download and build macports:

MacPorts Guide

 curl -Ok https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
 tar xf MacPorts-2.2.1.tar.bz2
 cd MacPorts-2.2.1
 ./configure
 make
 sudo make install     # *not war!*
 cd ..
 rm -rf Macports-*
 sudo /opt/local/bin/port -v selfupdate
 diskutil quiet repairPermissions /

add macports to your $PATH:

 export PATH=/opt/local/bin:/opt/local/sbin:$PATH
 export MANPATH=/opt/local/share/man:$MANPATH

build your ffmpeg

 sudo port -vsc install ffmpeg

you can keep everything updated simply with:

 sudo port -vsc selfupdate
 sudo port -vsc upgrade installed

If you are unsatisfied and/or need to remove MacPorts:

 sudo port -dfp uninstall --follow-dependencies installed
 sudo port -dfp uninstall all
 sudo rm -rf /opt/local  
 sudo rm -rf /Library/Tcl/macports*

The AAC Encoding Guide ffmpeg wiki page for should help.

This superuser question may also help, How to use ffmpeg to downmix 5.1 DTS HD MA or Dolby TrueHD to stereo AAC with Dolby Pro Logic II?

The guide mentions multiple AAC encoding formats are supporting but they may require custom compiling to be present:

FFmpeg can support four AAC-LC encoders (aac, libfaac, libfdk_aac, libvo_aacenc) and two AAC-HE encoders (libaacplus and libfdk_aac). The licenses of libaacplus, libfaac, and libfdk_aac are not compatible with the GPL, so the GPL does not permit distribution of binaries containing code licensed under these licenses when GPL-licensed code is also included. Therefore these encoders have been designated as "non-free", and you cannot download a pre-built ffmpeg that supports them. This can be resolved by compiling ffmpeg yourself.

There are a few guides for building or getting more capable builds of ffmpeg onto your Mac, for example Install FFMPEG on a Mac. As mentioned in the article, I find brew the easiest way to install such tools.