在CentOS中编译FFmpeg for Android静态库(含fdk aac,x264)
本文可以编译出集成了x264和fdk_aac的库,而且支持neon
下载源码:
https://github.com/mstorsjo/fdk-aac
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
结果:

本文所用脚本下载:
精简版本:

附录:
问题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)的更多相关文章
- 64位 CentOS NDK 编译 FFMPEG
64位 CentOS NDK 编译 FFMPEG 一. 参考文章: http://www.cnblogs.com/baopu/p/4733029.html http://www.c ...
- linux下编译qt5.6.0静态库——configure配置
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)
Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...
- MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC(转)
原文转自 https://blog.csdn.net/albertsh/article/details/52838419 1.使用标准Windows库 使用WINDOWS SDK API库,不使用MF ...
- VS编译linux项目生成静态库并在另一个项目中静态链接的方法
VS2017也推出很久了,在单位的时候写linux的服务端程序只能用vim,这让用惯了IDE的我很难受. 加上想自己撸一套linux上的轮子,决定用VS开工远程编写调试linux程序. 在window ...
- centos 在CentOS下编译FFmpeg
所需软件 准备 yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel -y 新版还 ...
- 使用cocos2d-x c++ Android静态库
在用cocos2d-x做Android开发时,每次clean后都会需要再次编译coco2d-x的库,十分耗时. 这里给出一个直接使用静态库而不用每次都编译源码的方法: 1\ 首先找到一个cocos2d ...
随机推荐
- ajax local.href不跳转的原因之一
ajax local.href不跳转的原因之一 打开F12发现一直报 next.html is not a function…… 后来发现next少了(),看得我尴尬症都犯了
- ant design pro (五)新增业务组件
一.概述 参看地址:https://pro.ant.design/docs/new-component-cn 对于一些可能被多处引用的功能模块,建议提炼成业务组件统一管理.这些组件一般有以下特征: 只 ...
- js 给json添加新的字段,或者添加一组数据,在JS数组指定位置删除、插入、替换元素
JS定义了一个json数据var test={name:"name",age:"12"};需要给test再添加一个字段,需要什么办法,可以让test的值为{na ...
- 查看tomcat启动文件都干点啥
以下所写的都是基于Windows 操作系统,tomcat7.0版本.一直在使用tomcat但是老实说对于tomcat本身并没有一个系统的掌握,今天饶有兴致的随便看了看,做了一点笔记,写一点心得,我本人 ...
- google全球ip地址库
当我们为不能使用google搜索业务时,这里有全球的google ip库,能够使用当中任一个来利用google搜索 https://github.com/justjavac/Google-IPs ht ...
- (一)maven之——maven基础及本地仓库的配置
一.初步了解maven Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(POM)的概念,提供了帮助管理构建.文档.报告.依赖.发布等方法,Maven简化和标准化项目建设过程.处 ...
- Android开发优化之——从代码角度进行优化
通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻 辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构.重构的好处有很多,其中一点, ...
- 为什么要设置Java环境变量(详解)[转]
从大二开始接触Java,之后是断断续续的学习.大三真正开始Java之旅,估计大部分初学者在学Java时被Java的环境变量搞的晕头转向,虽然找到了正确设置环境变量的方式,但其中的原因一知半解,设置压根 ...
- 网页中PNG透明背景图片的完美应用
PNG 图片在网站设计中是不可或缺的部分,最大的特点应该在于 PNG 可以无损压缩,而且还可以设置透明,对于增强网站的图片色彩效果有重要的作用. 但为什么 PNG 图片却没有 GIF 和 JPG 图片 ...
- C# 中运行exe程序
private int runProcess(string fileName, string appParam) { int returnValue = -1; try { Process myPro ...