Changes between Version 50 and Version 51 of Encode/AAC
- Timestamp:
- Oct 4, 2016, 7:27:21 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Encode/AAC
v50 v51 3 3 [[http://en.wikipedia.org/wiki/Advanced_Audio_Coding|Advanced Audio Coding (AAC)]] is the successor format to MP3, and is defined in MPEG-4 part 3 (ISO/IEC 14496-3). It is often used within an MP4 container format; for music the .m4a extension is customarily used. The second-most common use is within MKV (Matroska) files because it has better support for embedded text-based soft subtitles than MP4. The examples in this guide will use the extensions MP4 and M4A. 4 4 5 FFmpeg can support t hree AAC-LC encoders (`aac`, `libfaac`, `libfdk_aac`) and one HE-AAC(v1/2) encoder (`libfdk_aac`). The licenses of `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 [[CompilationGuide|compiling ffmpeg]] yourself.5 FFmpeg can support two AAC-LC encoders (`aac` & `libfdk_aac`) and one HE-AAC(v1/2) encoder (`libfdk_aac`). The license of `libfdk_aac` is not compatible with the GPL, so the GPL does not permit distribution of binaries containing incompatible code when GPL-licensed code is also included. Therefore this encoder have been designated as "non-free", and you cannot download a pre-built ffmpeg that supports it. This can be resolved by [[CompilationGuide|compiling ffmpeg]] yourself. 6 6 7 7 See also [[Encode/HighQualityAudio]] for general guidelines on FFmpeg audio encoding (which also includes a comparison of which AAC encoder is best quality). … … 11 11 = libfdk_aac =#fdk_aac 12 12 13 The Fraunhofer FDK AAC codec library. This is currently the highest-quality AAC encoder available with ffmpeg. Requires ffmpeg to be configured with `--enable-libfdk-aac` (and additionally `--enable-nonfree` if you're also using `--enable-gpl`). But beware, it defaults to a low-pass filter of around 14kHz ([[http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Bandwidth|details]]). If you want to preserve higher frequencies, use `-cutoff 18000`. Adjust the number to the upper frequency limit you prefer,keeping in mind that a higher limit may audibly reduce the overall quality.13 The Fraunhofer FDK AAC codec library. This is currently the highest-quality AAC encoder available with ffmpeg. Requires ffmpeg to be configured with `--enable-libfdk-aac` (and additionally `--enable-nonfree` if you're also using `--enable-gpl`). But beware, it defaults to a low-pass filter of around 14kHz ([[http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Bandwidth|details]]). If you want to preserve higher frequencies, use `-cutoff 18000`. Adjust the number to the upper frequency limit only if you need to; keeping in mind that a higher limit may audibly reduce the overall quality. 14 14 15 15 Detailed information about the FDK AAC library (not FFmpeg specific) can be found at [http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC HydrogenAudio Knowledgebase: Fraunhofer FDK AAC]. … … 133 133 ---- 134 134 135 = Deprecated/removed encoders = 136 135 137 = libfaac = 136 138 137 Freeware Advanced Audio Coder. Requires ffmpeg configuration with `--enable-libfaac --enable-nonfree`. Note that you will not get as good results as with `libfdk_aac`. 138 139 == Variable Bit Rate (VBR) Example == 140 {{{ 141 ffmpeg -i input.wav -c:a libfaac -q:a 100 output.m4a 142 }}} 143 144 Range for `-q:a` is 10-500 and is similar to using the `-q` option in standalone `faac`. 100 is a good value to try. 145 146 == Average Bit Rate (ABR) Example == 147 {{{ 148 ffmpeg -i input.wav -c:a libfaac -b:a 192k output.m4a 149 }}} 150 151 `libfaac` does not support a true Constant Bit Rate (CBR) mode. 152 153 ---- 154 155 = Deprecated/removed encoders = 139 Freeware Advanced Audio Coder. [http://git.videolan.org/?p=ffmpeg.git;a=commit;h=dc0f711459e0c682bf9f94ba38d26736e90cff45 Support for this library has been removed]. 156 140 157 141 == libvo_aacenc == 158 142 159 143 !VisualOn AAC encoding library. [http://git.videolan.org/?p=ffmpeg.git;a=commit;h=e07e88cd82f78644ddcb10d7d3e0dd624fffe274 Support for this library has been removed]. Use the native FFmpeg encoder instead: it provides better quality and supports more than 2 channels. 160 161 ----162 144 163 145 == libaacplus == … … 199 181 == Which encoder provides the best quality? == 200 182 201 For AAC-LC the likely answer is: `libfdk_aac` > Native FFmpeg AAC encoder (`aac`) > `libfaac`.183 For AAC-LC: `libfdk_aac` > Native FFmpeg AAC encoder (`aac`). 202 184 203 185 For HE-AAC you have one choice: `libfdk_aac`.