Ubuntu16.04下編譯android版本ffmpeg

  1. 64位系統(tǒng)安裝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
  1. 下載ffmpeg庫

git clone 或者到ffmpeg官網(wǎng)上下載都可以,下載后解壓

  1. 下載安裝jdk和android NDK
    NDK版本使用 android-ndk-r10e

配置環(huán)境變量到~/.bashrc,配置到/etc/profile下好像有點(diǎn)問題,不知道什么原因。

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一下

  1. 在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

隨后執(zhí)行這個(gè)shell腳本就可以得到編譯后的結(jié)果了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容