昨天我想自己编译x264,因为videolan上的最新二进制文件是在没有libswscale的情况下编译的:link
如果我只是使用
./configure --enable-static --enable-shared
然后二进制文件将从libswscale-dev和libavformat-dev软件包中编译libswscale 3.1.101和libavformat 56.40.101。如果我克隆FFmpeg' git并使用
./configure --enable-static --enable-shared --extra-cflags="-I$HOME/FFmpeg"
二进制文件将具有最新的libswscale和libavformat,但它不会工作:
pc@pcroland:~/bin$ ./x264 --version
x264 0.148.2744 b97ae06
(libswscale 4.3.101)
(libavformat 57.58.101)
built on Dec 4 2016, gcc: 5.4.0 20160609
x264 configuration: --bit-depth=8 --chroma-format=all
libx264 configuration: --bit-depth=8 --chroma-format=all
x264 license: GPL version 2 or later
libswscale/libavformat license: GPL version 2 or later
pc@pcroland:~/bin$ ./x264 --input-res 1920x1080 --fps 24000/1001 --vf resize:720,404,method=spline --output /home/pc/test.264 /home/pc/asd.264
[h264 @ 0x1bc3ec0] Format h264 detected only with low score of 1, misdetection possible!
[h264 @ 0x1bc3ec0] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
lavf [error]: could not find input stream info
avs [error]: failed to load avisynth
raw [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
resize [info]: resizing to 720x404
x264 [info]: using SAR=404/405
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
x264 [info]: profile High, level 3.0
Bus error (core dumped)
pc@pcroland:~/bin$
如何重现错误:
cd; git clone https://github.com/FFmpeg/FFmpeg; git clone http://git.videolan.org/git/x264.git; cd x264; ./configure --enable-static --enable-shared --extra-cflags="-I$HOME/FFmpeg" --bindir="$HOME/bin"; sudo make; sudo make install
系统:Ubuntu 16.04