1:下载ffmpeg 源码
http://ffmpeg.org/download.html
2:下载ndk, 14b 用16b没有成功
https://developer.android.google.cn/ndk/downloads/
3:加压源码ffmpeg-4.1(udp.c 出错), 建议用3.4.1
修改配置文件config
(修改生成so的名字,android 不能以数字结尾如,avdecodec.so.57)
注释这四行
#SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
#LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
#SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
#SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
// 添加这四行
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
4:写一个脚本arm_android.sh
#!/bin/bash
# 修改自己的路径
NDK=/home/zl/app/android-ndk-r14b
# 修改想用的版本
SYSROOT=$NDK/platforms/android-19/arch-arm/
CPU=armv7-a
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
./configure
--prefix=$PREFIX
--enable-neon
--enable-hwaccels
--enable-shared
--enable-jni
--enable-mediacodec
--enable-decoder=h264_mediacodec
--disable-static
--disable-doc
--enable-ffmpeg
--disable-ffplay
--disable-ffprobe
--enable-avdevice
--disable-doc
--disable-symver
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
--target-os=android
--arch=arm
--cpu=armv7-a
--enable-cross-compile
--sysroot=$SYSROOT
--extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS"
--extra-ldflags="$ADDI_LDFLAGS"
$ADDITIONAL_CONFIGURE_FLAG
5: sudo make
#目标文件在当前文件下android
6: sudo make install
最后
以上就是跳跃手机最近收集整理的关于FFmpeg (3.4.1)安卓编译 ndk(14b)的全部内容,更多相关FFmpeg内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复