美文网首页
ffmpeg编译和使用NDK交叉编译

ffmpeg编译和使用NDK交叉编译

作者: SuperTypeMen | 来源:发表于2019-07-29 20:47 被阅读0次

    参考http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

    去掉了libaom
    到ffmpeg目录下执行如下操作:
    wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 &&
    tar xjvf ffmpeg-snapshot.tar.bz2 &&
    cd ffmpeg &&
    PATH="HOME/bin:PATH" PKG_CONFIG_PATH="HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="HOME/ffmpeg_build"
    --pkg-config-flags="--static"
    --extra-cflags="-IHOME/ffmpeg_build/include" \ --extra-ldflags="-LHOME/ffmpeg_build/lib"
    --extra-libs="-lpthread -lm"
    --bindir="HOME/bin" \ --enable-gpl \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-nonfree && \ PATH="HOME/bin:$PATH" make &&
    make install &&
    hash -r

    编译跨平台动态链接库
    参考:https://blog.csdn.net/qq_15807167/article/details/79379964

    安装ndk,并且设置环境变量
    创建FFmpeg-android.sh脚本
    添加权限chmod -R 777 FFmpeg-android.sh
    执行FFmpeg-android.sh脚本
    在/android/arm目录下 so包

    ndk交叉编译Android平台动态包
    参考:https://blog.csdn.net/qq_34902522/article/details/87879145

    !/bin/bash

    set -x
    API=14
    NDK=~/Documents/android-ndk-r17c
    SYSROOT=NDK/platforms/android-API/arch-arm/
    TOOLCHAIN=NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 function function_one { ./configure \ --prefix=PREFIX
    --disable-shared
    --enable-static
    --disable-doc
    --disable-ffplay
    --disable-ffprobe
    --disable-symver
    --disable-ffmpeg
    --cc=TOOLCHAIN/bin/arm-linux-androideabi-gcc \ --cross-prefix=TOOLCHAIN/bin/arm-linux-androideabi-
    --target-os=linux
    --arch=arm
    --enable-cross-compile
    --sysroot=SYSROOT \ --extra-cflags="-INDK/sysroot/usr/include/arm-linux-androideabi -isysroot $NDK/sysroot -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"
    --enable-neon

    make clean all
    make
    make install
    }
    CPU=armv7-a
    PREFIX=(pwd)/android/CPU
    function_one

    相关文章

      网友评论

          本文标题:ffmpeg编译和使用NDK交叉编译

          本文链接:https://www.haomeiwen.com/subject/zgwirctx.html