当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux系统

Ubuntu下用NDK编译移植FFmpeg2.0(配置最新版x264)到Android平台

将x264配置到ffmpeg中需要先编译x264,生成静态库或动态库。因为264的静态库本身不大(我编译完成后是1.1M)且考虑到平台移植问题,这里选择的是编译生成静态库。准备,新建工作空间(1)创建总目录FFmpeg-Androideg:mkdirworkspace-->cdworkspace-->mkdirFFmpeg-Android-->c

将x264配置到ffmpeg中需要先编译x264,生成静态库或动态库。因为264的静态库本身不大(我编译完成后是1.1M)且考虑到平台移植问题,这里选择的是编译生成静态库。

准备,新建工作空间

(1)创建总目录FFmpeg-Android

eg: mkdir workspace --> cd workspace --> mkdir FFmpeg-Android --> cd FFmpeg-Android

(2)创建保存x264静态库的目录 android-x264

(在FFmpeg-Android目录下)mkdir 264 --> cd 264

1、编译x264

(1)去官网:http://www.videolan.org/developers/x264.html 下载最新的264源代码。这里下载的是2013年10月份出的版本0.14。将压缩包解压缩到264FFmpeg-Android/264目录下,

(2)编写脚本文件:

export NDK=$NDK_HOME
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt
export PLATFORM=$NDK/platforms/android-19/arch-arm
export PREFIX=../../android-x264

./configure --prefix=$PREFIX \
--enable-static \
--enable-pic \
--disable-asm \
--disable-cli \
--host=arm-linux \
--cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM

注意:这里涉及到路径的变量需要根据你们自己的情况来调整。

PREBUILT 变量保存的是NDK交叉编译链的路径,

PLATFORM 变量保存的是NDK进行链接时查找库文件的路径(arch-arm目录下保存的是各种andorid平台下的c库头文件和静态以及动态库)

PREFIX 变量保存的是编译生成的静态库保存的路径

(3)运行脚本,结果如下图

 

(4)执行完刚才的脚本后,会在当前目录生成配置文件,这里还需要修改以下几个文件,原因是:编译成功后在eclipse下运行会出现 "cannot locate symbol 'log2f' " 的错误

修改1、config.h

---- #define HAVE_LOG2F 1

+++#define HAVE_LOG2F 0

 

修改2、encoder/encoder.c 、 encoder/ratecontrol.c 、encoder/analyse.c 、encoder/set.c

在文件开头处添加

+++ #include

+++ //

FFmpeg 的详细介绍:请点这里
FFmpeg 的下载地址:请点这里

推荐阅读:

Linux下编译FFmpeg之下载源文件并编译 http://www.linuxidc.com/Linux/2012-02/54565.htm

Linux 编译升级 FFmpeg 步骤 http://www.linuxidc.com/Linux/2013-08/88190.htm

CentOS 5.6 上安装 FFMPEG http://www.linuxidc.com/Linux/2011-09/42793.htm

在Ubuntu下安装FFmpeg http://www.linuxidc.com/Linux/2012-12/75408.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有