android全平台编译ffmpeg以及x264实战

本文介绍了如何在Ubuntu 16.05上使用android-ndk-r14b编译ffmpeg-3.3.9和x264。详细步骤包括修改ffmpeg configure文件,编写config.sh环境配置文件,以及两个编译脚本build_x264.sh和build_ffmpeg.sh。通过这两个脚本,可以针对不同架构如arm、arm64、x86等编译所需的库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.编译环境
操作系统:ubuntu 16.05
android-ndk-r14b
注意 这里如果使用高版本比如android-ndk-r16b 编译会报错
ffmpeg-3.3.9版本
2.编辑ffmpeg-3.3.9的configure文件
SLIBNAME_WITH_MAJOR=’ ( S L I B N A M E ) . (SLIBNAME). (SLIBNAME).(LIBMAJOR)’
LIB_INSTALL_EXTRA_CMD=’KaTeX parse error: Can't use function '$' in math mode at position 10: (RANLIB)"$̲(LIBDIR)/$(LIBN…(RANLIB)" ( L I B D I R ) / (LIBDIR)/ (LIBDIR)/(LIBNAME)"’
SLIB_INSTALL_NAME=’ ( S L I B N A M E W I T H M A J O R ) ′ S L I B I N S T A L L L I N K S = ′ (SLIBNAME_WITH_MAJOR)' SLIB_INSTALL_LINKS=' (SLIBNAMEWITHMAJOR)SLIBINSTALLLINKS=(SLIBNAME)’
3.编写config.sh环境配置文件

#NDK路径
export ANDROID_NDK_ROOT=/home/android/android-ndk-r14b

export AOSP_TOOLCHAIN_SUFFIX=4.9

export AOSP_API=“android-14”

#架构
if [ "KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲" -lt 1 ]; then…(tr [A-Z] [a-z] <<< “$1”)
fi

#根据不同架构配置环境变量
case “$THE_ARCH” in
arm|armv5|armv6|armv7|armeabi)
TOOLCHAIN_BASE=“arm-linux-androideabi”
TOOLNAME_BASE=“arm-linux-androideabi”
AOSP_ABI=“armeabi”
AOSP_ARCH=“arch-arm”
HOST=“arm-linux-androideabi”
AOSP_FLAGS="-march=armv5te -mtune=xscale -mthumb -msoft-float -funwind-tables -fexceptions -frtti"
FF_EXTRA_CFLAGS="-O3 -fpic -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfp -marm -march=armv6 "
FF_CFLAGS="-O3 -Wall -pipe -ffast-math -fstrict-aliasing -Werror=strict-aliasing -Wno-psabi -Wa,–noexecstack -DANDROID "
;;
armv7a|armeabi-v7a)
TOOLCHAIN_BASE=“arm-linux-androideabi”
TOOLNAME_BASE=“arm-linux-androideabi”
AOSP_ABI=“armeabi-v7a”
AOSP_ARCH=“arch-arm”
HOST=“arm-linux-androideabi”
AOSP_FLAGS="-march=armv7-a -mthumb -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,–fix-cortex-a8 -funwind-tables -fexceptions -frtti"
FF_EXTRA_CFLAGS="-DANDROID -fPIC -ffunction-sections -funwind-tables -fstack-protector -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 "
FF_CFLAGS="-O3 -Wall -pipe -ffast-math -fstrict-aliasing -Werror=strict-aliasing -Wno-psabi -Wa,–noexecstack -DANDROID "
;;
har

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值