概述
参考文章:http://www.dxjia.cn/2016/07/27/how_to_compile_ffmpeg_for_android/ 本文介绍在ubuntu下编译ffmpeg 1.编译环境ubuntu16.04 2.android ndk,可以用android studio下载ndk。本文ndk下载后路径为 /home/pangrui/Android/Sdk/ndk-bundle 3.在ffmpeg官网http://ffmpeg.org/download.html#build-linux下载ffmpeg源码。本文下载ffmpeg-3.2.4.tar.bz2并解压 4.修改解压后ffmpeg源码的configure文件: 将 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)' 5.在ffmpeg源码里创建文件build_android_arm.sh文件内容如下: 其中TMPDIR,NDK,SYSROOT,TOOLCHAIN路劲根据自己实际路劲配置 TMPDIR的目录需要自己创建,PREFIX目录为编译之后输出so库的路劲需要自己配置。 #!/bin/bash export TMPDIR=/home/pangrui/ffmpeg/opt/ffmpeg_sources/temp NDK=/home/pangrui/Android/Sdk/ndk-bundle SYSROOT=$NDK/platforms/android-16/arch-arm/ TOOLCHAIN=/home/pangrui/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 CPU=arm PREFIX=/home/pangrui/ffmpeg/opt/ffmpeg_sources/output/ffmpeg3.2.4 ADDI_CFLAGS="-marm" function build_one { ./configure --prefix=$PREFIX --enable-shared --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-symver --enable-small --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- --target-os=linux --arch=arm --enable-cross-compile --sysroot=$SYSROOT --extra-cflags="-Os -fpic $ADDI_CFLAGS" --extra-ldflags="$ADDI_LDFLAGS" $ADDITIONAL_CONFIGURE_FLAG make clean make make install } build_one 6.cd到ffmpeg源码目录里,执行 sudo ./build_android_arm.sh,注意一定要加sudo 否则可能报权限问题 7.一段时间之后在指定的PREFIX路劲本文为/home/pangrui/ffmpeg/opt/ffmpeg_sources/output下编译出include和lib库即为编译出的ffmpeg的so库,可以在android 项目中使用
最后
以上就是复杂星星为你收集整理的ffmpeg(一) android ndk编译ffmpeg的全部内容,希望文章能够帮你解决ffmpeg(一) android ndk编译ffmpeg所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复