mingw编译ffmpeg(移植到android)

直接上图:
 图片
这个就是NDK所在目录;
个人所用的NDK的版本: android-ndk-r8e;
 

图片
这个是ffmpeg所在目录;

在该目录下创建configure.sh文件,内容如下:
#!/bin/bash

export TMPDIR="G:/temp/android"
export LLLIB="C:/MinGW/msys/1.0/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/lib/gcc/arm-linux-androideabi/4.4.3"
export LLSCRIPT="C:/MinGW/msys/1.0/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/arm-linux-androideabi/lib/ldscripts"
export NNLIBS="C:/MinGW/msys/1.0/ndk/platforms/android-8/arch-arm"
export NNINC="C:/MinGW/msys/1.0/ndk/platforms/android-8/arch-arm/usr/include"

PREBUILT=/usr/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows
PLATFORM=/usr/ndk/platforms/android-8/arch-arm

./configure --target-os=linux \
        --arch=arm \
        --disable-debug \
        --disable-ffmpeg \
        --disable-ffplay \
        --disable-ffserver \
        --disable-ffprobe \
        --disable-encoders \
        --disable-muxers \
        --disable-demuxers \
        --disable-parsers \
        --disable-devices \
        --disable-protocols \
        --disable-filters \
        --disable-decoders \
        --enable-decoder=h264 \
        --disable-avfilter \
        --disable-network \
        --disable-avdevice \
        --disable-avformat \
        --disable-swresample \
        --disable-swscale \
        --disable-avresample \
        --disable-bsfs \
        --disable-bzlib \
        --disable-iconv \
        --disable-zlib \
        --disable-error-resilience \
        --disable-doc \
        --enable-cross-compile \
        --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
        --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
        --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
        --extra-cflags="-I$NNINC -fPIC -DANDROID" \
        --enable-neon \
        --enable-armv5te \
        --extra-ldflags="-Wl,-T,$LLSCRIPT/armelf_linux_eabi.x -Wl,-rpath-link=$NNLIBS/usr/lib -L$NNLIBS/usr/lib -nostdlib $LLLIB/crtbegin.o $LLLIB/crtend.o -lc -lm -ldl" 


文件结构截图: 
图片 
个人使用的时候限制只解码h264数据,禁用了其他的协议、模块等等,根据自己需要去更改; 
至于configure.sh文件里面的路径,自己去设置了;
configure.sh文件写的比较挫,没办法,实在是不精通这玩意儿,能过就好; 


 然后在minggw命令行里面运行如下:
 图片

然后make即可;
生成了两个.a文件:
图片
至于.a文件的大小可能不同,个人的是裁剪过的,至于如何裁剪那就是根据个人需要了;

现在只是编译通过,至于能不能跑起来明天的事了,今天手机始终无法连接上,悲剧!@!!!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章