未知的编码器“ libx264”


74

我在ubuntu11上安装了ffmpeg 0.8.9

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

当我运行它

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

它说

未知的编码器“ libx264”

(注意:可能会发生相同的错误avconv

我怎样才能解决这个问题?谢谢!


2
x264是否已安装在系统上(应该与Ubuntu上的“ apt-get install libx264-dev”一样容易)?“ ffmpeg -codecs”是否有libx264行?
多媒体Mike

但是,确切的潜在问题是什么?我在/ opt / lib“ libx264.so”“ libx264.so”中有文件。“ libx264.a”。确切的问题必须是这些文件需要找到而不是(例如opt / lib不在LD_LIBRARY_PATH中)
PandaWood 2013年

Answers:


105

我正在使用Ubuntu 11.04,并且也遇到了此错误- Unknown encoder 'libx264'。安装包装libavcodec-extra-53解决该问题。

在Ubuntu 14.04 LTS中,所需的软件包称为libavcodec-extra-54(和libav-tools


7
也许我没有一直跟上更新,但是在我的Ubuntu 11.04上我必须安装libavcodec-extra-52,但53不存在。
罗伯特·瓦勒

这个对我有用,可以用x264获得simplescreenrecorder编码。
gbmhunter 2014年

3
在Ubuntu 13.10中仍然有必要(并且正在运行)(详细)。
庞贝2014年

4
为什么安装此软件包会删除大量已安装的编码器?这是谁写ffmpeg的人和写avconv的人之间令人讨厌的争执的一部分吗?
cxrodgers 2014年

同时libavcodec-ffmpeg-extra56(简单地说libavcodec-extra
BIOStheZerg '18年

43

首先安装这些库

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

对于Ubuntu 20.04问题

sudo apt-get install nasm

并跳过此手动nasm安装...但是从Ubuntu 17.04开始 sudo apt-get install nasm ,该版本没有提供足够新的nasm,因此请手动安装

从以下网址获取nasm的资源:http://www.nasm.us/pub/nasm/releasebuilds/?C= M;O = D 下载最新的

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

然后对于x264:

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

对于mp3,请获取LAME(libmp3lame)

sudo apt-get install libmp3lame-dev

或从http://lame.sourceforge.net/版本v3.100手动安装,然后将其正常显示

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

最后下载ffmpeg源代码并进行安装:

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

我感到您很痛苦,但这有效-在Ubuntu 18.10上仍然有效


1
我尝试了此操作,但是configure在最后一步中给出了以下错误:“找不到libfaac”
Otavio Macedo

1
+1-在Mac OS Mavericks(10.9.4)上对我有用。我一直在努力尝试安装,libx264以便可以将其集成到FFMPEG大约2个小时的时间内。非常感谢!
rayryeng 2014年

3
--enable-libfaac对我不起作用。不知道是否相同,但是我使用了此参数--enable-libfdk-aac,之前已安装apt install libfdk-aac-dev
jperelli

@jperelli cool现在已更新...以上是Ubuntu 17.04的最新版本
Scott Stensland

x264部分步骤中的错误使-j8:filters / video / resize.c:在函数“ pick_closest_supported_csp”中:filters / video / resize.c:215:30:错误:“ AVComponentDescriptor {aka const struct AVComponentDescriptor}”没有成员名为“深度” if(pix_desc-> comp [i] .depth> 8)^ Makefile:277:目标“过滤器/视频/resize.o”的配方失败:*** [过滤器/视频/resize.o]错误1
YuZ

9

使用OpenAI Gym时,我在Ubuntu 18上遇到此错误。您需要正确版本的ffmpeg和x264编码器。为了获得它们,我使用了以下方法,并且有效:

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

这个为我工作。我确实尝试从安装ffmpegsnap并启用了snap,libx264但是一旦我安装ffmpeg-python,再次conda自动安装ffmpeg,自动安装的ffmpeg禁用了libx264。因此,为此版本安装带有conda的ffmpeg是我唯一有效的解决方案。
弗朗瓦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.