Ubuntu 14.10+NDK+ffmpeg编译+Android

原创 2015年07月10日 11:26:53

本文就是自己记录 在Ubuntu 14.10-64位系统下,用android-ndk-r10d交叉编译ffmpeg用于Android调用ffmpeg


参考:

http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9

http://www.2cto.com/kf/201403/287834.html


1、在Ubuntu 系统下 安装android-ndk-r10d

去google官网下载:android-ndk-r10d

安装在目录: /home/cms/android-ndk/android-ndk-r10d


2、去ffmpeg官网下载源代码

主页:http://www.ffmpeg.org/download.html#releases

更早版本的源代码:http://www.ffmpeg.org/olddownload.html

我使用的是 ffmpeg-2.5.3

解压缩,放在/home/cms/android-ndk/ffmpeg-ndk/目录下

ffmpeg源代码的目录是: /home/cms/android-ndk/ffmpeg-ndk/ffmpeg-2.5.3



4、准备编译脚本:build-linux-NDK-r10.sh

这个是生成静态库

将脚本build-linux-NDK-r10.sh放到ffmpeg源代码的目录:/home/cms/android-ndk/ffmpeg-ndk/ffmpeg-2.5.3下

#!/bin/bash
NDK=/home/cms/android-ndk/android-ndk-r10d
SYSROOT=$NDK/platforms/android-8/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
function build_one
{
./configure \
    --prefix=$PREFIX \
    --disable-shared \
    --enable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/arm-linux-androideabi/bin/ \
    --target-os=linux \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
build_one


说明:

注意,configure过程中将临时文件放在/tmp目录下,与在cygwin下不同,不需要进行映射,因此不需要将环境变量 TEMPDIR定义为C:/cygwin/tmp


下面是指定生产静态库、不生成动态库
--disable-shared \
--enable-static \


5、命令行下

输入命令:

cd /home/cms/android-ndk/ffmpeg-ndk/ffmpeg-2.5.3
chmod u+x build-linux-NDK-r10.sh
build-linux-NDK-r10.sh

等待大约10多分钟,编译结束,在各个库目录下会生成libav***.a库文件,并且在目录/home/cms/android-ndk/ffmpeg-ndk/ffmpeg-2.5.3下在多一个 android的目录,android目录下有arm目录,arm目录下包含后续android开发需要的静态库、头文件

命令行中输入:查看各个静态库

ls /home/cms/android-ndk/ffmpeg-ndk/ffmpeg-2.5.3/android/arm/lib/

输出:
 libavcodec.a  libavfilter.a  libavformat.a  libavutil.a  libswresample.a  libswscale.a  pkgconfig
命令行中输入:查看各个库的头文件

ls /home/cms/android-ndk/ffmpeg-ndk/ffmpeg-2.5.3/android/arm/include/
输出:
 libavcodec  libavfilter  libavformat  libavutil  libswresample  libswscale


今天到此为止吧!    Ubuntu 系统下生成静态库结束,动态库下一次再写,看下上一篇博客,应该能搞定!

明天继续!

Ubuntu14.04编译Android FFmpeg详细教程

配置信息:FFmpeg版本:ffmpeg-3.0.1 ubuntu版本:ubuntu kylin 14.04 Android NDK版本:android-ndk-r10b一、配置编译环境和下载源码...
  • Poison_H
  • Poison_H
  • 2016年04月13日 21:10
  • 3998

Ubuntu环境编译FFmpeg3.2.2-for-android

前言最近一直在弄FFmpeg如何在Android上集成开发使用。那么问题来了,作为一个Android应用程序员来说,想使用C算法库的某些算法就一脸懵逼了,因为我们只能调用别人编译好的xxx.so类库才...
  • u010085954
  • u010085954
  • 2017年01月06日 20:25
  • 1097

FFmpeg之一编译ForAndroid

首先,被这部分烦的不行的可以去github里clone一些别人的成品轻松拿到适合Android的编译结果 说下自己的环境 win10 x64 VMware® Workstation 12...
  • xiaoru5127
  • xiaoru5127
  • 2016年05月28日 14:28
  • 10222

ubuntu_16.04_LTS使用NDK编译FFMPEG_3.1.1

之前写过 * ubuntu_14.04_LTS使用NDK编译FFMPEG_2.7.2 *的博客。这篇跟上篇类似,不过环境跟FFMPEG版本不同。大部分步骤是一样的,只有几个地方编译时会有BUG。这篇...
  • sk569437
  • sk569437
  • 2016年07月29日 16:30
  • 1067

Ubuntu下编译Android版本的ffmepg so库及源码

作者:谭东 时间:2016年8月19日 环境:Ubuntu 16.04 LTS最新版 FFMPEG版本:FFmpeg 3.0.2 "Einstein"   想要使用FFMPEG里的封装好的功能,并且在...
  • jay100500
  • jay100500
  • 2016年08月19日 19:45
  • 1243

FFmpeg的Android平台移植—编译篇

FFmpeg的Android平台移植—编译篇 Dennis Hu 2014年3月28日 摘要:本文主要介绍将FFmpeg音视频编解码库移植到Android平台上的编译和基本测试过程。 环境准备: Ub...
  • gobitan
  • gobitan
  • 2014年04月01日 19:11
  • 88540

windows10下编译ffmpeg for android

本文记录在windows10下编译ffmpeg的过程: 第一步:下载ffmpeg,我下载的是ffmpeg-3.1.4(下载地址:https://ffmpeg.org/download.html) ...
  • huweijian5
  • huweijian5
  • 2016年10月17日 17:52
  • 3668

ubuntu中使用android ndk编译ffmpeg.

1. 编译的准备条件: 编译环境: ubuntu-10.10 Android NDK: android-ndk-r6-linux-x86.tar.bz2.tar ffmpeg版本: ffmpeg...
  • wqhjfree
  • wqhjfree
  • 2012年02月22日 17:52
  • 3747

Ubuntu编译android版ffmpeg

准备材料:ffmpeg源码,NDK环境 去ffmpeg官网下载ffmpeg源码。我的为ffmpeg-2.6.2。进入ffmpeg的目录。编写编译脚本文件android_ffmpeg.sh.内容如下 N...
  • u010095768
  • u010095768
  • 2015年05月15日 14:24
  • 857

Ubuntu14.04搭建android源码编译环境

之前编译环境是刚进公司的时候老同志帮我搞定的,现在离职以后第一次要遍android源码,提供源码的人还只给了我一个地址https://source.android.com/source/initial...
  • a5nan
  • a5nan
  • 2016年05月11日 10:21
  • 2631
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ubuntu 14.10+NDK+ffmpeg编译+Android
举报原因:
原因补充:

(最多只允许输入30个字)