FFmpeg使用第三步,编译FFmpeg成一个SO库.
编译环境macOS High Sierri 10.13.3
android-ndk-r14b
FFmpeg 3.4.2
简介
由于ffmpeg编译的so数目繁多,直接使用这些类库还是比较麻烦的. 因此可以将它们合并为一个类库 libffmpeg.so .
操作步骤与编译多个so的脚本不同,这个脚本不再需要修改Configure的内容(生成的是.a而不是.so,并没有涉及到版本号问题)
编译多个so的脚本里面Configure的时候是“–enable-shared –disable-static”,这个脚本里面Configure的时候设置的是“–enable-static –disable-shared”。编译完成后生成的是:libavcodec.a
libavfilter.a
libswresample.a
libavformat.a
libavutil.a
libswscale.a
该脚本运行完后,会把上述的*.a文件打包为一个so文件:libffmpeg.so
合并后的类库使用起来和合并前的类库使用方法没有区别。
修改后的脚本文件为:
build_android.sh
#!/bin/bash
PLATFORM=/Users/lake/test/android-ndk-r14b/platforms/android-19/arch-arm/
TOOLCHAIN=/Users/lake/test/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
PREFIX&#