windows下编译最新版ffmpeg3.3-android,并通过CMake方式移植到Android studio2.3中

本文介绍了如何在Windows环境下编译最新版ffmpeg3.3,包括下载安装MinGW、yasm和ffmpeg,修改configure文件,使用build_android.sh脚本进行编译。接着讲解了将编译后的ffmpeg库移植到Android Studio 2.3的过程,涉及到CMake的使用,以及如何配置CMakeLists.txt文件,将.so库导入项目,并在native-lib.cpp中调用native方法。提供了一份完整的移植指南。
摘要由CSDN通过智能技术生成

windows下编译最新版ffmpeg3.3

win下编译:
1.下载安装MinGW:http://sourceforge.net/projects/mingw/files/
2.下载yasm http://yasm.tortall.net/Download.html
3.下载 ffmpeg:https://www.ffmpeg.org/download.html

  1. 编辑ffmpeg文件夹下面的configure文件,找到
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
将其修改成:
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

============================================
2.新建一个build_android.sh文件
注意:要根据环境配置前四项,且每行末尾不能有空格。 export TMPDIR,NDK,SYSROOT,TOOLCHAIN –cross-prefix一定有

#!/bin/bash
export TMPDIR="C:/Users/shuo.wang/Desktop/ff"
NDK=C:/Users/shuo.wang/AppData/Local/Android/sdk/ndk-bundle
SYSROOT=$NDK/platforms/android-21/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
function build_one { 
./configure \
     --prefix=$PREFIX \
     --enable-shared \
     --disable-static \
     --disable-doc \
     --disable-ffmpeg \
     --disable-ffplay \
     --disable-ffprobe \
     --disable-ffserver \
     --disable-avdevice \
     --disable-doc \
     --disable-symver \
     --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

然后在MinGW中进入cd进ffmpeg目录。
命令:
1. chmod 777 ./build_android.sh
2. ./build_android.sh 然后就开始编译了。

注意因为 NDK和ffmpeg,版本问题。ffmpeg3.1编译不过。
ffmpeg3.3可以。

编译完成后这时会发现 FFmpeg下多了一个文件夹android

下面开始移植到Android studio中

需要Android studio版本2.2以上,并安装CMake。本例中用Android studio2.3
1.新建工程取名为FFmpegAndroid,然后选中include c++ support,然后下一步直到新建完成为止

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值