美文网首页
Android windows环境下编译ffmpeg库

Android windows环境下编译ffmpeg库

作者: 花花爱笑 | 来源:发表于2018-12-12 21:21 被阅读0次

最近折腾许久,由于领导提到了一个视频压缩的功能,然后看了在网上了解了大部分的视频压缩方法,最后还是决定去弄这个ffmpeg这个c开源库,毕竟人人都说好,那就是真好了。

1、首先我们要成功编译该开源库,直接去官网下载最新的开源库(附上地址:http://ffmpeg.org/)。下载之后解压。

然后由于电脑性能问题,我装了虚拟机然后做了个ubantu的系统之后,发现跑起来太慢了,还是决定在windows下直接编译。

1、下载MinGw(附上地址:https://sourceforge.net/projects/mingw-w64/)

该软件的作用:提供了一套简单方便的Windows下的基于GCC 程序开发环境.在该环境下我们可以编译我们的ffmpeg源码获得我们想要so库.

2、ffmpeg编写脚本文件

#!/bin/bash

export TMPDIR=D:/FFmpeg-n4.0.1/FFmpeg-n4.0.1/ffmpegtemp

NDK=D:/ndk_bundle/android-ndk-r14b-windows-x86_64/android-ndk-r14b

SYSROOT=$NDK/platforms/android-14/arch-arm

TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64

CPU=arm

PREFIX=D:/FFmpeg-n4.0.1/FFmpeg-n4.0.1/ffmpegtemp/output/$CPU

ADDI_CFLAGS="-Os -fpic -marm"

function build_one

{

./configure \

--prefix=$PREFIX \

--enable-shared \       

--disable-static \

--enable-asm \

--enable-neon \

--disable-doc \

--disable-ffmpeg \

--disable-ffplay \

--disable-ffprobe \

--disable-ffserver \

--disable-doc \

--disable-symver \

--enable-pthreads \

--enable-small \

--enable-jni \

--enable-mediacodec \

--enable-runtime-cpudetect \

--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \

--target-os=android \

--arch=arm \

--enable-cross-compile \

--sysroot=$SYSROOT \

--extra-cflags="$ADDI_CFLAGS" \

--extra-ldflags="$ADDI_LDFLAGS" \

$ADDITIONAL_CONFIGURE_FLAG

make clean

make

make install

}

build_one

3、进入到MinGw安装目录下面

我的是:C:\MinGW\msys\1.0

运行msys.bat批处理脚本文件,通过命令行进入到ffmpeg源码目录

然后运行 chmod +x build.sh 赋予脚本权限

./build.sh 运行脚本

然后就等着吧,我等了很久,可能是电脑性能的原因。

另外:在编译的过程中遇到了一个问题在此记录一下

利用msys.bat 编译的时候一直给报jni not found的错误,在百度中搜索 说是ndk-bundle 下载目录中Android\Sdk\ndk-bundle\platforms\android-xx\arch-arm\usr该文件夹下面没有include的目录,之后 我也单独去下载了最新的ndk-bundle版本,遗憾的是在其中也没有找到include文件夹,之后选择下载了ndk-14版本,解压后发现该版本是存在include目录的。

最后说一句:在编译过程中会遇到很多问题,各种错误,但是请你相信,既然有那么多人都编译成功了,那么这种方法肯定是可以编译成功的,不要怀疑方法的正确性。我在编译过程中,总是会遇到各样的问题,让我产生对这种方法能否编译成功so库的疑惑,但是自己又不知道其他的方法,所以就坚持下来,最后编译成功的。

这也是对我平时意志不坚定的一次反省。

相关文章

网友评论

      本文标题:Android windows环境下编译ffmpeg库

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