Yes it does.
If you're interested in building Audacity with ffmpeg support, here's how I did it. I'll offer a condensed version (A) for those familiar with compiling from source and (B) for the bold initiates. This worked on a PPC Mac ibook with Leo 10.5.2, with current Developers Tools installed and building in Terminal.
A: The current CVS release now builds with ./configure --with-ffmpeg=system. You need to build and install ffmpeg from source first to get the three libraries Audacity needs. (libavcodec,libavformat,libavutils) Get a snapshot from
http://ffmpeg.mplayerhq.hu/download.html. I used the barebones link for a nightly build. That server is apparently not always awake, but I eventually got FFmpeg-20050807.tar.bz2. This I built in a local dir to see what it made.
Code: Select all
./configure --prefix=<dir> --enable-shared --disable-static
If you read ./configure --help, you'll see that by default the libs are built the opposite of this, hence the switch.
If you want fffmpeg to support AAC you need to install libfaac and libfaad first and then add "--enable-libamr-nb --enable-libamr-wb --enable-nonfree" to the above configure. You can find FAAD and FAAC at:
http://www.audiocoding.com/ I skipped the AAC support for now. With my above configure, my install dir now held 4 dirs; bin,include,lib,and share. In /lib; i got libavcodec.52.1.0.dylib, libavdevice.52.1.0,libavformat.52.23.1.dylib, and libavutil.49.12.0. (and the symlinks). So I copied the works to /usr/local. (If you make /usr visible in the Finder ((Go menu-->GotoFolder)) you can transfer files to appropriate /local dirs. (with authentication) Before you move /lib/pkgconfig/*.pc files, edit the first line of each to read: prefix=/usr/local. (Or skip building in a test dir altogether, and slam it all in /usr/local properly from the get go.)
So now, if you've compiled Audacity of any sort before and your build set-up works, then grab up a fresh CVS copy (or update) and then, I used:
Code: Select all
./configure --enable-unicode --with-ffmpeg=system --with-libsndfile=system --with-libsamplerate --with-libresample=no --with-libvorbis=system --with-libflac=system --with-libid3tag=system --with-libtwolame=system --without-soundtouch --with-libmad --without-libvamp --without-redland --without-slv2 --without-liblrdf --without-midi --without-libscorealign --disable-nyquist
I had all the optional libs pre-installed in system to speed up compile time and because I wanted to build against a custom libvorbis. If you checked out the thread at Nabble that Gale mentions, you'll see that there were problems with ffmpeg=local (they are fixed now but you still need the actual libs in your system to point to in preferences, which now correctly asks for avformat.dylib and then finds the others. Whether or not the additional steps we used in test building ( the addition of the CXXFLAGS="-Wall -Wextra" --with-ffmpeg=system and the make dep step) are still needed I don't know. If you add them, remember to toss the generated .depend and .gchdepend files from your build folder when you're all done.
[The extension tiff has been deactivated and can no longer be displayed.]
It works fine, and shows up as Audacity 1.3.7 -alpha in build info window.
(B) The best concise explanation I've found of the GNU bulld system for those who are interested:
http://www.st-andrews.ac.uk/~iam/docs/tutorial.html and documentation from GNU.org.
(if you want to install anything you build from source get pgk-config installed first so that other projects can find and use these libraries.)
A few things I learned: forget Fink and MacPorts, and forget the XCode project build... Get the ffmpeg snapshot.
Until Team Audacity releases a tarball with ffmpeg enabled, you need to build ffmpeg from source as well as Audacity from CVS.
For Audacity, get pkg-config, gettext, and wx-mac installed first.
Get the GNU versions installed into /usr/local, although Leopard has some kind of widgets and package manager in /usr, you don't want Audacity's configure script to find them first. Fink also has a pkg mgr that you want to hide. In other words, temporarily alter your $PATH. At your prompt type PATH=/usr/local/bin:$PATH. Now type echo $PATH. With /usr/local/bin now first in the list of : seperated search paths, the right stuff will be found first. If you have Fink installed libs that you want found in /sw, they still will be found when needed. Or maybe not, all my libs have a .pc file in /usr/libs/pkgconfig. That where Audacity looks first for build info and location of external libs it needs, and thats why you need it.
( This $PATH change is temporary for this shell session only, if you quit or log-out of Terminal you'll be reverted to your default next time. Or you can edit your
~/.profile and comment out the Fink script lines with a # to lose /sw from your path for awhile.)
Gettext is annoying and big, get the package, then just run the gettext-tools sub folder configure script, as really all Audacity wants is 'msgfmt' functionality to build the stupid .po translation files in locale.
I built wx-mac widgets 2.8.8 in /usr/local (default). 'mac-unicode-release-static-2.8' is the configuration descriptor, the version included in Leopard is mac-ansi-shared-debug which is a curious choice, but if you read the Audacity config script output you'll see which version it found.
Maybe I'll think of more later,
JK