本文可以编译出集成了x264和fdk_aac的库,而且支持neon

下载源码:

https://github.com/mstorsjo/fdk-aac

fdk_aac目前最新版是0.1.4,详见其ChangeLog,此处用的是0.1.1版

http://www.videolan.org/developers/x264.html

ffmpeg-2.7.2

解压后重命名文件夹:

mv fdk-aac-0.1.1 fdk-aac mv ffmpeg-2.7.2 ffmpeg mv x264-snapshot-20150813-22455 x264  cp  cmdl_parser.cpp fdk-aac/libSYS/src/ cp genericStds.h fdk-aac/libSYS/include/ 需要修改脚本里面ndk的路径。
chmod 777 build_android_static.sh 
./build_android.sh > result.log

结果:

本文所用脚本下载:

https://yunpan.cn/c6SrYusQUPWqm  访问密码 5b38

精简版本:

附录:

问题1:

编译libSYS/src/cmdl_parser.cpp出错

stdio.h:57:9: error: 'off_t' does not name a type   

解决:注释掉cmdl_parser.cpp中的下面语句:

//#define _SYS_TYPES_H_   

问题2:

libSYS/src/genericStds.cpp:108 : stdio.h:57:9: error: 'off_t' does not name a type   

解决:修改libSYS\include\genericStds.h

注释掉:

//#define _SYS_TYPES_H_   

问题3:

libavcodec/libavcodec.a(fft_fixed_init_arm.o): In function `ff_fft_fixed_init_arm': fft_fixed_init_arm.c:(.text.unlikely+0x2c): undefined reference to `ff_fft_fixed_calc_neon' libavcodec/libavcodec.a(fft_init_arm.o): In function `ff_fft_init_arm': fft_init_arm.c:(.text.unlikely+0x30): undefined reference to `ff_fft_permute_neon' fft_init_arm.c:(.text.unlikely+0x34): undefined reference to `ff_fft_calc_neon' 

但好像编译出了.a,只是最后Building one...时报错了。

解决:使用最新的ffmpeg版本,并注释掉build_one那一行。

艺搜参考

https://github.com/nxtreaming/FFmpegAndroid/blob/master/FFmpegLibrary/jni/build_android.sh

http://blog.csdn.net/iamshaofa/article/details/17551185

http://www.51testing.com/html/88/377588-834412.html

在CentOS中编译FFmpeg for Android静态库(含fdk aac,x264)的更多相关文章

  1. 64位 CentOS NDK 编译 FFMPEG

    64位 CentOS NDK 编译 FFMPEG 一.           参考文章: http://www.cnblogs.com/baopu/p/4733029.html http://www.c ...

  2. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  3. linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  4. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  5. Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

    Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...

  6. MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC(转)

    原文转自 https://blog.csdn.net/albertsh/article/details/52838419 1.使用标准Windows库 使用WINDOWS SDK API库,不使用MF ...

  7. VS编译linux项目生成静态库并在另一个项目中静态链接的方法

    VS2017也推出很久了,在单位的时候写linux的服务端程序只能用vim,这让用惯了IDE的我很难受. 加上想自己撸一套linux上的轮子,决定用VS开工远程编写调试linux程序. 在window ...

  8. centos 在CentOS下编译FFmpeg

    所需软件 准备 yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel  -y 新版还 ...

  9. 使用cocos2d-x c++ Android静态库

    在用cocos2d-x做Android开发时,每次clean后都会需要再次编译coco2d-x的库,十分耗时. 这里给出一个直接使用静态库而不用每次都编译源码的方法: 1\ 首先找到一个cocos2d ...

随机推荐

  1. python中字符串list转化为数值型

    之前在网上找相关的资料,给出的方法都不合适, 经过很长时间的试错才知道源于python2.X和python3.X的不同, 原理都是采用map函数,但是二者返回的信息不同 Python2.x,可以使用m ...

  2. C#应用视频教程1.1 Socket通信基础

    做Socket通信之前,我们首先要实现几个基本的功能 获取本机IP地址(如果我们要做Socket的服务器,肯定不希望用户每次填写本机IP地址,而是自动获取本机IP地址,这一点我们最好能做的比已有的软件 ...

  3. vue - 页面跳转

    HTML:a 小程序:navigator Vue:router-link 1. router-link => a标签 2. javascript标签跳转页面 2.1   2.2 3. 常用方法之 ...

  4. KineticJS教程(8)

    KineticJS教程(8) 作者: ysm  8.动画 动画就是一帧帧的画面按照时间间隔显示出来,Kinetic给我们提供了一个舞台对象的onFrame方法,用这个方法可以绑定一个动画方法,我们要显 ...

  5. Python3.2官方文档翻译--迭代器

    6.9 迭代器 到眼下为止.你可能已注意到很多容器对象都能够用for语句进行循环: 这样的訪问风格清楚简洁方便. 迭代器的应用是python遍历统一.在这样的场景背后.for语句调用容器对象iter( ...

  6. 算法笔记_047:复数运算(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间的加法.减法.乘法和除法 ...

  7. 使用JavaMelody监控tomcat以及jvm

    JavaMelody用于对Java应用或者应用服务器的QA以及开发环境的监控.它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为 ...

  8. 塔防游戏 代码project as 分享

    分享 用到的技术为 1. 先进的下载技术 2. mvc 游戏仅仅实现战斗逻辑功能. 简单的 登陆,及选择关卡,战斗,结算. 五脏俱全,各种游戏模块及分层都划分清楚,仅仅要填代码就能够了  哈哈 能够拿 ...

  9. Servlet之生命周期【入门版(刚開始学习的人必看)】

    6,Servlet的解说 6.1Servlet生命周期 ,继承HttpServlet init方法(初始化Servlet)将来能够做一些初始化工作 service方法(处理请求) 一般不须要重写ser ...

  10. 解析theme()

    drupal_render()只是对theme()的调用做了包装,真正做任务的还是theme(). function theme($hook, $variables = array()) { ... ...