Unbekannter Encoder 'libx264'

73

Ich habe ffmpeg 0.8.9 auf ubuntu11 von installiert

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

Wenn ich es laufen lasse

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

Es sagte

Unbekannter Encoder 'libx264'

(Hinweis: Der gleiche Fehler kann auftreten. avconv)

Wie kann ich das beheben? Vielen Dank!

Warum
quelle
2
Ist x264 auf dem System installiert (sollte so einfach sein wie "apt-get install libx264-dev" unter Ubuntu)? Hat "ffmpeg -codecs" eine libx264-Zeile?
Multimedia Mike
Was ist jedoch das genaue zugrunde liegende Problem? Ich habe Dateien in / opt / lib "libx264.so" "libx264.so". "libx264.a". Das genaue Problem muss sein, dass diese Dateien gefunden werden müssen und nicht (z. B. opt / lib nicht in LD_LIBRARY_PATH)
PandaWood

Antworten:

105

Ich benutze Ubuntu 11.04 und bin auch auf diesen Fehler gestoßen - Unknown encoder 'libx264'. Durch die Installation des Pakets wurde libavcodec-extra-53das Problem behoben.

In Ubuntu 14.04 LTS heißt das benötigte Paket libavcodec-extra-54(und libav-tools)

Sathish
quelle
7
Vielleicht habe ich nicht mit Updates Schritt gehalten, aber auf meinem Ubuntu 11.04 musste ich libavcodec-extra-52 installieren, 53 gab es nicht.
Robert Wahler
Dieser hat für mich funktioniert, um eine einfache Bildschirmrekorder-Codierung in x264 zu erhalten.
Gbmhunter
3
Immer noch notwendig (und funktioniert) in Ubuntu 13.10 (frech).
Bombe
4
Warum entfernt die Installation dieses Pakets eine große Anzahl installierter Encoder? Ist dies Teil dieses irritierenden Streits zwischen demjenigen, der ffmpeg schreibt, und demjenigen, der avconv schreibt?
cxrodgers
Inzwischen ist es libavcodec-ffmpeg-extra56(und einfach libavcodec-extra)
BIOStheZerg
43

Beginnen Sie mit der Installation dieser Bibliotheken

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

Für Ubuntu 20.04 Ausgabe

sudo apt-get install nasm

und hüpfen Sie über diese manuelle Nasm-Installation ... doch ab Ubuntu 17.04 sudo apt-get install nasm wird nicht genügend Nasm bereitgestellt, also installieren Sie diese manuell

Quelle für Nasm erhalten Sie unter http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D. Laden Sie dann die neueste Version herunter

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

Dann für x264:

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

Für mp3 bekomme LAME (libmp3lame)

sudo apt-get install libmp3lame-dev

oder installieren Sie manuell von http://lame.sourceforge.net/ Version v3.100 und geben Sie es dann normal

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

Laden Sie zum Schluss die ffmpeg-Quelle herunter und installieren Sie:

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

Ich fühle deinen Schmerz, aber das funktioniert - immer noch gültig unter Ubuntu 18.10

Scott Stensland
quelle
1
Ich habe es versucht, aber das configureim letzten Schritt gibt den folgenden Fehler: "libfaac nicht gefunden"
Otavio Macedo
1
+1 - Dies funktionierte bei mir unter Mac OS Mavericks (10.9.4). Ich habe versucht zu versuchen libx264, es zu installieren, damit es FFMPEGfür ungefähr 2 Stunden integriert werden kann. Ich danke dir sehr!
Rayryeng
3
--enable-libfaacfunktioniert bei mir nicht Ich bin mir nicht sicher, ob es dasselbe ist, aber ich habe diesen Parameter verwendet --enable-libfdk-aac, bevor ich ihn installiert habeapt install libfdk-aac-dev
jperelli
@jperelli cool jetzt aktualisiert ... oben ist aktuell für Ubuntu 17.04
Scott Stensland
Fehler im x264-Teilschritt make -j8: filter / video / resize.c: In der Funktion 'pick_closest_supported_csp': filter / video / resize.c: 215: 30: Fehler: 'AVComponentDescriptor {aka const struct AVComponentDescriptor}' hat kein Mitglied benannt 'Tiefe' if (pix_desc-> comp [i] .depth> 8) ^ Makefile: 277: Rezept für Ziel 'Filter / Video / Resize.o' fehlgeschlagen make: *** [Filter / Video / Resize.o] Fehler 1
YuZ
9

Ich habe diesen Fehler mit Ubuntu 18 bei der Verwendung von OpenAI Gym erhalten. Sie benötigen korrekte Versionen von ffmpeg und x264 Encoder. Um sie zu bekommen, habe ich folgendes verwendet und es hat funktioniert:

conda install x264=='1!152.20180717' ffmpeg=4.0.2 -c conda-forge
Shital Shah
quelle
Dieser hat für mich gearbeitet. Ich habe versucht, ffmpeg von zu installieren snapund snap wird aktiviert, libx264aber sobald ich installiert habe ffmpeg-python, wird das condaautomatisch neu ffmpeginstallierte ffmpeg das automatisch installierte ffmpeg deaktiviert. Daher ist die Installation von ffmpeg mit conda für diese spezielle Version die einzig funktionierende Lösung für mich.
Franva