NAME
faac - open source MPEG-4 and MPEG-2 AAC encoder
SYNOPSIS
faac [ options] [-o\ outfile] infiles ...
< infiles> and/or < outfile> can be "-", which means stdin/stdout.
DESCRIPTION
FAAC is an open source MPEG-4 and MPEG-2 AAC encoder, it is licensed under the LGPL license. It reads WAV or raw PCM and writes MP4/M4A/M4B, ADTS or raw AAC. Note that the quality of FAAC is not up to par with the currently best AAC encoders available.
FEATURES
- Portable
- Fast
- AAC-LC and HE-AAC v1 (SBR) support
HELP OPTIONS
-hShort help on using FAAC-HDescription of all options for FAAC--licenseLicense terms for FAAC.--help-qualQuality-related options--help-ioInput/output options--help-mp4MP4 specific options--help-advancedAdvanced options, only for testing purposes
QUALITY-RELATED OPTIONS
Rate control: -q holds a quality and lets the bitrate follow the material (VBR); -b holds an average over the file (ABR, the default at 128 kbps); -b --cbr holds it in every frame (CBR). --cap-rate bounds any single frame in any mode, so -q --cap-rate is capped VBR: constant quality, no frame above the cap. -q and -b are exclusive.
--object-type <type>Force the AAC object type: lc (Low Complexity), he-aac-v1 (High-Efficiency AAC v1, i.e. AAC-LC plus Spectral Band Replication), or auto (default), which selects LC or HE-AAC v1 from the bitrate and sample rate. HE-AAC v1 targets low bitrates; its core is coded at half the input sample rate and reconstructed to full rate by SBR in the decoder.--joint <mode>Joint stereo coding mode: 0 (off, independent left/right), 1 (Mid/Side), 2 (Intensity Stereo), or 3 (Mixed Mode, dynamic per-band Mid/Side and Intensity Stereo). Default is 3.--no-pnsDisable Perceptual Noise Substitution, which codes noise-like bands as a noise level instead of spectral lines. On by default.--no-tnsDisable Temporal Noise Shaping, which reduces pre-echo on transients. On by default.-q <quality>Constant quality, 1..5000, default 100 (VBR). Higher is better and costs more bits. The bitrate follows the material, so one quality can take twice the bits on one recording as on another, and it moves between releases as the encoder is tuned. With --object-type auto a quality up to 75 uses HE-AAC v1; from 76 it is AAC-LC at a much higher bitrate. Use -b for a predictable size.-b <bitrate>Set average bitrate (ABR) to approximately <bitrate> kbps. Max. ~500 kbps (stereo).--cbrHold the -b bitrate as a constant bitrate (CBR). A bit reservoir models the decoder's input buffer (6144 bits per channel): every frame fits what the buffer holds, a frame that would otherwise overflow it is stuffed up to it, and the stream lands on its rate exactly. ADTS output declares the buffer fullness in every header; MP4 output declares the buffer size and maxBitrate equal to avgBitrate. Meant for constant-rate channels and matched-bitrate comparisons: on a file or a packet network the stuffing is bytes for nothing, and a transient may take only what the buffer holds where ABR lets it take several times the mean.--cap-rate <bitrate>Cap any single frame at <bitrate> kbps, for packet-oriented transports that drop an oversized frame rather than splitting it, and for bounding VBR. Must be at least the -b bitrate. A ceiling, not a second average: frames that already fit are left alone, so the stream stays ABR or VBR. Best-effort — a frame cannot shrink below the cost of its own side info, so a low enough cap is still exceeded on a few percent of frames.-c <freq>Cut the audio off above <freq> Hz. Left out, the encoder chooses the cutoff from the bitrate, between 14 and 19 kHz on most stereo settings; VBR codes up to 19 kHz, or the full band for input above 48 kHz at the default quality or higher. It is printed at the start of the encode. Set it as high as half the sample rate to keep everything; the bitrate rises with it. HE-AAC sets its own cutoff and ignores this. The actual frequency is adjusted to a band edge.
INPUT/OUTPUT OPTIONS
WAV input supports RIFF and RF64, including files larger than 4 GiB. Input is read incrementally, including from stdin. WAV streams with an unknown data size (0xFFFFFFFF) are read to EOF.
-o <filename>Set output file name (only for one input file). Format is auto-detected from extension (.aac/.adts -> ADTS, .m4a/.mp4/.m4b -> MP4; default: MP4).-aUse ADTS stream output format. Generate ADTS transport stream output.-Use stdin/stdout. If you simply use a hyphen/minus sign instead of a filename, FAAC can encode directly from stdin, thus enabling piping from other applications and utilities. The same works for stdout as well, so FAAC can pipe its output to other apps such as a server.-v <verbose>Set verbosity level (-v0 is quiet mode).-rUse RAW AAC output file. Generate raw AAC bitstream (i.e. without any headers). Not advised: raw AAC files are practically useless.-PRaw PCM input mode (default 44100 Hz, 16-bit, stereo). Raw PCM input mode (default: off, i.e. expecting a WAV header; necessary for input files or bitstreams without a header; using only -P assumes the default values for -R, -B and -C in the input file).-R <samplerate>Raw PCM input rate. Raw PCM input sample rate in Hz (default: 44100 Hz, max. 96 kHz)-B <samplebits>Raw PCM input sample size (8, 16 (default), 24 or 32 bits). Raw PCM input sample size (default: 16, also possible 8, 24, 32 bit fixed or float input).-C <channels>Raw PCM input channels. Raw PCM input channels (default: 2, max. 8).-XSwap raw PCM input byte order. Raw PCM input is read big-endian by default; -X reads it little-endian.-I <C[,LFE]>Input channel config, default is 3,4 (Center third, LFE fourth) Input multichannel configuration (default: 3,4 which means Center is third and LFE is fourth like in 5.1 WAV, so you only have to specify a different position of these two mono channels in your multichannel input files if they haven't been reordered already).--ignorelengthIgnore the WAV data length in the header and read to EOF. Use for an incorrect length; RF64 input does not require this option.--overwriteOverwrite existing output file
MP4 SPECIFIC OPTIONS
--tag <tagname=tagvalue>Add named tag (iTunes '----'). Separated by an equals sign or comma. Enclose in quotes if the name or value contains spaces (e.g. --tag "copyright=John Doe").--artist <name>Set artist name--artistsort <name>Set artist sort order--composer <name>Set composer name--composersort <name>Set composer sort order--title <name>Set title/track name--genre <number|name>Set genre number or name (e.g., 14, Pop, or "Classic Rock").--album <name>Set album/performer--albumsort <name>Set album sort order--albumartist <name>Set album artist--albumartistsort <name>Set album artist sort order--compilationMark as compilation--track <number/total>Set track number--disc <number/total>Set disc number--year <number>Set year--cover-art <filename>Read cover art from <filename> Supported image formats are GIF, JPEG, PNG, and BMP. The format is detected from the contents; BMP requires valid file and DIB headers.--comment <string>Set comment--lang <code3>Set the ISO 639-2/T three-letter language code (e.g. eng, ger). --language is an alias.--creation-time <value>Set the MP4 creation and modification time: auto (the input file's modification time), now or a Unix timestamp in seconds. Left out, the time is SOURCE_DATE_EPOCH if set, otherwise 0.--no-encoder-infoDo not write the encoder tag ( [u00A9]too). By default it holds the FAAC version, the rate, cutoff and object type, and any options changed from their defaults, e.g. FAAC x.y.z (hash), ABR 64kbps, cutoff 14500Hz, LC, stereo M/S, no TNS . Without it, output no longer varies with the FAAC build, so identical audio gives byte-identical files.--faststartWrite the index ( moov) before the audio data, so the file starts playing while it downloads. The file is rewritten when encoding ends, which takes a little longer; the output must be seekable and readable. By default the index is written last.
ADVANCED OPTIONS, ONLY FOR TESTING PURPOSES
--mpeg-vers XForce AAC MPEG version, X can be 2 or 4--shortctl XEnforce block type (0 = both (default); 1 = no short; 2 = no long).
PATENTS
The use of this software may require the payment of patent royalties. Consider this before building derivative works; the authors give no warranty or indemnification against patent claims.
SEE ALSO
faad (1), faam (1)
faad (1) is the AAC decoder. It is built and installed unless the decoder build option is disabled.
faam (1) is the MP4 muxer and tag tool. It is built and installed unless the muxer build option is disabled.
AUTHORS
FAAC was written by M. Bakker.
Developed and maintained by Krzysztof Nikiel <knik@users.sourceforge.net>.
This manpage was written by Fabian Greffrath <fabian@debian-unofficial.org> for the Debian Unofficial project (but may be used by others, of course).