+
+Q. Why do I get .aac files instead of .m4a files when I encode with faac?
+A. Faac uses mp4v2 to create aac files in an m4a or mp4 container. Some
+ Linux distros have disabled this mp4v2 support due to a licensing issue
+ and this leave faac only capable of generating mpeg-2/ADTS streams.
+ These streams should correctly have the .aac file extension and some
+ players (such as Audacious) will not even play mpeg-2/ADTS streams when
+ they are placed in an .m4a container.
+ As of version 2.7 abcde tests the version of faac being used for mp4v2
+ support and then appropriately places the audio either in .m4a or .aac.
+ Note that tagging is not possible with mpeg-2/ADTS streams in .aac.
+
+Q. How do I encode to Apple Lossless Audio Codec (alac)?
+A. As of abcde 2.7.1 there are 3 ways to encode to alac: using qaac, refalac
+ or FFmpeg. To use qaac or refalac follow the installation directions here:
+
+ http://www.andrews-corner.org/qaac.html#installation
+
+ and then set your ~/.abcde.conf file as follows:
+
+ AACENCODERSYNTAX=qaac
+ QAAC="$HOME/.wine/drive_c/qaac/qaac.exe"
+ # Or use the Open Source alac encoder with this small hack:
+ # QAAC="$HOME/.wine/drive_c/qaac/refalac.exe"
+ QAACENCOPTS="--alac --threading --verbose"
+ OUTPUTTYPE="m4a"
+
+ To use FFmpeg (or avconv) set your ~/.abcde.conf file as follows:
+
+ AACENCODERSYNTAX=ffmpeg
+ FFMPEG=ffmpeg
+ # Or give the path to avconv instead:
+ # FFMPEG=avconv
+ FFMPEGENCOPTS="-c:a alac"
+ OUTPUTTYPE="m4a"
+
+ And then sit back and enjoy the music :)
+
+5. USEPIPES
+ ========
+
+Q. What is/are 'USEPIPES'??
+A. This is a slightly different method of ripping and encoding with abcde
+ utilising Unix pipes. Using this method a program sends as output what
+ another programs expects as input without writing the information to the
+ hard disk. For it to work with abcde, a ripper must send the data of the
+ CD tracks which are ripped to the 'standard output', while sending other
+ information and error messages to 'standard error' so that the encoder
+ does not get confused. The encoder program needs to be able to encode the
+ information send to it by reading from the standard input (which is what
+ the ripper sends to the standard output).
+ Usually Unix/Linux programs deal with the standard input/output by using
+ the special file name '-', as in the following example:
+
+ cdripper -o - | audioencoder -i - -o file.ext
+
+ The 'cdripper' program uses the flag '-o' to identify the file it will
+ output the data to. For the 'audioencoder' program to be able to read
+ the output through a Unix pipe (the '|' symbol), the output needs to be
+ sent to the standard output using the '-' special filename. Once the
+ output has been piped to 'audioencoder' we use the same special filename
+ to read the information as input with the '-i' flag and output it to
+ 'file.ext' with the '-o' flag.
+
+Q. How do I use USEPIPES with abcde?
+A. You can run USEPIPES in either of two ways:
+
+ 1. Add 'USEPIPES=y' to your ~/.abcde.conf file
+ 2. Use the commandline option 'abcde -P'
+
+Q. Do all rippers and encoders work with USEPIPES?
+A. No :). Keep in mind that every ripper and encoder differs from in each
+ other in the way they interact with pipes and not all rippers and encoders
+ will use or understand the '-o' and '-' options. Currently (July 2015) the
+ following rippers and encoders work:
+
+ Rippers: cdparanoia, debug, libcdio, cdda2wav, flac, pird.
+ Encoders: mp3enc, lame, bladeenc, oggenc, opusenc, flac, speexenc,
+ mpcenc, wavpack, faac, neroAacEnc, fdkaac, qaac, fhgaacenc,
+ ffmpeg.
+
+Q. Can I add a ripper or encoder which is not supported?
+A. Sure! If you plan to use a ripper or encoder which is not supported you
+ need to know how to use the ripper/encoder. For example, cdparanoia just
+ uses '-' as the output filename and works. The program used to decode
+ FLAC files (yes, abcde supports 'ripping' from a FLAC file :) uses '-c'.
+ To add support for a ripper called 'cdripper' which uses the '-' special
+ flag for outputting to the standard output, you need to open the config
+ file (either /etc/abcde.conf or ~/.abcde.conf) and add the line:
+
+ PIPERIPPER_cdripper="-"
+
+ For an encoder called 'audioencoder' which uses '--stdin' to read the pipe
+ input, you need to add:
+
+ PIPE_audioencoder="--stdin"
+
+ Of course, you should try your configuration and report it to the abcde
+ developers so that it can be included in future versions of abcde. If
+ you are familiar with POSIX shell programing, please open "abcde" and
+ take a look at the lines below the one marked with "###USEPIPESSUPPORT###",
+ the required syntax is reasonably clear.
+
+6. MISC PROBLEMS
+ =============