FAAC (Freeware Advanced Audio Coder) is a software project which includes the AAC encoder FAAC and decoder FAAD2. It supports MPEG-2 AAC as well as MPEG-4 AAC. It supports several MPEG-4 Audio object types (LC, Main, LTP for encoding and SBR, PS, ER, LD for decoding), file formats (ADTS AAC, raw AAC, MP4), multichannel and gapless encoding/decoding and MP4 metadata tags. The encoder and decoder is compatible with standard-compliant audio applications using one or more of these object types and facilities.[1] It also supports Digital Radio Mondiale.[2]
Original author(s) | Menno Bakker and others |
---|---|
Initial release | October 9, 2001 |
Stable release | 1.30
/ April 28, 2020 |
Repository | |
Written in | C |
Platform | Cross-platform |
Available in | English |
Type | Encoder |
License | LGPL 2.1 |
Website | sourceforge |
Original author(s) | Menno Bakker, Nero AG and others |
---|---|
Initial release | 2000 (FAAD1) |
Stable release | 2.10.0
/ October 20, 2020 |
Repository | github |
Written in | C |
Operating system | Cross-platform |
Available in | English |
Type | Decoder |
License | GNU General Public License version 2 or later |
Website | sourceforge |
FAAC and FAAD2, being distributed in C source code form, can be compiled on various platforms and are distributed free of charge. FAAD2 is free software. FAAC contains some code which is published as Free Software, but as a whole it is only distributed under a proprietary license.
FAAC was originally written by Menno Bakker.[3]
FAAC encoder
editFAAC stands for Freeware Advanced Audio Coder.[4] The FAAC encoder is an audio compression computer program that creates AAC (MPEG-2 AAC/MPEG-4 AAC[5]) sound files from other formats (usually, CD-DA audio files). It contains a library (libfaac) that can be used by other programs.[6] AAC files are commonly used in computer programs and portable music players, being Apple Inc.'s recommended format for the company's iPod music player.
Some of the features that FAAC has are: cross-platform support, "reasonably" fast encoding, support for more than one "object type" of the AAC format, multi-channel encoding, and support for Digital Radio Mondiale streams. It also supports multi-channel streams, like 5.1.[7] The MPEG-4 object types of the AAC format supported by FAAC are the "Low Complexity" (LC), "Main", and "Long Term Prediction" (LTP).[2] The MPEG-2 AAC profiles supported by FAAC are LC and Main.[8] The SBR and PS object types are not supported, so the HE-AAC and HE-AACv2 profiles are also not supported. The object type "Low Complexity" is the default and also happens to be used in videos meant to be playable for portable players (like Apple's iPod) and used by video-hosting sites (like YouTube).
FAAC has been evaluated as a somewhat "lower quality" option than other aac encoders.[9]
Alternatives for AAC encoding in Unix-like operating systems
editFAAC is one of six alternatives that Linux/Unix users have for creating AAC files. The others are:
- The Fraunhofer-developed "FDK AAC" encoder library included as part of Android. The FDK AAC source code is licensed under a custom-copyleft license,[10] and has been ported to other platforms as libfdk-aac. The library is built around fixed-point math and supports only 16-bit PCM input.[11]
- The Nero AG-developed "Nero AAC Codec", which has a proprietary license,[12] and is not available for the entire range of hardware architectures that these operating systems are able to run. Nero no longer develops this encoder, but the package is still available, and it remains a high-quality option for AAC encoding.[13]
- The libavcodec native AAC encoder (separate versions maintained by FFmpeg and Libav) was experimental but considered "better than vo-aacenc" in at least some tests.[14][15][16][17] It was written by Konstantin Shishkov, and released under version 2.1 of the LGPL. The AAC encoder used in FFmpeg's version of libavcodec was significantly improved for version 3.0 of FFmpeg and is no longer considered experimental.[18] Libav has not merged this work.
- libvo_aacenc, the Android VisualOn AAC encoder.[19] This encoder was replaced in Android by the FDK AAC encoder mentioned above, and is considered a poor-quality option.
- The (nonfree) libaacplus[20] which implements the High-Efficiency Advanced Audio Coding.
- Mac OS X users can utilize Apple's AAC encoder with the command-line afconvert tool.
FAAD2 decoder
editFAAD2 is Freeware Advanced Audio (AAC) Decoder including SBR decoding.[21] It is MPEG-2 and MPEG-4 AAC decoder and supports MPEG-4 audio object types LC, Main, LTP, LD, ER, SBR and PS, which can be combined also to HE-AAC and HE-AACv2 Profile (AAC LC SBR PS).[22][23] It contains a library (libfaad) that can be used by other programs.
FAAD and FAAD2 were originally written by Menno Bakker from Nero AG.[21][24] FAAD2 is the successor to FAAD1, which was deprecated.
FAAD is Freeware Advanced Audio Decoder. It was first released in 2000 and it did not support SBR and PS audio object types.[22][24][25] The last version of FAAD1 was 2002-01-04. All development later focused in FAAD2.[26] The SBR decoding support (HE-AAC) was added in the version release on 25 July 2003. FAAD2 version 2.0 was released on 6 February 2004.[21][27]
Licensing
editFAAC contains code based on the ISO MPEG-4 reference code, whose license is not compatible with the LGPL license.[2] Only the FAAC changes to this ISO MPEG-4 reference code are licensed under the LGPL license.[2] The ISO MPEG-4 reference software was published as ISO/IEC 14496-5 (MPEG-4 Part 5: Reference software) and it is freely available for download from ISO website.[28][29] ISO/IEC gives users of the MPEG-2 NBC/MPEG-4 Audio standards free license to this software module or modifications thereof for use in hardware or software products claiming conformance to the MPEG-2 NBC/MPEG-4 Audio standards. Those intending to use this software module in hardware or software products are advised that this use may infringe existing patents.[3][30][31]
FAAD2 is licensed under the GPL v2 (and later GPL versions). Code from FAAD2 is copyright of Nero AG (the "appropriate copyright message" mentioned in section 2c of the GPLv2).[32] The source code contains a note that the use of this software may require the payment of patent royalties. Commercial non-GPL licensing of this software is also possible.[33]
FAAD (FAAD1) modifications to the ISO MPEG-4 AAC reference code were distributed under the GPL.[24]
Other software
editFAAC and FAAD2 are used in the following software products and libraries:
- Avidemux video editing software.[34]
- CDex uses FAAC encoder.[35]
- FFmpeg supports AAC encoding through external library libfaac,[36] and using its experimental native encoder.[37]
- fre:ac uses FAAC and FAAD2 for AAC support.
- GStreamer multimedia framework uses FAAC and FAAD.[38]
- MPlayer uses FAAD2.[39]
- VLC media player uses the FAAC (encoder) and FAAD (decoder) to provide support for AAC audio.[40]
- Music Player Daemon uses FAAD2
- Music on Console uses FAAD2
There is also other software that uses FAAC libraries.[41]
See also
editReferences
edit- ^ "Freeware Advanced Audio Coder". ohloh.net. Archived from the original on 2009-06-23. Retrieved 2009-11-03.
- ^ a b c d AudioCoding.com. "FAAC". Retrieved 2009-11-03.
- ^ a b FAAC (2001-09-04). "SCM Repositories – faac – README". SF.net. Retrieved 2009-11-03.
- ^ FAAC Source – README (ZIP), Sourceforge, retrieved 2009-11-03
- ^ "Freeware Advanced Audio Coder". Sourceforge.net. Retrieved 2009-11-03.
- ^ FAAC (2003-08-07). "FAAC – ISO/MPEG 2/4 AAC Encoder Library version 1.0". SCM Repositories. Retrieved 2009-11-04.
- ^ PS3 H264/AAC 5.1 Encoding with FFmpeg – SpinOneSolutions Archived 2013-01-19 at the Wayback Machine
- ^ "Ubuntu Packages – libfaac-dev". Canonical Ltd. 2009. Retrieved 2009-11-03.
- ^ AudioCoding.com – FAAC
- ^ "NOTICE file in FDK source".
- ^ "Fraunhofer FDK AAC information".
- ^ "Nero AAC Codec". Nero AG. 2006. Retrieved 2010-12-10.
- ^ "Nero AAC". Retrieved 3 October 2013.
- ^ [FFmpeg-devel] Internal aac development progress
- ^ "FFmpeg AACの音質評価".
- ^ "AACEncodingGuide – FFmpeg".
- ^ "GuidelinesHighQualityAudio – FFmpeg".
- ^ "December 5th, 2015, The native FFmpeg AAC encoder is now stable!". ffmpeg.org. Retrieved 26 June 2016.
- ^ http://superuser.com/a/370637/39364 – only supports 2 channels http://ffmpeg.org/pipermail/ffmpeg-user/2012-February/005187.html
- ^ http://tipok.org.ua/node/17 – only supports 2 channels http://betterlogic.com/roger/2012/07/libaacplus-maximum-number-of-channels/ Archived 2013-10-04 at the Wayback Machine
- ^ a b c FAAD2 Source – README (ZIP), Sourceforge, retrieved 2009-11-03
- ^ a b "Debian packages – libfaad2". May 2006. Retrieved 2009-11-03.
- ^ AudioCoding.com. "FAAD2". Retrieved 2009-11-03.
- ^ a b c FAAC (2000-02-18). "SCM Repositories – faad – README, revision 1.1". SF.net. Retrieved 2009-11-03.
- ^ FAAC (2001-09-04). "SCM Repositories – faad – README, revision 1.8". SF.net. Retrieved 2009-11-03.
- ^ FAAC (2002-01-04). "Freeware Advanced Audio Coder – File Release Notes and Changelog – 2002-01-04 – last release". SF.net. Archived from the original on 2011-02-10. Retrieved 2009-11-03.
- ^ FAAC (2009). "SCM Repositories – faad2 – ChangeLog". SF.net. Retrieved 2009-11-03.
- ^ "AAC Reference Software". MultimediaWiki. 2009-02-23. Retrieved 2009-11-03.
- ^ ISO (2009-10-27). "Freely Available Standards". ISO. Retrieved 2009-11-03.
- ^ FAAC (2004-10-17). "SCM Repositories – faac – README". SF.net. Retrieved 2009-11-03.
- ^ ISO, Information technology – Coding of audio-visual objects – Part 5: Reference software – Amendment 20: MPEG-1 and -2 on MPEG-4 reference software and BSAC extensions (ZIP), ISO, retrieved 2009-11-03
- ^ "Debian packages – libfaad2 – copyright". Debian packages. May 2006. Archived from the original on 2009-11-15. Retrieved 2009-11-03.
- ^ FAAC (2007-11-01). "SCM Repositories – faad2 – README". SF.net. Retrieved 2009-11-03.
- ^ "Avidemux-Audio encoders". avidemux.org. Retrieved 2009-11-03.
- ^ "CDex Features". CDex project. Retrieved 2009-11-03.
- ^ FFmpeg. "General Documentation – Audio Codecs". Retrieved 2009-11-03.
- ^ FFmpeg. "FFmpeg Changelog". Retrieved 2010-12-10.
- ^ GStreamer. "GStreamer Bad Plugins 0.10 Plugins Reference Manual". gstreamer.org. Archived from the original on 2009-11-09. Retrieved 2009-11-03.
- ^ MPlayer team. "MPlayer – The Movie Player – Codec installation – AAC". MPlayer team. Archived from the original on 2009-10-06. Retrieved 2009-11-14.
- ^ VideoLAN Wiki (2006-03-08). "Advanced Audio Coding". VideoLAN Wiki. Retrieved 2009-11-03.
- ^ Audiocoding.com. "Programs using FAAC or FAAD". Archived from the original on 2009-10-05. Retrieved 2009-11-03.