ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9448|回复: 5

[Android] 如何生成最新片本的ffmpeg.so静态库克用于安卓开发,过程..

[复制链接]
发表于 2016-8-25 20:34:35 | 显示全部楼层 |阅读模式
网上下载了一个libffmpeg.so, 给视频加水印,生成的MPEG4无法播放,MPEG1可以,不过播放太快了。今天准备自己编译静态库搞了一下午,cygwin+ffmpeg源代码,make就一大堆错误。过路师兄弟给个有效的build教程,能支持H.264编解码的ffmpeg静态库。非常感谢!
回复

使用道具 举报

 楼主| 发表于 2016-8-26 22:24:22 | 显示全部楼层
cygwin + NDK r9d + ffmpeg3.1.2 搞了一天,一堆错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-26 22:25:14 | 显示全部楼层
export NDK=/cygdrive/d/android/android-ndk-r9d
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt
export PLATFORM=$NDK/platforms/android-8/arch-arm
export PREFIX=../simplefflib
export TMPDIR=/cygdrive/d/temp
build_one(){
  ./configure --target-os=linux --prefix=$PREFIX \
--enable-cross-compile \
--enable-runtime-cpudetect \
--disable-asm \
--arch=arm \
--cc=$PREBUILT/linux-x86/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- \
--disable-stripping \
--nm=$PREBUILT/linux-x86/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--enable-gpl --enable-shared --disable-static --enable-small \
--disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug \
--extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"
}

build_one
  
make
make install
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-26 22:26:31 | 显示全部楼层
WARNING: /cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.
mktemp -u XXXXXX
uS7nna
WARNING: Unknown C compiler /cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc, unable to select optimal CFLAGS
check_cpp_condition stddef.h defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4
check_cpp
BEGIN /cygdrive/d/temp/ffconf.ICGTacCo.c
    1        #include <stddef.h>
    2        #if !(defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4)
    3        #error "unsatisfied condition: defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4"
    4        #endif
END /cygdrive/d/temp/ffconf.ICGTacCo.c
/cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a -E -o /cygdrive/d/temp/ffconf.qlpu5y2i.o /cygdrive/d/temp/ffconf.ICGTacCo.c
./configure: line 875: /cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: cannot execute binary file: Exec format error
check_cpp_condition stddef.h defined __ARM_ARCH_4T__ || defined __TARGET_ARCH_4T
check_cpp
BEGIN /cygdrive/d/temp/ffconf.ICGTacCo.c
    1        #include <stddef.h>
    2        #if !(defined __ARM_ARCH_4T__ || defined __TARGET_ARCH_4T)
    3        #error "unsatisfied condition: defined __ARM_ARCH_4T__ || defined __TARGET_ARCH_4T"
    4        #endif
END /cygdrive/d/temp/ffconf.ICGTacCo.c
/cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a -E -o /cygdrive/d/temp/ffconf.qlpu5y2i.o /cygdrive/d/temp/ffconf.ICGTacCo.c
./configure: line 875: /cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: cannot execute binary file: Exec format error
check_cpp_condition stddef.h defined __ARM_ARCH_5__ || defined __TARGET_ARCH_5
check_cpp
BEGIN /cygdrive/d/temp/ffconf.ICGTacCo.c
    1        #include <stddef.h>
    2        #if !(defined __ARM_ARCH_5__ || defined __TARGET_ARCH_5)
    3        #error "unsatisfied condition: defined __ARM_ARCH_5__ || defined __TARGET_ARCH_5"
    4        #endif
END /cygdrive/d/temp/ffconf.ICGTacCo.c
/cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a -E -o /cygdrive/d/temp/ffconf.qlpu5y2i.o /cygdrive/d/temp/ffconf.ICGTacCo.c
./configure: line 875: /cygdrive/d/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: cannot execute binary file: Exec format error
下面错误类似
回复 支持 反对

使用道具 举报

发表于 2016-8-26 23:05:19 | 显示全部楼层
交叉编译工具链错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-27 18:00:42 | 显示全部楼层
@T-Bagwell非常感谢!NDK最新是不是R12? 那位大哥给个linux-X86云盘,不会翻墙啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-25 02:43 , Processed in 0.048673 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表