4

I'm running Ubuntu Server 10.04 LTS x64. I've been using ffmpeg on this machine to encode H.264 videos with AAC audio for over a year.

There was an update to the ffmpeg packages this week that seems to have broken the AAC encoder.

The command I'm using:

/usr/bin/ffmpeg -y -i '/tmp/original.mov' -acodec libfaac -ar 44100 -ab 128k -vcodec libx264 -level 41 -crf 25 -r 25 -s '1280'x'720' -bufsize 250000k -maxrate 2500k -vpre lossless_slower '/tmp/converted.mp4'

Conversion fails with this error:

Unknown encoder 'libfaac'

Output of ffmpeg -v:

FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.1-1ubuntu1.2 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Sep 16 2011 17:08:44, gcc: 4.4.3
ffmpeg: missing argument for option '-v'

Applicable output of ffmpeg -formats:

Codecs:
 D A    aac             Advanced Audio Coding

The E for encoding is missing.

I already had libfaac-dev and libfaac0 installed, and installed faac after the fact to see if that would help. No dice.

Suggestions? I welcome any advice. Thank you.

2
  • Are you building ffmpeg yourself, or getting binaries? Various builds of ffmpeg have certain modules enabled/disabled, often for legal reasons. If you want the full package, you will likely have to build it yourself, or browse Google for an hour.
    – Brad
    Sep 21, 2011 at 15:28
  • Right you are. I just finished compiling from source and all is gravy. I should have directed my question to medibuntu, since their package was the one I was using, but it had been so long that I forgot. I was able to get it working following this excellent guide: ubuntuforums.org/showpost.php?p=9868359&postcount=1289 If you post your comment as an answer, I'll accept it. Sep 21, 2011 at 16:38

3 Answers 3

3

Various builds of ffmpeg have certain modules enabled/disabled, often for legal reasons. (Certain patented codecs and what not can generally not be distributed, except in source form, depending on the country.)

If you want the full package, you will likely have to build it yourself, or browse Google for an hour, searching for a binary that has the modules you are looking for.

1
1

You could try using the Medibuntu Repository. It is a third-party repository that contains packages that are unable to be included in the official Ubuntu repositories.

See http://ubuntuforums.org/showthread.php?t=1117283 for more information.

1
  • Thanks for the tip. I was actually using the Medibuntu repositories already. An update they pushed through was what broke my installation. Oct 4, 2011 at 21:53
1

When using Medibuntu, the core libav packages are still installed from the official Ubuntu repository. Medibuntu adds the -extra packages which provide the non-free functionality.

What happens is that when Ubuntu releases a new version of libav, the -extra packages in Medibuntu take a while to be updated. The old -extra packages are not compatible with the new version, and so when you upgrade the -extra packages are removed, thereby removing the non-free codecs.

The solution is to not upgrade libav until Medibuntu have released updated -extra packages.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .