首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决“错误: libx264未找到”?

如何解决“错误: libx264未找到”?
EN

Stack Overflow用户
提问于 2014-08-01 11:21:10
回答 4查看 24.3K关注 0票数 6

我需要安装具有libx264支持的ffmpeg,以支持H.264编码。我使用下面的脚本成功地安装了libx264,并在android-ndk-r9d中提供了工具链。

代码语言:javascript
复制
 #!/bin/bash
 NDK=~/android-ndk-r9d
 SYSROOT=$NDK/platforms/android-8/arch-arm/
 TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
 function build_one
 {
 ./configure \
 --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
 --sysroot="$SYSROOT" \
 --host=arm-linux \
 --enable-pic \
 --enable-shared \
 --disable-cli
 make clean
 make
 make install
 }
 build_one 

现在,我想用libx264支持来构建ffmpeg。我在下面的脚本中使用了--启用-- with 264,启用--非免费,--启用--gpl选项,如下所示。

代码语言:javascript
复制
#!/bin/bash
NDK=~/android-ndk-r9d
SYSROOT=$NDK/platforms/android-8/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--enable-nonfree \
--enable-gpl \
--enable-libx264 \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one

但是当我运行这个脚本时,我会得到错误" error : libx264 not“。

我认为ffmpeg无法确定libx264的安装位置。安装libx264之后,我在/usr/local/lib可执行文件/usr/local/bin中有libx264.so文件,在/usr/local/include目录中有头文件。

为了检测libx264,我需要对ffmpeg构建脚本做什么更改?

注意:我使用Ubuntu12.04(64位)进行交叉编译。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-08-03 00:11:29

确保您的$ADDI_CFLAGS变量(在--extra-cflags中传递)包括-I /usr/local/include

票数 8
EN

Stack Overflow用户

发布于 2015-12-07 15:54:22

在较新版本的libx264上,必须使用--disable-opencl配置ffmpeg以正确找到库。

./configure --enable-static --disable-opencl

代码语言:javascript
复制
wget http://download.videolan.org/pub/x264/snapshots/x264-snapshot-20191217-2245-stable.tar.bz2
tar xjvf x264-snapshot-20191217-2245-stable.tar.bz2
cd x264-snapshot*
./configure --enable-static --disable-opencl
make install
票数 9
EN

Stack Overflow用户

发布于 2014-08-04 08:26:25

您也需要交叉编译用于Android的libx264,不要使用您的linux发行版中的一个。

交叉编译后,通过在-I/path/to/x264 var中添加$ADDI_CFLAGS,将路径添加到libx264.a。

要完成所有这些,您可以直接尝试以下构建脚本:https://github.com/ph0b/FFmpeg-Android

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25079145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档