mac下 ffmpeg 编译到android平台

#!/bin/bash

# set the base path to your Android NDK (or export NDK to environment)

if [[ "x$NDK_BASE" == "x" ]]; then
    NDK_BASE=/Users/zd/androidStudio/ndk/android-ndk-r10e
    echo "No NDK_BASE set, using $NDK_BASE"
fi
#编译外部文件临时目录
#export TMPDIR=/usr/local/include #默认目录 tmp

NDK_PLATFORM_VERSION=16
NDK_ABI=arm
NDK_COMPILER_VERSION=4.9
NDK_SYSROOT=$NDK_BASE/platforms/android-$NDK_PLATFORM_VERSION/arch-$NDK_ABI
NDK_UNAME=`uname -s | tr '[A-Z]' '[a-z]'` # Convert Linux -> linux
HOST=$NDK_ABI-linux-androideabi
NDK_TOOLCHAIN_BASE=$NDK_BASE/toolchains/$HOST-$NDK_COMPILER_VERSION/prebuilt/$NDK_UNAME-x86_64
CC="$NDK_TOOLCHAIN_BASE/bin/$HOST-gcc --sysroot=$NDK_SYSROOT"
LD=$NDK_TOOLCHAIN_BASE/bin/$HOST-ld

BUILD_PATH=/Users/zd/Desktop/ffmpeg-2.8.4


./configure \
$DEBUG_FLAG \
--arch=arm \
--target-os=linux \
--enable-runtime-cpudetect \
--enable-pic \
--enable-frei0r \
--enable-filter=frei0r \
--enable-gpl \
--disable-shared \
--enable-static \
--cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \
--sysroot="$NDK_SYSROOT" \
--extra-cflags="-pie -fPIE -march=armv6 -L/usr/local/include -L/Users/zd/androidStudio/ndk/android-ndk-r10e/platforms/android-16/arch-arm/usr/include" \
--extra-ldflags="-pie -fPIE -L/usr/local/lib -L/usr/local/lib -L/Users/zd/androidStudio/ndk/android-ndk-r10e/platforms/android-16/arch-arm/usr/lib" \
--enable-ffmpeg \
--enable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-network \
--enable-decoder=h264 \
--enable-decoder=aac \
--enable-vdpau \
--enable-decoder=h264_vdpau \
--enable-parser=h264 \
--enable-version3 \
--enable-w32threads \
--enable-libx264 \
--enable-encoder=libx264 \
--enable-yasm \
--enable-small \

#添加了cflags 和 ldflags 的路径 libx264路径找到安装/usr/local/include已经变移到系统 frei0r:/Users/zd/androidStudio/ndk/android-ndk-r10e/platforms/android-16/arch-arm/usr/include 头文件丢到了里面
 
#单独执行frei0r的 configure文件后把里面的frei0r.h文件放入ndk对应的platforms api ex:android-ndk-r10e/platforms/android-16/arch-arm/usr/include下面 这里的android版本与 上面 NDK_PLATFORM_VERSION 对应
#并且 此目录下的math.h文件下函数后缀  __NDK_FPABI_MATH __pure2去掉了
#makefile 的文件加入了pie
#only position independent executables (PIE) are supported
#LOCAL_CFLAGS += -pie -fPIE
#LOCAL_LDFLAGS += -pie -fPIE
#libx264 ./configure  --enable-static
#在   /ffmpeg/libavfilter/下的 vf_frei0r.c 里面的frei0r_init函数包含外部滤镜引入路径 名称:frei0r_pathlist
#修改这个替换so文件所在路径

转载于:https://my.oschina.net/u/1428948/blog/673332

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值