Wednesday, July 28, 2010

mencoder from rpmfusion with aac support (libfaac)

Last night I wanted to do some transcoding for my psp on my fedora 13 box. Since psp video needs aac audio, I needed the option -oac faac. I use the mplayer and mencoder rpms from http://rpmfusion.org. In the old days I compiled mplayer myself, but why bother downloading and compiling tons of dependencies when rpmfusiom did already the fine work... Until now, although it's not rpmfusion to blame.
In 2009, it turned out that faac was not GPL. So to avoid license issues mplayer and mencoder is now compiled without libfaac (since they are part of the rpmfusion free). So I downloaded the src rpm and did a rebuild with faac
$ wget http://download1.rpmfusion.org/free/fedora/updates/13/SRPMS/mplayer-1.0-0.117.20100703svn.fc13.src.rpm
$ rpmbuild --rebuild --with faac ./mplayer-1.0-0.117.20100703svn.fc13.src.rpm


Turned out that a lot of devel pkgs were missing (as expected). So made a quick list of extra pkgs to install.

$ rpmbuild --rebuild --with faac ./mplayer-1.0-0.117.20100703svn.fc13.src.rpm 2>&1 |grep needed|awk '{print $1}' | xargs
a52dec-devel aalib-devel cdparanoia-devel em8300-devel enca-devel fribidi-devel ladspa-devel lame-devel libcaca-devel libdca-devel libdv-devel libdvdnav-devel libmpcdec-devel libmpeg2-devel libtheora-devel libvdpau-devel libvpx-devel lirc-devel live555-devel lzo-devel pulseaudio-lib-devel schroedinger-devel speex-devel twolame-devel x264-devel xvidcore-devel yasm opencore-amr-devel
$ yum install a52dec-devel aalib-devel cdparanoia-devel em8300-devel enca-devel fribidi-devel ladspa-devel lame-devel libcaca-devel libdca-devel libdv-devel libdvdnav-devel libmpcdec-devel libmpeg2-devel libtheora-devel libvdpau-devel libvpx-devel lirc-devel live555-devel lzo-devel pulseaudio-lib-devel schroedinger-devel speex-devel twolame-devel x264-devel xvidcore-devel yasm opencore-amr-devel


After that the rpmbuild command ran fine. Afterwards you can install the new mencoder rpm from the rpmbuild directory. Use --force to overwrite the current one.
$ rpm -ivh --force ~/rpmbuild/RPMS/x86_64/mencoder-1.0-0.117.20100703svn.fc13.x86_64.rpm


Now you have mencoder with faac support....

3 comments:

  1. As silly as it may be commenting on a 2 year old post, this saved me a heap of time today. Worked like a charm and I can now transcode my MythTV recordings with AAC audio :D

    ReplyDelete
    Replies
    1. Hey Thxs. I myself visit this post after each mplayer update and/or fedora update :-)

      Delete
  2. this page is a live saver. Glad you put it together

    ReplyDelete