FFMPEG AAC Encoder Vanished?

6,979

Solution 1

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.

Solution 2

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.

Solution 3

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.

Share:
6,979
Andrew Ensley
Author by

Andrew Ensley

With continuous experience beginning in 2004, I am a seasoned software developer, system administrator, database administrator, DevOps engineer, and team leader. My favorite areas of focus in development are performance, optimization, and security. I have experience with: Git, Java, C#, Python, TypeScript, Node.js, React.js, SQL, PHP, Linux, Windows, MacOS, Infrastructure-as-Code, Configuration-as-Code Azure, ADO, Jenkins, GitHub, Nexus RM/IQ, JFrog Artifactory, SonarQube, Docker, Kubernetes, Cloud Foundry, TAS, TKGi, DigitalOcean, Ansible, AWS Visual Studio Code, IntelliJ IDEA, Eclipse, PyCharm, Android Studio I love automation and open-source software.

Updated on September 18, 2022

Comments

  • Andrew Ensley
    Andrew Ensley 3 months

    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.

    • Admin
      Admin over 11 years
      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.
    • Admin
      Admin over 11 years
      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.
  • Andrew Ensley
    Andrew Ensley over 11 years
    Yup. That worked. Followed this guide: ubuntuforums.org/showpost.php?p=9868359&postcount=1289
  • Andrew Ensley
    Andrew Ensley about 11 years
    Thanks for the tip. I was actually using the Medibuntu repositories already. An update they pushed through was what broke my installation.