努力将当前FFmpeg的工作和一般最佳实践构建放在一起。似乎没有最新的文档或教程。确实存在的内容充满了无法正常工作的过时链接或构建脚本。
构建独立的 NDK 工具链
下载最新的 NDK 并运行make_standalone_toolchain.py
配置 FFmpeg
./configure
--cross-prefix=arm-linux-androideabi-
--sysroot="${ANDROID_STANDALONE_NDK}/sysroot"
--target-os=linux
--arch=arm
--cpu=cortex-a8
--enable-cross-compile
--enable-pic
--enable-shared
--extra-cflags="-fpic"
然后当然
make -j4
您可能不想编译很多组件,因此您需要查看要启用/禁用的内容./configure --help
找到解决方案!
请检查以下链接:
- https://github.com/WritingMinds/ffmpeg-android
- https://github.com/WritingMinds/ffmpeg-android-java
- http://writingminds.github.io/ffmpeg-android/
- http://writingminds.github.io/ffmpeg-android-java/
在阅读了这么多帖子之后,我设法找到了为安卓生成 ffmpeg 库的方法
下载下面提到的代码并将其作为 ffmpeg.sh 并在您的 ffmpeg 源根文件夹中执行相同的代码并执行make
#!/bin/bash
BASEDIR=$(pwd)
TOOLCHAIN_PREFIX=/opt/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
CFLAGS='-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all'
LDFLAGS='-Wl,-z,relro -Wl,-z,now -pie'
./configure
--target-os=linux
--cross-prefix=/opt/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
--arch=arm
--cpu=armv7-a
--enable-runtime-cpudetect
--sysroot=/opt/android-ndk-r9b/platforms/android-9/arch-arm/
--enable-pic
--enable-pthreads
--enable-cross-compile
--disable-debug
--disable-ffserver
--enable-version3
--enable-hardcoded-tables
--disable-ffplay
--disable-ffprobe
--enable-gpl
--enable-yasm
--disable-doc
--disable-shared
--enable-static
--extra-cflags="-I${TOOLCHAIN_PREFIX}/include $CFLAGS"
--extra-ldflags="-L${TOOLCHAIN_PREFIX}/lib $LDFLAGS"
详细信息,请访问 https://sites.google.com/site/greateindiaclub/mobil-apps/android/buildffmpegprebuiltlibraryforanandroid