FAAC
{{Short description|Encoder and decoder of AAC audio codec}}
{{Infobox software
|name = FAAC
|logo =
|screenshot =
|caption =
|collapsible =
|author = Menno Bakker and others
|developer =
|released = {{Start date|2001|10|09}}
|discontinued =
|latest release version = 1.30
|latest release date = {{Start date and age|2020|04|28}}
|latest preview version =
|latest preview date =
|programming language = C
|operating system =
|platform = Cross-platform
|size =
|language = English
|status =
|genre = Encoder
|license = LGPL 2.1
|website = {{URL|http://sourceforge.net/projects/faac/}} {{URL|http://faac.sourceforge.net/}}
}}
{{Infobox software
| name = FAAD2
| logo =
| screenshot =
| caption =
| collapsible =
| author = Menno Bakker, Nero AG and others
| developer =
| released = 2000 (FAAD1)
| latest_release_version = 2.10.0
| latest_release_date = {{Start date and age|2020|10|20}}
| latest_preview_version =
| latest_preview_date =
| repo = {{URL|https://github.com/knik0/faad2}}
| programming language = C
| operating_system = Cross-platform
| operating_system_desc =
| size =
| language = English
| status =
| genre = Decoder
| license = GNU General Public License version 2 or later
| website = {{URL|http://sourceforge.net/projects/faac/}} {{URL|http://faac.sourceforge.net/}}
}}
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.{{cite web | url=http://www.ohloh.net/p/faac | title=Freeware Advanced Audio Coder | publisher=ohloh.net | access-date=2009-11-03 | archive-date=2009-06-23 | archive-url=https://web.archive.org/web/20090623111141/http://www.ohloh.net/p/faac | url-status=dead }} It also supports Digital Radio Mondiale.{{cite web | url=http://www.audiocoding.com/faac.html | title=FAAC | author=AudioCoding.com | access-date=2009-11-03}}
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.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/faac/faac/README?revision=1.3&view=markup | title=SCM Repositories – faac – README | publisher=SF.net | author=FAAC | date=2001-09-04 | access-date=2009-11-03}}
FAAC encoder
FAAC stands for Freeware Advanced Audio Coder.{{citation | url=http://downloads.sourceforge.net/faac/faac-1.28.zip | title=FAAC Source – README | format=ZIP | publisher=Sourceforge | access-date=2009-11-03}} The FAAC encoder is an audio compression computer program that creates AAC (MPEG-2 AAC/MPEG-4 AAC{{cite web | url=http://sourceforge.net/projects/faac/ | title=Freeware Advanced Audio Coder | publisher=Sourceforge.net | access-date=2009-11-03}}) sound files from other formats (usually, CD-DA audio files). It contains a library (libfaac) that can be used by other programs.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/*checkout*/faac/faac/docs/libfaac.html?revision=1.1
| title=FAAC – ISO/MPEG 2/4 AAC Encoder Library version 1.0 | publisher=SCM Repositories | author=FAAC | date=2003-08-07 | access-date=2009-11-04}} 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.[http://www.spinonesolutions.com/2010/04/ps3-h264aac-5-1-encoding-with-ffmpeg/ PS3 H264/AAC 5.1 Encoding with FFmpeg – SpinOneSolutions] {{webarchive|url=https://web.archive.org/web/20130119000145/http://www.spinonesolutions.com/2010/04/ps3-h264aac-5-1-encoding-with-ffmpeg/ |date=2013-01-19 }} The MPEG-4 object types of the AAC format supported by FAAC are the "Low Complexity" (LC), "Main", and "Long Term Prediction" (LTP). The MPEG-2 AAC profiles supported by FAAC are LC and Main.{{cite web | url=http://packages.ubuntu.com/lucid/libfaac-dev | title=Ubuntu Packages – libfaac-dev | publisher=Canonical Ltd | year=2009 | access-date=2009-11-03}} 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.[http://www.audiocoding.com/faac.html AudioCoding.com – FAAC]
= Alternatives for AAC encoding in Unix-like operating systems =
FAAC 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,{{cite web|title=NOTICE file in FDK source|url=https://android.googlesource.com/platform/external/aac/+/master/NOTICE}} 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.{{cite web | title=Fraunhofer FDK AAC information|url=http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC}}
- The Nero AG-developed "Nero AAC Codec", which has a proprietary license,{{cite web | title=Nero AAC Codec | url=http://www.nero.com/eng/downloads-nerodigital-nero-aac-codec.php | publisher=Nero AG | year=2006 | access-date=2010-12-10}} 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.{{cite web|title=Nero AAC|url=http://wiki.hydrogenaud.io/index.php?title=Nero_AAC|access-date=3 October 2013}}
- 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.[http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2012-August/129086.html [FFmpeg-devel] Internal aac development progress]{{Cite web|url=http://d.hatena.ne.jp/kamedo2/20120729/1343545890|title = FFmpeg AACの音質評価}}{{Cite web|url=http://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide|title=AACEncodingGuide – FFmpeg}}{{Cite web|url=http://ffmpeg.org/trac/ffmpeg/wiki/GuidelinesHighQualityAudio|title = GuidelinesHighQualityAudio – FFmpeg}} 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.{{cite web|title=December 5th, 2015, The native FFmpeg AAC encoder is now stable!|url=https://ffmpeg.org/index.html#aac_encoder_stable|website=ffmpeg.org|access-date=26 June 2016}} Libav has not merged this work.
- libvo_aacenc, the Android VisualOn AAC encoder.http://superuser.com/a/370637/39364 – only supports 2 channels http://ffmpeg.org/pipermail/ffmpeg-user/2012-February/005187.html This encoder was replaced in Android by the FDK AAC encoder mentioned above, and is considered a poor-quality option.
- The (nonfree) libaacplushttp://tipok.org.ua/node/17 – only supports 2 channels http://betterlogic.com/roger/2012/07/libaacplus-maximum-number-of-channels/ {{Webarchive|url=https://web.archive.org/web/20131004223123/http://betterlogic.com/roger/2012/07/libaacplus-maximum-number-of-channels/ |date=2013-10-04 }} 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
FAAD2 is Freeware Advanced Audio (AAC) Decoder including SBR decoding.{{citation | url=http://downloads.sourceforge.net/faac/faad2-2.7.zip | title=FAAD2 Source – README | format=ZIP | publisher=Sourceforge | access-date=2009-11-03}} 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).{{cite web |url=http://packages.debian.org/sid/libfaad2 |title=Debian packages – libfaad2 |date=May 2006 |access-date=2009-11-03}}{{cite web | url=http://www.audiocoding.com/faad2.html | title=FAAD2 | author=AudioCoding.com | access-date=2009-11-03}} It contains a library (libfaad) that can be used by other programs.
FAAD and FAAD2 were originally written by Menno Bakker from Nero AG.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/faac/faad/README?revision=1.1&view=markup | title=SCM Repositories – faad – README, revision 1.1 | author=FAAC | publisher=SF.net | date=2000-02-18 | access-date=2009-11-03}} 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.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/faac/faad/README?view=markup | title=SCM Repositories – faad – README, revision 1.8 | publisher=SF.net | author=FAAC | date=2001-09-04 | access-date=2009-11-03}} The last version of FAAD1 was 2002-01-04. All development later focused in FAAD2.{{cite web |url=http://sourceforge.net/project/shownotes.php?release_id=164018 |title=Freeware Advanced Audio Coder – File Release Notes and Changelog – 2002-01-04 – last release |publisher=SF.net |author=FAAC |date=2002-01-04 |access-date=2009-11-03 |url-status=dead |archive-url=https://web.archive.org/web/20110210155502/http://sourceforge.net/project/shownotes.php?release_id=164018 |archive-date=2011-02-10 }} 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.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/faac/faad2/ChangeLog?view=log | title=SCM Repositories – faad2 – ChangeLog | publisher=SF.net | author=FAAC | year=2009 | access-date=2009-11-03}}
Licensing
FAAC contains code based on the ISO MPEG-4 reference code, whose license is not compatible with the LGPL license. Only the FAAC changes to this ISO MPEG-4 reference code are licensed under the LGPL license. 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.{{cite web | url=http://wiki.multimedia.cx/index.php?title=AAC_Reference_Software | title=AAC Reference Software | publisher=MultimediaWiki | date=2009-02-23 | access-date=2009-11-03}}{{cite web | url=http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html | title=Freely Available Standards | author=ISO | publisher=ISO | date=2009-10-27 | access-date=2009-11-03}} 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.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/faac/faac/README?view=markup | title=SCM Repositories – faac – README | publisher=SF.net | author=FAAC | date=2004-10-17 | access-date=2009-11-03}}{{citation | url=http://standards.iso.org/ittf/PubliclyAvailableStandards/c050470__ISO_IEC_14496-5_2001_Amd_20_2009_Reference_Software.zip | title=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 | format=ZIP | author=ISO | publisher=ISO | access-date=2009-11-03}}
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).{{cite web |url=http://packages.debian.org/changelogs/pool/main/f/faad2/faad2_2.7-4/libfaad2.copyright |title=Debian packages – libfaad2 – copyright |publisher=Debian packages |date=May 2006 |access-date=2009-11-03 |url-status=dead |archive-url=https://web.archive.org/web/20091115025453/http://packages.debian.org/changelogs/pool/main/f/faad2/faad2_2.7-4/libfaad2.copyright |archive-date=2009-11-15 }} 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.{{cite web | url=http://faac.cvs.sourceforge.net/viewvc/faac/faad2/README?view=markup | title=SCM Repositories – faad2 – README | publisher=SF.net | author=FAAC | date=2007-11-01 | access-date=2009-11-03}}
FAAD (FAAD1) modifications to the ISO MPEG-4 AAC reference code were distributed under the GPL.
Other software
FAAC and FAAD2 are used in the following software products and libraries:
- Avidemux video editing software.{{cite web | url=http://avidemux.org/admWiki/index.php?title=Audio_encoders | title=Avidemux-Audio encoders | publisher=avidemux.org | access-date=2009-11-03}}
- CDex uses FAAC encoder.{{cite web | url=http://cdexos.sourceforge.net/?q=features | title=CDex Features | publisher=CDex project | access-date=2009-11-03}}
- FFmpeg supports AAC encoding through external library libfaac,{{cite web |url=http://ffmpeg.org/general.html#Audio-Codecs |title=General Documentation – Audio Codecs |author=FFmpeg |access-date=2009-11-03}} and using its experimental native encoder.{{cite web |url=http://www.ffmpeg.org/changelog.html |title=FFmpeg Changelog |author=FFmpeg |access-date=2010-12-10}}
- fre:ac uses FAAC and FAAD2 for AAC support.
- GStreamer multimedia framework uses FAAC and FAAD.{{cite web |url=http://gstreamer.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/ch02.html |title=GStreamer Bad Plugins 0.10 Plugins Reference Manual |author=GStreamer |publisher=gstreamer.org |access-date=2009-11-03 |url-status=dead |archive-url=https://web.archive.org/web/20091109104155/http://gstreamer.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/ch02.html |archive-date=2009-11-09 }}
- MPlayer uses FAAD2.{{cite web|url=http://www9.mplayerhq.hu/DOCS/HTML/en/codec-installation.html#aac |title=MPlayer – The Movie Player – Codec installation – AAC |author=MPlayer team |publisher=MPlayer team |access-date=2009-11-14 |url-status=dead |archive-url=https://web.archive.org/web/20091006012727/http://www.mplayerhq.hu/DOCS/HTML/en/codec-installation.html |archive-date=2009-10-06 }}
- VLC media player uses the FAAC (encoder) and FAAD (decoder) to provide support for AAC audio.{{cite web |url=http://wiki.videolan.org/AAC_(Advanced_Audio_Coding) |title=Advanced Audio Coding |author=VideoLAN Wiki |publisher=VideoLAN Wiki |date=2006-03-08 | access-date=2009-11-03}}
- Music Player Daemon uses FAAD2
- Music on Console uses FAAD2
There is also other software that uses FAAC libraries.{{cite web | url=http://faac.sourceforge.net/oldsite/programs.php | title=Programs using FAAC or FAAD | author=Audiocoding.com | access-date=2009-11-03 | archive-url=https://web.archive.org/web/20091005081543/http://faac.sourceforge.net/oldsite/programs.php | archive-date=2009-10-05 | url-status=dead }}
See also
{{Portal|Free and open-source software}}
References
{{Reflist|3}}
{{Compression Software Implementations}}
{{DEFAULTSORT:Faac}}