Ubuntu16.04下编译android版本ffmpeg
2019-01-17 本文已影响0人
GreatJu
- 64位系统安装32位兼容包
sudo apt-get update
sudo apt-get -y upgrade
apt-get -y install gcc g++ make cmake curl libcurl3 libcurl3-dev bzip2 pkg-config
- 下载ffmpeg库
git clone 或者到ffmpeg官网上下载都可以,下载后解压
- 下载安装jdk和android NDK
NDK版本使用 android-ndk-r10e
配置环境变量到~/.bashrc
,配置到/etc/profile
下好像有点问题,不知道什么原因。
export JAVA_HOME=/home/ay/Android/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export ANDROID_NDK=/home/ay/Android/android-ndk-r10e
export ANDROID_SDK=/home/ay/Android/Sdk
export PATH=${JAVA_HOME}/bin:$ANDROID_NDK:$PATH
配置好了以后需要source一下
- 在ffmpeg目录中编写编译的shell
一定要注意,shell的第一行是:#!/bin/bash
NDK=/home/chinese-boy/Android/android-ndk-r10e
SYSROOT=$NDK/platforms/android-8/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--disable-shared \
--enable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--enable-small \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--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
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
随后执行这个shell脚本就可以得到编译后的结果了。