内容简介:下载ffmpeg3.4
1.FFmpeg编译
1.1准备工作
下载ubuntu 18.04.2 www.ubuntu.com/download/de… (本人是直接在 linux上开发的,如果在windows上需要安装虚拟机)
下载ffmpeg3.4 ffmpeg.org/releases/ff… (目前最新版本编译死 的时候有问题,所以选择先用老版本,3.4版本后不需要更改configure文件内容)
下载ndk developer.android.google.cn/ndk/downloa…
(目前用的是r14b,其他版本试过没成功)
1.2编译过程
准备编译脚本
#!/bin/bash echo "进入编译ffmpeg脚本" NDK=/home/fanqile/Desktop/android-ndk-r16 #5.0 PLATFORM=$NDK/platforms/android-21/arch-arm TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 CPU=armv7-a #输出路径 PREFIX=./android/$CPU function buildFF { echo "开始编译ffmpeg" ./configure \ --prefix=$PREFIX \ --target-os=android \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --arch=arm \ --cpu=$CPU \ --sysroot=$PLATFORM \ --extra-cflags="$CFLAG" \ --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \ --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm \ --enable-shared \ --enable-runtime-cpudetect \ --enable-gpl \ --enable-small \ --enable-cross-compile \ --disable-debug \ --disable-static \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-postproc \ --disable-avdevice \ --disable-symver \ --disable-stripping \ $ADDmake -j16 make install echo "编译结束!" }########################################################### echo "编译支持neon和硬解码" CPU=armv7-a PREFIX=./android/armv7-a-neon-hard CFLAG="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp " ADD="--enable-asm \ --enable-neon \ --enable-jni \ --enable-mediacodec \ --enable-decoder=h264_mediacodec \ --enable-hwaccel=h264_mediacodec " buildFF ########################################################### echo "编译不支持neon和硬解码" CPU=armv7-a PREFIX=./android/$CPU CFLAG="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=vfp -mfloat-abi=softfp " ADD= buildFF 复制代码
注:复制的情况下要把\后面空格去掉
开始编译
先把刚写完的脚本命名为build_android.sh,然后把它保存到ffmpeg3.4文件夹中,再ffmpeg文件夹空白处右键打开终端,通过 linux 命令给build_android.sh赋予最高权限
然后输入./build_android.sh开始编译,大概等几分钟就编译完成了
现在ffmpeg3.4文件夹下就新生成了一个android文件夹,里面有两个文件,一个是支持neon和硬解码,一个是不支持的
再进进去就有三个文件夹,第一个是头文件,第二个是so库,第三个是案例
1.3移植到androidstudio
打开android studio 新建工程,勾选c++
后面再选c++11,后面直接next就好了
工程建好后,把前面编译好的库复制到app/libs中
接着开始编译CmakeLists.txt(前提是要安装cmake,sdk manager里可以选择)
后面开始配置app中的build.gradle
最后点Build——make project ,完成,build里生成 libnative-lib.so
整个编译到移植到这里全部完成了。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 开发人员学Linux(8):CentOS7编译安装Subversion1.9.5及Apache2.4.25并集成
- Xcode 编译疾如风系列(二):并行编译
- 编写 MSBuild 内联编译任务(Task)用于获取当前编译环境下的所有编译目标(Target)
- 使用 Visual Studio 编译时,让错误一开始发生时就停止编译(以便及早排查编译错误节省时间)
- Go编译缓存导致C文件修改后未重新编译
- Android Apk反编译系列教程(一)如何反编译APK
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Flask Web开发:基于Python的Web应用开发实战
[美] Miguel Grinberg / 安道 / 人民邮电出版社 / 2014-12 / 59.00元
本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。 • 学习Flask应用的基本结构,编写示例应用; • 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持; • 使用包和模块构建可伸缩的大型应用; • 实现用户认证、角色和个人资料; • 在博客网站中重用模板、分页显示列表以及使用富文本; • 使用基于......一起来看看 《Flask Web开发:基于Python的Web应用开发实战》 这本书的介绍吧!