I know that libfaac has been removed from ffmpeg and is supported through external library.
I understand that I need to copy libfaac.dll in the same directory where ffmpeg.exe is. But it is not working. My OS is Windows XP.
I can use the ffmpeg.exe which is distributed with winff, but latest presets won't work. I tried to building my own with mingw and is too much to me. I will try again.
Can some one help how to get this dynamic loading thing working.
Sorry for bad english.
+ Reply to Thread
Results 1 to 30 of 32
Thread: libfaac encoding with ffmpeg
Sorry, I know this post is a bit old, but this (libfaac) did not work for me.
As he states here at http://oss.netfarm.it/mplayer-win32.php and scrolling down to the section that reads:
"faac encoder is not included in MEncoder and FFmpeg package due to licensing problems, you should download separately this archive and unpack the dll (with e.g. 7zip) in the directory in which the executable lies (as shown in the picture)."
I have installed MPlayer and FFmpeg, and I have placed FFmpeg, MPlayer and the "libfaac.dll" in the one directory. I still end up with Unknown encoder 'libfaac' when running a simple conversion at the command prompt.
Any help appreciated please?
It's Working fine for me.
Post your command line.
Where did you download you version of FFmpeg? Did you put the libfaac.dll in with it in the same directory?
Thanks, El Heggunte. I downloaded and tried out "faac.exe" and found it works well. However, I still would like to get this libfaac.dll thing working just to see.
I have used ffmpeg from http://oss.netfarm.it/mplayer-win32.php for years.
I download FFmpeg and libfaac from the site:
libfaac-1.28.7z under "[Misc files]" at the bottom.
As you say, just put them both in the same directory, and libfaac works fine.
Last edited by mh2360; 23rd May 2011 at 06:18.
Thanks a lot! It works!
The problem was, I had downloaded FFmpeg from other links. I had about 2 or 3 versions. All worked for other encoders under Windows, but the libfaac.dll was not compiled for them or vice versa. BTW, it must have been for older versions. The latest version of FFmpeg does not need it. I tried it without it and it still works.
I got the latest build from following website "http://ffmpeg.zeranoe.com/builds/". I am using the following command.
"ffmpeg.exe -y -i 1.mov -threads 2 -r 29.969999 -g 300 -acodec libvo_aacenc -ab 48k -s 320x244 -vcodec libx264 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 5 -trellis 1 -refs 5 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b:v 512k -bt 12k -maxrate 1400k -bufsize 3M -rc_eq blurCplx^(1-qComp) -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 1.mp4"
So is "libvo_aacenc" is the replacement for libfacc?
Thanks in advance.
if I want to use libfaac, How can I do that?
Last edited by bat999; 19th Oct 2011 at 13:21.
MPlayer / MEncoder. Here is the direct link:
Actually, I've found that "libfaac" isn't that good after all. I started experimenting with MEncoder first and found the sound to be very poor using libfaac, even with bitrates of 96 to 128 kbps. FFmpeg's was slightly better as was the stand alone faac.exe. Strange, libfaac and faac.exe are more or less the same and all from the same author and dated 2001. Version 1.28 seems to be the only one released. From audiocoding.com: "Note that the quality of FAAC is not up to par with the currently best AAC encoders available."
I decided to try out the Nero AAC command line AAC encoder from audiocoding.com and really found a dramatic improvement in the sound quality. So much so, that I'll be using this encoder from now on for aac audio. This will require more work because I'll have to re-mux the sound back in for videos. Has anyone used pipes with faac.exe or neroAacEnc.exe for FFmpeg or MEncoder?
Last edited by wsc4; 28th Oct 2011 at 19:34. Reason: added bold + italics
Using FFmpeg with faac-1.28 or neroAacEnc-126.96.36.199
ffmpeg -i foo.flac -f wav - | faac -w -q 170 -o foo1.m4a -
ffmpeg -i foo.flac -f wav - | neroAacEnc -ignorelength -q 0.5 -if - -of foo2.m4a
General #0 Complete name : foo1.m4a Format : MPEG-4 Format/Info : ISO 14496-1 version 2 Format/Family : MPEG-4 File size : 3.01 MiB PlayTime : 1mn 25s Bit rate : 296 Kbps StreamSize : 32.3 KiB Encoded date : UTC 2011-10-28 16:36:08 Tagged date : UTC 2011-10-28 16:36:31 Writing application : FAAC 1.28 Audio #0 Codec : AAC LC Codec/Family : AAC Codec/Info : AAC Low Complexity PlayTime : 1mn 25s Bit rate mode : VBR Bit rate : 288 Kbps Maximum bit rate : 333 Kbps Channel(s) : 2 channels Channel positions : L R Sampling rate : 96.0 KHz Resolution : 16 bits StreamSize : 2.98 MiB Encoded date : UTC 2011-10-28 16:36:08 Tagged date : UTC 2011-10-28 16:36:31
General #0 Complete name : foo2.m4a Format : MPEG-4 Format/Info : ISO 14496-1 version 2 Format/Family : MPEG-4 File size : 3.18 MiB PlayTime : 1mn 25s Bit rate : 313 Kbps StreamSize : 34.7 KiB Encoded date : UTC 2011-10-28 16:37:54 Tagged date : UTC 2011-10-28 16:38:09 cdec : ndaudio 188.8.131.52 / -q 0.50 Writing application : Nero AAC codec / 184.108.40.206 Audio #0 Codec : AAC LC Codec/Family : AAC Codec/Info : AAC Low Complexity PlayTime : 1mn 25s Bit rate mode : VBR Bit rate : 310 Kbps Maximum bit rate : 321 Kbps Channel(s) : 2 channels Channel positions : L R Sampling rate : 96.0 KHz Resolution : 16 bits StreamSize : 3.15 MiB Encoded date : UTC 2011-10-28 16:37:54 Tagged date : UTC 2011-10-28 16:38:09
neroAacEnc sounds better than faac (in my humble opinion)
Last edited by bat999; 28th Oct 2011 at 18:43. Reason: Added samples.
Thanks very much for that. Very detailed and presented very well. It's been a great help. I've copied your commands for reference and will download those samples.
I had no idea about the stdin and stdout "-" option and using it with the pipe "|" redirector.
I'll experiment with a number of audio files first, and then move onto video / audio. The one thing I will watch for is A/V sync, but I'm used to that and know the workarounds.
ffmpeg -i INPUT.AVI -an -f avi -vcodec libx264 <options> <pipe> ffmpeg -i INPUT.AVI -f wav - | neroaacenc -ignorelengh -if - -of OUTPUT.MP4
I`m trying to use ffmpeg N-32754-g936d4d4-Sherpya and encoder for AAC faac.exe v1.28
On input I have a video test-DR.avi:
Input #0, avi, from 'c:\test\in\test-FR.avi':
Duration: 00:00:25.22, start: 0.000000, bitrate: 1331 kb/s
Stream #0.0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 960x720 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 29.97 tbn, 59.94 tbc
Stream #0.1: Audio: mp3 (U / 0x0055), 48000 Hz, stereo, s16, 192 kb
I need to get it into mp4 container with AAC sound.
I`m trying this launching command:
c:\test\ffmpeg2\ffmpeg.exe -i c:\test\in\test-FR.avi -vcodec copy -acodec faac -w -q 100 -o c:\test\out\out.mp4
But it says:
C:\test\ffmpeg2>c:\test\ffmpeg2\ffmpeg.exe -i c:\test\in\test-FR.avi -vcodec cop y -acodec faac -w -q 100 -o c:\test\out\out.mp4 ffmpeg version N-32754-g936d4d4-Sherpya, Copyright (c) 2000-2011 the FFmpeg deve lopers built on Sep 21 2011 13:48:46 with gcc 4.2.5 20090330 (prerelease) [Sherpya] libavutil 51. 16. 1 / 51. 16. 1 libavcodec 53. 16. 0 / 53. 16. 0 libavformat 53. 12. 0 / 53. 12. 0 libavdevice 53. 4. 0 / 53. 4. 0 libavfilter 2. 43. 2 / 2. 43. 2 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 51. 2. 0 / 51. 2. 0 [avi @ 019376c0] max_analyze_duration 5000000 reached at 5016000 Input #0, avi, from 'c:\test\in\test-FR.avi': Duration: 00:00:25.22, start: 0.000000, bitrate: 1331 kb/s Stream #0.0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 960x720 [SAR 1 :1 DAR 4:3], 29.97 fps, 29.97 tbr, 29.97 tbn, 59.94 tbc Stream #0.1: Audio: mp3 (U / 0x0055), 48000 Hz, stereo, s16, 192 kb /s Unrecognized option 'w' Failed to set value '-q' for option 'w'
Thank you very much for any advice!
I read it all, but I`m sorry, I just don`t see it
I have tried all compilations of ffmpeg for windows that I have found here and tried it both with libfaac.dll and faac.exe v1.28 and everytime it failed to encode AAC in ffmpeg.
So I don`t know what exactly I do wrong and if there isn`t any specific command to say ffmpeg to load aac encoder (libfaac.dll or faac.exe) that I didn`t use or used it wrong...
You are using the correct version of FFmpeg:-
Put the file "libfaac.dll" in the same folder as "ffmpeg.exe".
cd to the folder, then use a command like this:-
ffmpeg -i c:\test\in\test-FR.avi -vcodec copy -acodec libfaac -aq 150 out.mp4
As stated before, I only use Nero. However, I see that the Zeranoe builds use "libvo_aacenc" while the Sherpya builds use "libfaac". I would be interested to know where the "libvo_aacenc" derived from? Who owns the license, and has anyone tested this out and compared it?
Thanks, but I know how to use commands, and I have have not downloaded a Zeranoe build yet. Just thought someone has already compared them. BTW, this would be low bitrates; 64k, 48k, and 32k.
For what it's worth, "libvo_aacenc" is the library that is based on a codec implementation by VisualOn.
Anyhow, I have tried out the Zeranoe build with -acodec libvo_aacenc -ab 64k and found it to be very good. IMHO, it is far better than libfaac. I tested both out and compared them with a high quality music PCM file.
If I had to do a quick encode and could not be bothered with piping to Nero, I would use this build. Also, Sherpya builds skimp on the documentation and do not have ffplay nor ffprobe.