Web Projects Consulting

ffmpeg with aac support in Fedora 12

I have found a pretty helpful article for ffmpeg recompile: http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html . However, it looks like the instructions were incomplete.

What we do now is:

yumdownloader --source ffmpeg
sudo rpm -ihv [downloaded_srpm]
sudo gedit rpmbuild/SPECS/ffmpeg.spec

Change Release: line by adding to the end of it:

Release: 5.%{svn}svn%{?dist}_alec

ffmpeg real Fedora 12 dependencies:

sudo yum -y install libmatroska-devel libmkv-devel mkvtoolnix-gui ogmrip themonospot-plugin-mkv themonospot amrnb-tools amrnb-devel amrnb amrwb-tools amrwb-devel amrwb bzip2-devel bzip2-libs bzip2 libdc1394-tools libdc1394-devel libdc1394 dirac-libs dirac-devel dirac faac-devel faac faad2-libs.x86_64 faad2-devel faad2  gsm-tools gsm-devel gsm lame-libs lame-devel lame twolame-libs twolame-devel twolame openjpeg-libs openjpeg-devel openjpeg imagemagick schroedinger-devel schroedinger speex-tools speex-devel speex libtheora-devel theora-tools byzanz istanbul libtheora libvorbis-devel vorbisgain liboggz-devel libfishsound vorbis-tools x264-libs x264-devel x264 h264enc imlib2-devel libvdpau-devel opencore-amr-devel SDL-devel texi2html xvidcore-devel yasm

Build:

sudo rpmbuild -ba ~/rpmbuild/SPECS/ffmpeg.spec --with faac --with opencore-amr

Install

sudo yum localinstall --nogpgcheck ~/rpmbuild/RPMS/x86_64/ffmpeg-{libs-,}0.5-5.20091026svn.fc12_alec.x86_64.rpm

Need devel for future builds?

sudo yum localinstall --nogpgcheck ~/rpmbuild/RPMS/x86_64/ffmpeg-devel-0.5-5.20091026svn.fc12_alec.x86_64.rpm

If it does not work, you are using Bubuntu than …

[alec@localhost ~]$ ffmpeg -h | grep aac
FFmpeg version SVN-r20372, Copyright (c) 2000-2009 Fabrice Bellard, et al.
built on Feb 21 2010 16:59:54 with gcc 4.4.3 20100127 (Red Hat 4.4.3-4)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --extra-version=rpmfusion --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-nonfree --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil     50. 3. 0 / 50. 3. 0
libavcodec    52.37. 1 / 52.37. 1
libavformat   52.39. 2 / 52.39. 2
libavdevice   52. 2. 0 / 52. 2. 0
libavfilter    1. 4. 1 /  1. 4. 1
libswscale     0. 7. 1 /  0. 7. 1
libpostproc   51. 2. 0 / 51. 2. 0
aac_main                E..A.
aac_low                 E..A.
aac_ssr                 E..A.
aac_ltp                 E..A.

5 thoughts on “ffmpeg with aac support in Fedora 12

  1. Bobr

    i’ve made above for fedora 11, the ‘fmpeg -h | grep aac’ show the same as showed above but when i type:
    ffmpeg -y -i test.avi -acodec aac -vcodec libx264 -f mp4 -s cif -vpre /usr/share/ffmpeg/libx264-default.ffpreset -threads 0 -s 512×368 out.mp4
    it show:
    Unknown encoder ‘aac’
    Also i tried type: faac, libfaac and it show that encoder unknown
    What must i do in this case?

  2. Alec

    Instead of “-acodec aac”, try using:

    -acodec libfaac

    or even explicitly something like:

    -acodec libfaac -ab 64k -ac 2

    and, probably, choose between “-s cif ” and “-s 512×368” …

  3. Bobr

    i’ve tried following possible names of encoder: aac, faac, libfaac and always i got ‘Unknown encoder’

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.