MAC系统下利用NDK编译可供Android使用的FFmpeg(3.2.4)库
来源:互联网 发布:男士欧莱雅护肤品淘宝 编辑:程序博客网 时间:2024/05/07 16:57
最近在初步学习播放器,今天编译了FFmpeg库给Android使用。
Step 1:首先在MAC上安装NDK,我这里使用的是ndk-r10e;
Step 2:去FFmpeg官网下载对应的源码;
Step 3: 将下载后的NDK进行解压,我这里直接放到桌面了,/Users/SkyLight/Desktop/ndk-r10e/android-ndk-r10e
文件目录如下:
Step 4: 将下载后的FFmpeg进行解压,我这里直接直接放到桌面了,/Users/SkyLight/Desktop/ffmpeg-3.2.4
Step 5: 编写sh脚本: 如build.sh,内容如下:
#!/bin/bash
#这里的路径需要修改为你自己的ndk路径
NDK=/Users/SkyLight/Desktop/ndk-r10e/android-ndk-r10e
#注意android-9文件夹的版本号,替换好自己的版本号
SYSROOT=$NDK/platforms/android-9/arch-arm/
#把这里的路径替换好自己的版本号
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
function build_one(){
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffserver \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
Step 6:把写好的build.sh放到ffmpeg-3.2.4目录下
Step 7: 修改一下ffmpeg源码下configure文件, 我这里是用xcode打开的,
找到如下代码:
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
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_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
Step 8:运行行build.sh脚本
mcj1688deMacBook-Pro:~ SkyLight$ cd /Users/SkyLight/Desktop/ffmpeg-3.2.4
mcj1688deMacBook-Pro:ffmpeg-3.2.4 SkyLight$ ./build.sh
Step 9:运行行build.sh脚本
如果运行过程中出现上述WARNING,可以忽略
Step 10:执行make
mcj1688deMacBook-Pro:ffmpeg-3.2.4 SkyLight$ make
Step 11:执行make install
Step 12:此时在ffmpeg-3.2.4目录下会出现一个android文件夹, 进入到arm目录
图片中的include目录下就是所要的头文件,lib目录下就是so库文件。
- MAC系统下利用NDK编译可供Android使用的FFmpeg(3.2.4)库
- MAC下使用ndk编译ffmpeg
- windows环境下用ndk编译出供android的ffmpeg
- Android编译供ffmpeg使用的libx264
- window环境下使用ndk编译出android studio/Eclipse能使用的ffmpeg动态库
- (转)在 Mac OS X 下使用 Android NDK r5b 编译 FFmpeg 0.8
- window下使用ndk编译 ffmpeg库
- android ndk下编译ffmpeg
- android下ndk编译ffmpeg
- 使用NDK编译Android所需的FFMPEG动态库
- 使用Android NDK编译ffmpeg
- 使用NDK编译FFmpeg到Android下使用
- mac下编译FFmpeg-Android
- 使用NDK编译ffmpeg库
- Android NDK 下 FFMPEG 的编译选项详解
- ndk对 ffmpeg 3.3.4编译,使其能移植到Android下使用
- <android编译ffmpeg+x264+faac> <Android/NDK环境下FFmpeg及AAC,MP3,X264的编译>
- NDK下编译FFMPEG
- Markdown编辑器使用指南
- 学习BLAS库 -- BLAS库简介
- Lua中实现类的原理
- uva 11069A Graph Problem
- Git-for-windows连接github
- MAC系统下利用NDK编译可供Android使用的FFmpeg(3.2.4)库
- Red Hat Linux 7.3+VMWare 虚拟机搭载ISO文件实战
- poj3159 Candies 最短路&差分约束
- Android常见Errors
- 洛谷 P1318 积水面积
- CCF CSP 编程题目和解答-----试题名称:俄罗斯方块-------201604-2
- 高精度计数器-微秒
- React Native的调试
- java-socket学习笔记