Unknown encoder 'libx264'

UbuntuFfmpegX264Avconv

Ubuntu Problem Overview


I installed ffmpeg 0.8.9 on ubuntu11 by

> ./configure --enable-gpl --enable-nonfree --enable-pthreads > --enable-libfaac --enable-libmp3lame --enable-libx264

When I run it

ffmpeg -y -i test.mp4 -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -vcodec libx264 -b 250k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 250k -maxrate 250k -bufsize 250k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 a.ts

It said

> Unknown encoder 'libx264'

(Note: the same error could occour with avconv)

How can I fix this? Thanks!

Ubuntu Solutions


Solution 1 - Ubuntu

I am using Ubuntu 11.04, and I also came across this error - Unknown encoder 'libx264'. Installing the package libavcodec-extra-53 resolved the problem.

In Ubuntu 14.04 LTS the package that is needed is called libavcodec-extra-54 (and libav-tools)

Solution 2 - Ubuntu

start by installing these libraries

sudo apt-get install libfdk-aac-dev libass-dev libopus-dev  \
libtheora-dev libvorbis-dev libvpx-dev libssl-dev

For Ubuntu 20.04 issue

sudo apt-get install nasm

and hop over this manual nasm install ... yet as of Ubuntu 17.04 sudo apt-get install nasm does not supply a new enough nasm so install that manually

get source for nasm at http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D download the latest then

cd ~/src/nasm-2.13.02  #  update to release you just downloaded
./configure
make -j $(nproc)
sudo make install

Then for x264 :

git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-static --enable-shared
make -j $(nproc)
sudo make install

For mp3 get LAME (libmp3lame)

sudo apt-get install libmp3lame-dev

or install manually from http://lame.sourceforge.net/ version v3.100, then give it the normal

cd lame-3.100/
./configure
make -j $(nproc)
sudo make install

Finally download ffmpeg source and do install :

git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg

./configure  --enable-gpl   --enable-libass   --enable-libfdk-aac   --enable-libfreetype   --enable-libmp3lame   --enable-libopus   --enable-libtheora   --enable-libvorbis   --enable-libvpx   --enable-libx264   --enable-nonfree --enable-shared --enable-openssl   

make -j $(nproc)
sudo make install

I feel your pain, but this works - still valid on Ubuntu 18.10

Solution 3 - Ubuntu

I got this error with Ubuntu 18 while using OpenAI Gym. You need correct versions of ffmpeg and x264 encoder. To get them, I used following and it worked:

conda install x264=='1!152.20180717' ffmpeg=4.0.2 -c conda-forge

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionwhyView Question on Stackoverflow
Solution 1 - UbuntuSathishView Answer on Stackoverflow
Solution 2 - UbuntuScott StenslandView Answer on Stackoverflow
Solution 3 - UbuntuShital ShahView Answer on Stackoverflow