Apple AAC: Difference between revisions

From Hydrogenaudio Knowledgebase
(TOC before clear)
Line 13: Line 13:
Options:
Options:
;-f --file <string>:File format. Several; use 'm4af' for '.m4a' file or 'adts' for raw '.aac' file.
;-f --file <string>:File format. Several; use 'm4af' for '.m4a' file or 'adts' for raw '.aac' file.
;-d --data <string>:Data format. Several; use 'aac'.
;-d --data <string>:Data format. Several; use 'aac' for AAC-LC. See [https://superuser.com/questions/678567/afconvert-difference-between-aac-formats-aac-aace-aacf-aach-aacl-a CoreAudioTypes.h] for explanation on what the variants mean.
;-s --strategy <0,1,2,3>:Bitrate allocation strategy. 0 for CBR, 1 for ABR, 2 for VBR_constrained, 3 for VBR
;-s --strategy <0,1,2,3>:Bitrate allocation strategy. 0 for CBR, 1 for ABR, 2 for VBR_constrained, 3 for VBR
;-b --bitrate <n>:Bitrate in bits per second. Does nothing when used with strategy 3.
;-b --bitrate <n>:Bitrate in bits per second. Does nothing when used with strategy 3.
;-ue vbrq <0-127>:Output quality for VBR mode. Only applicable when using strategy 3.
;-ue vbrq <0-127>:Output quality for VBR mode. Only applicable when using strategy 3.
;-q --quality <0-127>:Speed/quality trade-off. Internally rounded to a value of either 32, 64, or 96.
;-q --quality <0-127>:Speed/quality trade-off. Internally rounded to a value of either 32, 64, or 96.
afconvert has way more options than those listed above, but not all are useful for AAC. Run <code>afconvert --help</code> to see them all, or see [https://ss64.com/osx/afconvert.html SS64] for an unofficial list.


== QAAC ==
== QAAC ==

Revision as of 18:11, 21 April 2023

Current AAC encoders
(most to least recommended)
1 Apple AAC M/W
2 FhG AAC (Winamp) W
3 Fraunhofer FDK AAC S/L/M/W
4 Nero AAC L/W
5 FFmpeg 3.0+ AAC encoder S/L/M/W
6 FAAC S/L/M/W
7 Libav (pre-3.0 FFmpeg) AAC encoder S/L/M/W
S Source code available; L Linux; M macOS; W Windows
List of AAC encoders

Apple AAC is an AAC codec developed by Apple Inc. and included in Apple's audio framework, Core Audio. Core Audio is used in iTunes, Safari web browser, and other Apple products. Apple's AAC encoder is known to be one of the highest quality medium-bitrate CBR and VBR LC AAC encoders. The encoder started as part of the QuickTime media framework, but Apple has transitioned away from QuickTime, to AV Foundation and AudioToolbox.

The encoder does consistently well in Hydrogenaudio listening tests.


afconvert

Apple's macOS includes a command-line utility for transcoding audio files that employs this encoder when encoding to AAC.

Usage:

afconvert [options] <infile> <outfile>

Options:

-f --file <string>
File format. Several; use 'm4af' for '.m4a' file or 'adts' for raw '.aac' file.
-d --data <string>
Data format. Several; use 'aac' for AAC-LC. See CoreAudioTypes.h for explanation on what the variants mean.
-s --strategy <0,1,2,3>
Bitrate allocation strategy. 0 for CBR, 1 for ABR, 2 for VBR_constrained, 3 for VBR
-b --bitrate <n>
Bitrate in bits per second. Does nothing when used with strategy 3.
-ue vbrq <0-127>
Output quality for VBR mode. Only applicable when using strategy 3.
-q --quality <0-127>
Speed/quality trade-off. Internally rounded to a value of either 32, 64, or 96.

afconvert has way more options than those listed above, but not all are useful for AAC. Run afconvert --help to see them all, or see SS64 for an unofficial list.

QAAC

qaac

Developer(s) nu774
Release information
Initial release {{{released}}}
Stable release 2.79
Preview release
Compatibility
Operating system Windows
Additional information
Use Encoder
License Various
Website github/qaac

QAAC is an open-source wrapper for Core Audio's AAC and ALAC encoders that allow them to be used directly in applications that don't otherwise use Core Audio. It exists only for Windows.

Linux users should be able to use wine. The most fragile part apparently is getting AppleApplicationSupport to install.


ffmpeg

On macOS, ffmpeg 4.4 and above can use the aac_at codec to use Apple AAC via the new AudioToolbox.framework. In addition to AAC-LC, HE-AAC (v1/v2), AAC-LD, and AAC-ELD are available, the same selection of profiles as FDK AAC.

On Windows, ffmpeg's build process can be tricked into linking to an CoreAudioToolbox.dll commonly distributed alongside iTunes, using AudioToolboxWrapper.

External links