欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

Android版ffmpeg的编译

Android 迷途小书童 4年前 (2020-01-14) 3239次浏览 0个评论

软硬件环境

  • ubuntu 18.04 64bit
  • NDK r15c
  • ffmpeg git latest
  • MI MIX 2S

NDK安装

下载NDK工具包, https://developer.android.com/ndk/downloads/,解压之后放到某个路径下,我这里是/home/xugaoxiang/Tools/NDK/

安装独立工具链

利用NDK工具包中自带的安装脚步安装独立的工具链,当然也可以使用NDK包下的工具链,本文也是用的NDK下的。那为什么要提这个呢?独立工具链的好处,是可以根据自己的需要和编译的目标安装,一次安装,永久使用

$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --install-dir=$ANDROID_NDK/../toolchains/21-4.9 --platform=android-21 --toolchain=arm-linux-androideabi-4.9

设置环境变量

需要设置2个环境变量

export ANDROID_NDK=/home/xugaoxiang/Tools/NDK/android-ndk-r15c
export SYSROOT=$ANDROID_NDK/platforms/android-21/arch-arm

下载ffmpeg最新的源码

使用git下载源码

git clone https://git.ffmpeg.org/ffmpeg.git

编译参数

ffmpeg自身功能的编译参数,可以根据实际情况修改,比如对x264x265的支持等

cd ffmpeg
./configure --arch=arm --cpu=armv7-a --cross-prefix="$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-" --sysroot=$SYSROOT --target-os=android --prefix=$PREFIX --disable-static --enable-shared --disable-asm --disable-doc --libdir=$PREFIX/libs/armeabi-v7a --incdir=$PREFIX/includes/armeabi-v7a --pkgconfigdir=$PREFIX/pkgconfig/armeabi-v7a

编译安装

make 
make install

编译完成后会在ffmpeg/android-build下生成binincludeslibs等目录

android_ffmpeg

源码下载

完整的工程放在了github上, https://github.com/xugaoxiang/ffmpeg_for_android,上述步骤都写在了一个脚本里便于操作

参考资料

  1. https://git.ffmpeg.org/ffmpeg.git
  2. https://trac.ffmpeg.org/wiki/CompilationGuide/Android
  3. https://github.com/WritingMinds/ffmpeg-android
  4. https://developer.android.com/ndk/guides/standalone_toolchain
  5. https://medium.com/@karthikcodes1999/cross-compiling-ffmpeg-4-0-for-android-b988326f16f2
喜欢 (0)

您必须 登录 才能发表评论!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.