标签:android android-ndk ffmpeg libx264
我需要安装ffmpeg,支持libx264以启用H.264编码.我使用android-ndk-r9d中提供的工具链使用下面的脚本成功安装了libx264.
#!/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.我在下面的脚本中使用了以下脚本–enable-libx264, – enable-nonfree, – enable-gpl选项.
#!/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 found”.
我想ffmpeg无法弄清楚libx264的安装位置.安装libx264后,我在/usr/local/bin中的/usr/local/lib可执行文件中有libx264.so文件,在/usr/local/include目录下有头文件.
我需要对ffmpeg构建脚本进行所有更改才能使其检测到libx264?
注意:我使用Ubuntu 12.04(64位)进行交叉编译.
解决方法:
确保你的$ADDI_CFLAGS变量(你传入–extra-cflags)包含-I /usr/local/include
标签:android,android-ndk,ffmpeg,libx264 来源: https://codeday.me/bug/20190713/1454076.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。