FFmpeg编译Android版本
来源:互联网 发布:淘宝盗图技巧 编辑:程序博客网 时间:2024/06/05 08:08
FFmpeg是很好用的一个音视频库,功能强大,但是用起来并不是很方便。之前一直不想用FFmpeg,因为感觉编译太麻烦,但是到了不得不用的时候了,没办法,参考了网上大神的方法,在这里自己也记录一下方便以后再次查看。
一、环境
Ubuntu14.04
二、NDK环境配置
NDK下载链接:https://developer.android.google.cn/ndk/downloads/index.html
下载完后解压到任意路径即可,然后Alt+T打开终端执行以下命令,其中NDK_HOME的值改为你自己的NDK路径
export NDK_HOME=/home/y/adm/software/android-ndk-r14bexport PATH=$NDK_HOME:$PATH三、FFmpeg源码下载及配置
FFmpeg下载地址:http://www.ffmpeg.org/download.html
一样解压到任意路径,然后找到解压后目录中的/ffmpeg-3.3.4/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)'四、编译
在FFmpeg根目录新建一个空文档,改名为:build.sh
在其中写入以下内容:
其中有些地方需要修改
1、TMPDIR=为临时目录,自己新建一个,把路径写在这里
2、NDK=你自己的NDK路径
3、SYSROOT=编译时的platform版本,根据需要自己选择一个版本
4、TOOLCHAIN=这里主要还是前边部分的NDK路径需要修改为你自己的
5、PREFIX=编译后的so等文件的生成路径,自己新建一个文件夹,把路径写在这里
#!/bin/bashexport TMPDIR=/home/y/adm/software/ffmpeg/tmpdirNDK=/home/y/adm/software/android-ndk-r14bSYSROOT=$NDK/platforms/android-16/arch-arm/TOOLCHAIN=/home/y/adm/software/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64CPU=armPREFIX=/home/y/adm/software/ffmpeg/result/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_FLAGmake cleanmakemake install}build_one修改完后打开终端,切换到FFmpeg根目录,执行:sh build.sh大概需要几分钟,等待编译结果。
编译完成后,打开PREFIX指定的目录,其中有include和lib两个文件夹,删除lib文件夹中的pkgconfig文件夹和so的链接文件,此时该文件夹中应只剩so库,余下的include和lib就是开发需要的文件了
PS:在编译最后出现了这么一句话:
build.sh: 35: build.sh: build_one: not found
但是编译结果好像是正常的,反正是sh文件的最后一句了,应该不影响结果
- 编译FFMPEG Android版本
- FFmpeg编译Android版本
- ffmpeg源码编译android版本
- 编译Android版本FFmpeg 2.0小结
- Unbantu 编译ffmpeg Android版本库
- 编译FFMpeg的Android版本,并整合到android studio
- mac编译Android版本ffmpeg的x86_64架构库
- mac 平台下编译android版本 ffmpeg+h264
- FFMPEG release版本编译出错
- FFmpeg完美编译iOS版本
- android ndk 编译 ffmpeg
- ffmpeg 编译至android
- Android NDK编译ffmpeg
- ffmpeg android编译
- android编译ffmpeg+x264
- 编译ffmpeg到android
- android ffmpeg 编译
- android编译ffmpeg+x264
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- python 生成诸如A001 A002 ... A100这样的序列
- 阿里云移动测试平台使用教程
- Ubuntu 16.04上安装Caffe
- Tomcat简单介绍
- FFmpeg编译Android版本
- mongodb在Mac上的搭建
- C#读取XML文件
- 嵌入式系统的基本架构
- python
- 外网连接访问自己电脑的MySQL数据库
- dubbo管理控制台的安装
- MapReduce编程实现txt文件中的内容导入HBase
- String和StringBuffer和StringBuilder之间区别