Page 1 of 1

Compilation of ffmpeg with libfaac

Posted: 23 Mar 2004 22:16
by mixray
Hi all!

I tried to compile the ffmpeg under RedHat9 with libfaac support (--enable-libfaac option)
The compilation failed with error:

gcc -Wl,--warn-common -rdynamic -g -o ffmpeg_g ffmpeg.o cmdutils.o -L./libavformat -lavformat -L./libavcodec -lavcodec -lm -lz -ldl -lfaac
./libavcodec/libavcodec.so: undefined reference to `please_use_av_log'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1

May be somebody knowanything about it?

Thank you for your answer.

Posted: 24 Mar 2004 01:50
by markfm
In common.h of the ffmpeg package:
#define printf please_use_av_log
#define fprintf please_use_av_log

Looks like it pops up if someone tries to use print statements in the code -- purposefully tell people that they should be writing to the log.

Posted: 18 May 2004 23:01
by myersge1
I have vlc v0.7.1 and I want to transcode from MPEG-2 to MPEG-4 (faac & mp4v). I attempted to recompile ffmpeg with libfaac support but afterwards when I ran vlc with:

vlc mpeg-2.mpg --sout '#transcode{acodec=aac,ab=32,vcodec=mp4v,vb=128,
width=320,height=240}:std{access=file,mux=mp4,url=mpeg-2.mp4}'

I still got:

[00000218] stream_out_transcode private error: cannot open encoder
[00000218] stream_out_transcode private error: cannot create audio chain
[00000227] main packetizer error: cannot create packetizer output

First of all, is 'aac' the proper acodec? Also, I notice that ffmpeg and faac were installed as RPM's as part of the original vlc install and I haven't uninstalled them. Should the RPM's be uninstalled first? Finally, do I need to also recompile vlc?

This is the process I went through. Please let me know where I screwed up:

- download tar from ffmpeg.sourceforge.net
- unzip and untar it
- cd ffmpeg
- ./configure --enable-pp --enable-libfaac
- make
- make install

As the configure, make, and install wrote status lines to the screen, I didn't notice the mention of 'libfaac' anywhere which makes me wonder if it was really included. Any ideas? Thank you.

Posted: 19 May 2004 09:22
by hans-jürgen
As the configure, make, and install wrote status lines to the screen, I didn't notice the mention of 'libfaac' anywhere which makes me wonder if it was really included.
As far as I know, "libfaac" isn't used for VLC when recompiling it, but rather "faac" (two different libraries). Do a search on the forum for "faac", and you should find some hints by Gildas Bazin.

Furthermore there might be a conflict between ffmpeg and older faac libraries concerning the fft_init function, because both used the same name for it. That's why the faac library has been updated (renamed the function to fft_initialize), so you should rather compile it from the source package available in the Download section of Audiocoding.com (v1.24 stable or the weekly snapshot).

Posted: 19 May 2004 23:05
by The DJ
recompile ffmpeg with --enable-faac

recompile vlc with --enable-ffmpeg --with-ffmpeg-faac

use mp4a as the identifier, and not aac.

Posted: 20 May 2004 21:57
by myersge1
After pounding my head on this for the last couple days, I'm smarter but I still can't build the VLC. I need to transcode from an MPEG-2 stream to an MPEG-4 stream so I can't use the VLC RPM. Right? Therefore, I download, configure, make, and install all the requied software (as far as I know) but I get a vlc configure error:

checking ffmpeg/avcodec.h usability... yes
checking ffmpeg/avcodec.h presence... yes
checking for ffmpeg/avcodec.h... yes
checking postproc/postprocess.h usability... no
checking postproc/postprocess.h presence... no
checking for postproc/postprocess.h... no
configure: error: Missing header file postproc/postprocess.h.

Before running the vlc configure, I did rebuild faac and ffmpeg without error as:

cd /usr/local/faac
./configure
make
make install
cd /usr/local/ffmpeg-20040222
./configure --enable-pp --enable-faac --enable-shared
make
make install

I then modified '/etc/ld.so.conf' by adding an '/usr/local/lib' line and then ran ldconfig. After all that, I entered:

cd /usr/local/vlc-0.7.1
./configure --enable-gnome --with-ffmpeg-faac

and received the above error. I'm guessing it has something to do with ffmpeg's '--enable-pp'. Anyone have any ideas?

Posted: 20 May 2004 23:55
by The DJ
use --with-ffmpeg-tree=path
to directly use the ffmpeg sourcetree, without the need of installation. FFMPEG does not install its postprocess header (as it should do), and VLC needs it.

BTW. i don't see a reason why the rpm's wouldn't support this, though it may be so.

Posted: 21 May 2004 19:00
by hans-jürgen
BTW. i don't see a reason why the rpm's wouldn't support this, though it may be so.
I'm glad you mentioned this... :wink: When reading the change log for the new test3 beta version of VLC I found these lines:

Mac OS X port:
* Added FAAC encoder (mp4a)

Does this mean that FAAC is included in the Mac OS X binary available from your website now (so no need to compile it from scratch), and is this also true for the new Windows and Linux binaries?

Posted: 22 May 2004 03:03
by The DJ
This goes for the OSX release. not sure about Windows..
The linux binaries are always a surprise (but don't count on it being included in debian for now)

Posted: 22 May 2004 06:52
by hans-jürgen
Great... 8)

Top 20 Wealthiest Soccer clubs

Posted: 02 Jul 2004 14:31
by duko
Thanks! The mails were from people on my http://findaudio.freewebpage.org/ allow list...

Richest Franchise in Sport

Posted: 03 Jul 2004 00:10
by wlu_lax6
what kind of sport is this? i ve never heard about it and never seen it...
I like - football, tennis, http://getgambling.topcities.com/ figure skating, extreme sports
Dislike - hockey, basketball, car racing, box and all the rest

ffmpeg includes libfaac now

Posted: 25 Jul 2004 17:25
by hans-jürgen
I would like to add that the new prebeta version of ffmpeg includes libfaac now, so maybe it's not necessary anymore to use the switches described in this thread, and implementation of FAAC in VLC and other open source projects relying on ffmpeg becomes easier this way. Perhaps Gibalou or The DJ could comment if this assumption is correct?