2017-11-12 5 views
-2

Ich versuche, ffmpeg mit Nvidia-Unterstützung zu kompilieren, indem Sie den Handbüchern auf https://trac.ffmpeg.org/wiki/CompilationGuide/Centos und https://developer.nvidia.com/ffmpeg folgen. Ich habe mit dem folgenden Befehl endet:CentOS 7.4.1708: FEHLER: x265 nicht gefunden mit pkg-config

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --enable-pthreads --disable-w32threads --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include -I/usr/local/cuda/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib -L/usr/local/cuda/lib64" --extra-libs='-lpthread -lm' --bindir="$HOME/bin" --enable-gpl --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp

Ich erhalte die wunderbaren Fehler

ERROR: x265 not found using pkg-config

sucht in ffbuild/config.log zeigt die folgende Fehlermeldung:

gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -I/home/agilbert/ffmpeg_build/include -I/usr/local/cuda/include -std=c11 -fomit-frame-pointer -pthread -I/home/agilbert/ffmpeg_build/include -I/usr/include/freetype2 -I/home/agilbert/ffmpeg_build/include/opus -I/home/agilbert/ffmpeg_build/include/opus -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -I/home/agilbert/ffmpeg_build/include -L/home/agilbert/ffmpeg_build/lib -c -o /tmp/ffconf.MfrVBc4k/test.o /tmp/ffconf.MfrVBc4k/test.c 
In file included from /tmp/ffconf.MfrVBc4k/test.c:1:0: 
/home/agilbert/ffmpeg_build/include/x265.h:1753:40: error: expected ';', ',' or ')' before '&' token 
FILE* x265_csvlog_open(const x265_param& param); 
             ^
/home/agilbert/ffmpeg_build/include/x265.h:1757:40: error: expected ';', ',' or ')' before '&' token 
void x265_csvlog_frame(const x265_param& param, const x265_picture& pic); 
             ^
/home/agilbert/ffmpeg_build/include/x265.h:1762:64: error: expected ';', ',' or ')' before '&' token 
void x265_csvlog_encode(x265_encoder *encoder, const x265_stats& stats, int argc, char** argv); 
                   ^
/home/agilbert/ffmpeg_build/include/x265.h:1766:36: error: expected ';', ',' or ')' before '&' token 
void x265_dither_image(x265_picture& pic, int picWidth, int picHeight, int16_t *errorBuf, int bitDepth); 
            ^
/home/agilbert/ffmpeg_build/include/x265.h:1815:50: error: expected ';', ',' or ')' before '&' token 
    FILE*   (*csvlog_open)(const x265_param&); 
               ^
/home/agilbert/ffmpeg_build/include/x265.h:1816:51: error: expected ';', ',' or ')' before '&' token 
    void   (*csvlog_frame)(const x265_param&, const x265_picture&); 
               ^
/home/agilbert/ffmpeg_build/include/x265.h:1817:67: error: expected ';', ',' or ')' before '&' token 
    void   (*csvlog_encode)(x265_encoder*, const x265_stats&, int, char**); 
                   ^
/home/agilbert/ffmpeg_build/include/x265.h:1818:47: error: expected ';', ',' or ')' before '&' token 
    void   (*dither_image)(x265_picture&, int, int, int16_t*, int); 
              ^
/home/agilbert/ffmpeg_build/include/x265.h:1820:1: warning: no semicolon at end of struct or union [enabled by default] 
} x265_api; 
^ 

gcc Version ist gcc-4.8.5-16.el7.x86_64

Wie bei einer Frage unten: Ja - x265 ist installiert wie https://trac.ffmpeg.org/wiki/CompilationGuide/Centos und ja pkg-config findet es. Der Kompilierungsfehler lässt mich denken, dass ich ein Flag für die Option --pkg-config-flags optnion verpasse, aber ich kann keinen finden, der funktioniert.

Weiß jemand, was ich an pkg-config weitergeben sollte, damit es x265 aktiviert?

+0

Installieren Sie entweder die x265-Codec-Bibliothek oder geben Sie nicht an, dass Sie sie verwenden möchten. Das hat offensichtlich nichts mit CUDA zu tun, deshalb habe ich das Tag entfernt. Tatsächlich sehe ich wirklich nicht, wo diese Frage (so wie sie ist, hast du überhaupt wirklich eine Frage gestellt?) Überhaupt ein Thema für [SO] ist. – talonmies

+0

x265 ist installiert - gemäß der ersten Anleitung, der ich folgte. Sie werden bemerken, dass die Fehlermeldung ein Syntaxproblem ist, nicht dass x265.h nicht gefunden wurde. Ich überarbeite das, um die Frage etwas offensichtlicher zu machen :-) – Adrian

+1

Was sagt Ihr x265.pc? – Mulvya

Antwort

0

Falls dies jemand anderem hilft, habe ich am Ende herausgefunden, dass ich die Option --enable-libx265 nicht angeben muss, wenn Sie auch --enable-nvenc angeben.

Ich weiß immer noch nicht, was der Kompilierungsfehler war, aber mit --enable-nvenc können Sie in H.265 mit nVidia-basierten GPU-Beschleunigung kodieren.

+0

Sie waren richtig - behoben. – Adrian