Encode to m4a container with either FFmpeg or avconv
[abcde.git] / FAQ
diff --git a/FAQ b/FAQ
index 4b14f7f..b9f42dd 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -4,9 +4,11 @@
 Q. Who created abcde? Who develops it nowadays?
 A. It was originally created by Robert Woodcook. He decided to give up
    maintaining it at some point in 2002 and Jesus Climent took over. In 2012,
-   Colin Tuckley and Steve McIntyre joined in to help. Contact
-   jesus.climent@hispalinux.es, colint@debian.org or 93sam@debian.org if you
-   have a problem or a suggestion.
+   Colin Tuckley and Steve McIntyre joined in to help. Currently Steve maintains
+   abcde along with Andrew Strong. Contact either with comments or suggestions
+   at the following email addresses:
+      Steve McIntyre <93sam@@debian.org>
+      Andrew Strong <andrew.david.strong@gmail.com>
 
 
 1. INSTALLATION
@@ -187,11 +189,12 @@ A. Yes. When asked which one you want to select, use "X,Y" where X and Y are
 Q. I don't like CDDB/FreeDB. How can I use Musicbrainz instead?
 A. Set CDDBMETHOD=musicbrainz and try it!
 
+
 4. abcde and Album Art
    ===================
 
 Q. Can abcde download album art?   
-A. As of abcde 2.6.1 it is possible to download a suitable cover
+A. As of abcde 2.7 it is possible to download a suitable cover
    image from within abcde that can be used by applications such
    as Audacious and vlc to illustrate playback with an album cover.
    Many hardware playback devices such as iPODs will also use this
@@ -283,21 +286,21 @@ A. The philosophy of getalbumart at the moment is to simply place the album
     ARTISTFILE="$(mungefilename "$TRACKARTIST")"
     ALBUMFILE="$(mungefilename "$DALBUM")"
 
-   if [ "$OUTPUTTYPE" = "mp3" ] && [ "$TAGGER" = "$EYED3" ] ; then
-    vecho "Preparing to embed the album art..." >&2
-   else
-    vecho "Not embedding album art, you need mp3 output and eyeD3 tagging..." >&2
-    return 1
-   fi
-
    if [ "$VARIOUSARTISTS" = "y" ] ; then
      FINDPATH="$(eval echo "$VAOUTPUTFORMAT")"
    else
      FINDPATH="$(eval echo "$OUTPUTFORMAT")"
    fi
 
-   TRIMPATH="$(dirname "$OUTPUTDIR/$FINDPATH")"
-   cd "$TRIMPATH"
+   FINALDIR="$(dirname "$OUTPUTDIR/$FINDPATH")"
+   cd "$FINALDIR"
+
+   if [ "$OUTPUTTYPE" = "mp3" ] && [ "$TAGGER" = "$EYED3" ] ; then
+    vecho "Preparing to embed the album art..." >&2
+   else
+    vecho "Not embedding album art, you need mp3 output and eyeD3 tagging..." >&2
+    return 1
+   fi
 
     if [ -e "cover.jpg" ] ; then
       for i in *.mp3
@@ -324,6 +327,7 @@ A. The philosophy of getalbumart at the moment is to simply place the album
 
   With other appropriate adjustments to the $OUTPUTTYPE and $TAGGER checks of 
   course...
+
   
 4. FORMATS
    =======
@@ -383,12 +387,39 @@ A. Faac uses mp4v2 to create aac files in an m4a or mp4 container. Some
    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.6.1 abcde tests the version of faac being used for mp4v2 
+   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
@@ -415,13 +446,19 @@ A. This is a slightly different method of ripping and encoding with abcde
 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
+     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.
+   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
@@ -440,10 +477,10 @@ A. Sure! If you plan to use a ripper or encoder which is not supported you
      PIPE_audioencoder="--stdin"
 
   Of course, you should try your configuration and report it to the abcde
-  devleopers so that it can be included in future versions of abcde. If
+  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 pretty obvious.
+  the required syntax is reasonably clear.
 
 6. MISC PROBLEMS
    =============