mac下 ffmpeg 编译到android平台(支持 frei0r)
2016-05-12 17:35
1566 查看
#!/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文件所在路径
ps:作为后期学习资料,不喜勿喷
相关文章推荐
- Android的VectorDrawable与AnimatedVectorDrawable
- Android自定义属性
- Android入门开发之Intent
- Android Studio环境下EditText的BUG
- Android 一个小例子理解实际开发中坐标计算的过程
- Android学习--《数据的保存》
- android动画入门
- 怎么去除android listview的默认点击效果
- 用Android访问本地站点---(localhost,10.0.2.2)要区别
- android 存取数据。
- 安卓系统权限申请列表
- android 常用util方法
- 条形码、二维码扫一扫和生成二维码采用ZXing3.0开源库在android studio中实现
- Android双击back键退出程序
- Android的Button按钮,ACTION_UP事件不触发解决方案
- android Looper源码分析
- Android之Service与IntentService的比较
- Android DrawerLayout 高仿QQ5.2双向侧滑菜单
- android studio
- Activity设置android:windowIsTranslucent属性之后,点击按钮跳转到其他的Activity