Android studio3.1.3 FFmpeg编译和使用命令给视频添加水印

本人第一次写文章,因为对于一个刚接触ffmpeg的人来说编译SO和在Android studio上编译中遇到了很多坑,所以身心体会了里面的很多坑,所以写这篇文章,希望对大家有用

本文中又多个库和单个库的编译,大家可以自由选择

首先编译FFmpeg推荐装个虚拟机然后用Ubuntu来编译

首先去FFmpeg官网去下载Download FFmpeg 4.0版的,然后在Android官网下载NDK建议使用r14版本,高的版本会出现问题NDK r14版本下载地方

在很多文章中需要修改ffmpeg里面configure文件,但也可以不用修改,在创建编译脚本得时候加上--target-os=android \,就可以编译需要得编译库

1、下面是创建build_android.sh脚本

#!/bin/sh
​
export NDK_HOME=/home/guoliang/Downloads/android-ndk-r14b
​
export NDK_HOST_PLATFORM=linux-x86_64
​
PREFIX=android-build
​
COMMON_OPTIONS="\
​
    --prefix=android/ \
​
    --target-os=android \
​
    --disable-static \
​
    --enable-shared \
​
    --enable-small \
​
    --disable-programs \
​
    --disable-ffmpeg \
​
    --disable-ffplay \
​
    --disable-ffprobe \
​
    --disable-doc \
​
    --disable-symver \
​
    --disable-asm \
​
    "
​
function build_android {
​
    ./configure \
​
    --libdir=${PREFIX}/libs/armeabi-v7a \
​
    --incdir=${PREFIX}/includes/armeabi-v7a \
​
    --pkgconfigdir=${PREFIX}/pkgconfig/armeabi-v7a \
​
    --arch=arm \
​
    --cpu=armv7-a \
​
    --cross-prefix="${NDK_HOME}/toolchains/arm-linux-androideabi-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/arm-linux-androideabi-" \
​
    --sysroot="${NDK_HOME}/platforms/android-19/arch-arm/" \
​
    --extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \
​
    --extra-ldexeflags=-pie \
​
    ${COMMON_OPTIONS}
​
    make clean
​
    make -j8 && make install
​
    ./configure \
​
    --libdir=${PREFIX}/libs/arm64-v8a \
​
    --incdir=${PREFIX}/includes/arm64-v8a \
​
    --pkgconfigdir=${PREFIX}/pkgconfig/arm64-v8a \
​
    --arch=aarch64 \
​
    --cpu=armv8-a \
​
    --cross-prefix="${NDK_HOME}/toolchains/aarch64-linux-android-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/aarch64-linux-android-" \
​
    --sysroot="${NDK_HOME}/platforms/android-21/arch-arm64/" \
​
    --extra-ldexeflags=-pie \
​
    ${COMMON_OPTIONS}
​
    make clean
​
    make -j8 && make install
​
    ./configure \
​
    --libdir=${PREFIX}/libs/x86 \
​
    --incdir=${PREFIX}/includes/x86 \
​
    --pkgconfigdir=${PREFIX}/pkgconfig/x86 \
​
    --arch=x86 \
​
    --cpu=i686 \
​
    --cross-prefix="${NDK_HOME}/toolchains/x86-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/i686-linux-android-" \
​
    --sysroot="${NDK_HOME}/platforms/android-19/arch-x86/" \
​
    --extra-ldexeflags=-pie \
​
    ${COMMON_OPTIONS}
​
    make clean
​
    make -j8 && make install
​
    ./configure \
​
    --libdir=${PREFIX}/libs/x86_64 \
​
    --incdir=${PREFIX}/includes/x86_64 \
​
    --pkgconfigdir=${PREFIX}/pkgconfig/x86_64 \
​
    --arch=x86_64 \
​
    --cpu=x86_64 \
​
    --cross-prefix="${NDK_HOME}/toolchains/x86_
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值