網上常見的在CentOS7 x64中安裝x264和libav的方法是:
git clone http://git.videolan.org/git/x264.git ./configure --disable-asm make make install
wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm rpm -hiv x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm rpm -hiv x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm cd /usr/local/src git clone https://gitee.com/nwaycn/libav.git cd libav ./configure --enable-pic --enable-shared --enable-libx264 --enable-gpl --extra-libs="-ldl" make make install cp /usr/local/lib/pkgconfig/libavcodec.pc /usr/lib64/pkgconfig/ cp /usr/local/lib/pkgconfig/libavdevice.pc /usr/lib64/pkgconfig/ cp /usr/local/lib/pkgconfig/libavfilter.pc /usr/lib64/pkgconfig/ cp /usr/local/lib/pkgconfig/libavformat.pc /usr/lib64/pkgconfig/ cp /usr/local/lib/pkgconfig/libavresample.pc /usr/lib64/pkgconfig/ cp /usr/local/lib/pkgconfig/libavutil.pc /usr/lib64/pkgconfig/ cp /usr/local/lib/pkgconfig/libswscale.pc /usr/lib64/pkgconfig/ ldconfig
但在個人環境中,如此編譯過程中,總有報錯。系統也是CentOS7 x64 2003版本,后來網上找了一套的x264和libav,編譯起來沒問題一直在用。
但近日在阿里雲服務器上CentOS7.8 x64,用我找的這套編譯又報錯,主要是libav不能正常編譯通過,修改代碼要改的地方太多。
首先是:
libavcodec/libx264.c: In function 'X264_frame':libavcodec/libx264.c:246:9: error: 'x264_bit_depth' undeclared (first use in this function)if (x264_bit_depth > 8)^libavcodec/libx264.c:246:9: note: each undeclared identifier is reported only once for each function it appears inlibavcodec/libx264.c: In function 'X264_init_static'
找到該文件,將小寫改為大寫后,重新編譯
undefined reference to x264_encoder_open_160
各種錯誤,要一點一點去改,太麻煩了。
於是再去嘗試上面兩種git clone方式,居然通過了,很神奇,先記錄一下。
