2017-11-12 61 views
-2

https://trac.ffmpeg.org/wiki/CompilationGuide/Centoshttps://developer.nvidia.com/ffmpeg의 가이드에 따라 Nvidia 지원을 사용하여 ffmpeg를 컴파일하려고합니다.CentOS 7.4.1708 : ERROR : pkg-config를 사용하여 x265를 찾을 수 없습니다.

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

내가 ffbuild/config.log에서 찾고

ERROR: x265 not found using pkg-config

다음과 같은 오류 계시 멋진 오류를 받고 있어요 :

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 나는 다음과 같은 명령을 결국했습니다 gcc-4.8.5-16.el7.x86_64

아래의 질문에 따라 : 예 - x265는 https://trac.ffmpeg.org/wiki/CompilationGuide/Centos에 따라 설치되며 예 pkg-config가이를 찾습니다. 컴파일 오류로 인해 --pkg-config-flags optnion에 깃발이 누락되었다고 생각되지만 작동하는 플래그를 찾을 수 없습니다.

x265를 사용하려면 pkg-config로 전달해야하는 내용을 알고 있습니까?

+0

x265 코덱 라이브러리를 설치하거나 사용하도록 지정하지 마십시오. 이것은 분명히 CUDA와 아무 관련이 없으므로 태그를 제거했습니다. 실제로 나는 정말로이 질문이 (어디서나, 정말로 질문을 했습니까?) 어디에 있는지 전혀 알지 못합니다. – talonmies

+0

x265가 설치되었습니다. - 내가 따라 갔던 첫 번째 안내에 따라. 이 오류 메시지는 x265.h를 찾을 수 없다는 구문 오류가있는 것을 알 수 있습니다. 질문을 좀 더 명확하게하기 위해 이것을 수정하겠습니다 :-) – Adrian

+1

x265.pc는 뭐라고 말합니까? x265 설명 : – Mulvya

답변

0

다른 사람에게 도움이 될 경우, --enable-nvenc도 지정하면 --enable-libx265 옵션을 제공 할 필요가 없다는 것을 결국 알았습니다.

아직도 컴파일 오류가 무엇인지 알 수 없지만 --enable-nvenc을 사용하면 nVidia 기반 GPU 가속을 사용하여 H.265로 인코딩 할 수 있습니다.

+0

정확함 - 고침. – Adrian