Opened 17 years ago

Closed 15 years ago

Last modified 9 years ago

#2018 closed enhancement (fixed)

Should we add faac and faad2 to the book?

Reported by: andy@… Owned by: blfs-book@…
Priority: normal Milestone:
Component: BOOK Version: SVN
Severity: normal Keywords:


faac and faad2 are an mp4 encoder and decoder, they are useful for creating mp4/m4a files from .wav files. They are listed as optional dependencies of a couple of packages in the book. Perhaps they should be added to BLFS?

Some links:

faac depends on faad2 being installed first. In order for faac to be able to encode mp4, faad2 has to be compiled with mp4 support. faad2 needs a couple of seds to be able to compile it with gcc4. The full set of instructions that works for me is

cd faad2 &&
sed -i 's/       /\t/' &&
sed -i 's/NULL/0/' common/mp4v2/{mp4property.h,rtphint.h} &&
sed -i '/dd(m/ s/^v/static v/' common/mp4ff/mp4ffint.h &&
autoreconf -vif &&
./configure --prefix=/usr --with-mp4v2 &&
make &&
make install

For faac it's a bit simpler

cd faac &&
chmod 755 bootstrap &&
./bootstrap &&
./configure --prefix=/usr &&
make &&
make install

Change History (18)

comment:1 by Randy McMurchy, 17 years ago

I'm hesitant to put these two packages in the book simply because they appear to be abandoned projects. There was an update for FAAD (in CVS) 6 weeks ago and before that it was November last year.

They haven't released a new stable tarball in almost two and a half years. Seems there could be better packages that should go in the book first before a couple of old stale packages that are essentially CMMI with a very short dependency list. (noted that one you have to do bootstrap and the other autoreconf, but that is in the docs).

comment:2 by dnicholson@…, 17 years ago

Could be put in the wiki for now. At least it's documented then and it would be basically trivial to make a book page out of it.

comment:3 by Randy McMurchy, 17 years ago

Wiki sounds good to me. Looking a bit deeper, the project does appear to be dead. Last month, there was an update in CVS to the FAAD2 code, however, didn't appear to be much. Before that, it was more than a year before a single commit.

The mailing list shows 7 emails in the last year and a half. Activity is just about nil.

comment:4 by andy@…, 17 years ago

so how do I make a wiki page and have it visible to the outside world? If I just make a random page with no links pointing to it, how would anyone know it was there?


comment:5 by dnicholson@…, 17 years ago

Probably you would want to add two entries on this page:

Then you just create the pages. That's the best you can do, really. That way, if someone starts at the top of the Notes, they'll at least see it somewhere in there.

comment:6 by andy@…, 17 years ago

Righto. I've done that.

I keep changing my mind about whether I think it should go in the book. I found that none of our mp3 players can play mp4/m4a (which makes the smaller file size somewhat academic) files so that turned me against it. Then I found out that faad is a required dependency of pspvc (an excellent application to convert video files to the format used on a sony psp). Also, the psp can play mp4 files. So that made me in favour of it again. Obviously that's not relevant to people who don't have a psp so at the moment it looks like this should be closed as wontfix. I think I'll leave it open for a bit to see if anyone else has anything to add


comment:7 by Randy McMurchy, 17 years ago

Here is a patch I use to build FAAD2:

It fixes many issues including GCC4 fixes.

comment:8 by Randy McMurchy, 17 years ago

Milestone: 6.2future

comment:9 by bdubbs@…, 16 years ago

Owner: changed from andy@… to blfs-book@…

No action since July.

comment:10 by Randy McMurchy, 16 years ago

Type: taskenhancement

Another ticket with almost identical information was created. See

Closing the new one.

comment:11 by dnicholson@…, 16 years ago

Bruces instructions on the other ticket seem to work. The same DOS line endings are present in faad2, too.

comment:12 by dnicholson@…, 16 years ago

This wasn't mentioned, but there have been new releases of faac and faad2 since this ticket was created. So, the project's not totally dead.

comment:13 by Eloi Primaux, 16 years ago

not dead at all, i've updated the wiki: faad2-2.5 and faac-1.25 i also made some patches (the author works on a DOS platform)

comment:14 by alexander@…, 16 years ago

faac and faad2 are indeed useful, and libfaac is even required for creating iPod-playable mp4 video files (because iPod doesn't understand other audio codecs in video files). However, I prefer to use ffmpeg for encoding:

ffmpeg -i capture.avi -acodec libfaac -ab 128kb -s 320x240 -vcodec libx264 -flags +mv4+obmc+qpel+trell -me_method full -g 250 -qmin 25 -qmax 25 -level 13 -title 'Capture' capture.mp4

which prompts me whether we should also add x264 to the book.

Watch, however, for licensing problems:

** Software using this code must display the following message visibly in the
** software:
** "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder © Ahead Software,"
** in, for example, the about-box or help/startup screen.

That's why xine and mplayer developers maintain their private copy of faad2, and it receives more fixes than the original.

Ubuntu fixed the license problem by using the last CVS snapshot without the offenfing "nero" bit, plus fixes.

Also the following bit from Debian changelog is interesting:

  • Compile without Digital Radio Mondiale support, as it breaks base functionality

IMHO, this breakage should be mentioned.

comment:15 by alexander@…, 16 years ago

For faac, it should also be noted that only the low-complexity (i.e., default) profile is usable. The main profile has very obvious artifacts (gaps in bass content) even at 192 kbps.

Testcase: Paul Mauriat, "Paris Musette" (rip from CD)

Encode as:

faac -b 192 -c 20000 --mpeg-vers 4 --obj-type Main -o "Paris Musette.mp4" "Paris Musette.wav"

Then compare the result with the original wav file by playing both in mplayer.

comment:16 by alexander@…, 15 years ago

faad2-2.6.1 and faac-1.26 have been released. They build from source out of the box (but with warnings), and the objectionable license clause has been removed.

The quality issue has been resolved by removing (#if 0) support for setting object type and defaulting to low-complexity (but they forgot to update "faac --long-help" output).

comment:17 by alexander@…, 15 years ago

Resolution: fixed
Status: newclosed

Fixed in r7170

comment:18 by bdubbs@…, 9 years ago

Milestone: old

Milestone old deleted

Note: See TracTickets for help on using tickets.