Changes between Version 59 and Version 60 of Encode/AAC
- Timestamp:
- Apr 21, 2023, 2:04:09 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Encode/AAC
v59 v60 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 supports t wo AAC-LC encoders (`aac` and `libfdk_aac`) and one HE-AAC (v1/2) encoder (`libfdk_aac`). The license of `libfdk_aac` is not compatible with 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.5 FFmpeg supports three AAC-LC encoders (`aac`, `libfdk_aac`, `aac_at`) and two HE-AAC (v1/2) encoder (`libfdk_aac`, `aac_at`). The license of `libfdk_aac` is not compatible with 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). … … 125 125 By default, the native encoder produces AAC-LC, which is a "low complexity" profile of baseline AAC. It actually supports the more powerful "main" and "long-term prediction" profiles ([[https://ffmpeg.org/ffmpeg-codecs.html#aac|documentation]]), but these are less tested. 126 126 127 The native encoder is actually two encoders in a trench-coat. When a build is configured with --enable-audiotoolbox, the libavcodec implementation is swapped out for Apple's audioToolbox.framework, normally available only on macOS. Apple's encoder is quite good in listening tests and has HE-AAC support, so that the same `-profile:a` flags work. You may have come across this implementation on other platforms as "QAAC" or "audioToolboxWrapper", but licensing issues for these modifications is too much for FFmpeg to deal with.128 129 127 === Examples === 130 128 … … 144 142 Native FFmpeg AAC Encoder does not do CBR audio encoding. 145 143 146 144 ---- 145 = AudioToolbox = 146 When a build is configured with --enable-audiotoolbox, Apple's audioToolbox.framework (normally available only on macOS) will provide a series of codecs suffixed `_at`. Apple's encoder is quite good in listening tests and has HE-AAC support, so that the same `-profile:a` flags from FDK work<!-- see audiotoolboxenc.c, ffat_get_format_id -->. You may have come across this implementation on other platforms as "QAAC" or "audioToolboxWrapper", but licensing issues for these modifications is too much for FFmpeg to deal with. 147 148 ---- 147 149 = Metadata = 148 150
