openh264 for android,Mac下编译OpenH264 for android

简介

OpenH264 是思科的开源项目,可以编码解码H264,常见的H264编码器还有x264项目。

由于OpenH264项目的文档较少,初学的门槛较高,所以整理一些文章来帮忙初学者入门。

OpenH264系列文章包括:

编译OpenH264 for Windows

编译OpenH264 for Android

编译OpenH264 for iOS

编译OpenH264 for Windows Phone

OpenH264编码示例

OpenH264解码示例

OpenH264项目结构

编译好的OpenH264库

编译环境

Mac OS X 10.12.5 x86_64

Android Studio v2.2.3

Android NDK r10b

注:Android Studio自带的 SDK 中 SDK Tools 版本必须小于等于 25.2.5

Apache Ant v1.10

NASM v2.10.07

注:NASM 版本必须小于等于 2.10.07

安装过程

OpenH264 官网有简要的编译说明,只是其中有不周全的地方;

安装 Android Studio

安装 nasm

安装 ant

使用 brew 命令行安装,命令如下

brew install ant

设置环境变量

在命令行中设置环境变量

export PATH=$PATH:ANDROID_SDK/tools

export PATH=~/app/nasm:$PATH

注:把 ANDROID_SDK 替换为真实的 SDK 完整路径

注:Mac 自带有 nasm,因此 export 时,新下载的 nasm 路径在放在 $PATH 前面,以覆盖原版本

下载 OpenH264 源码

从官网下载 OpenH264 源码,并解压到 ~/openh264

编译 OpenH264

在命令行中,执行以下命令

cd ~/openh264

# armeabi

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=arm NDKLEVEL=21 APP_ABI=armeabi clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=arm NDKLEVEL=21 APP_ABI=armeabi

# armeabi-v7a

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=arm NDKLEVEL=21 clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=arm NDKLEVEL=21

# arm64-v8a

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=arm64 NDKLEVEL=21 clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=arm64 NDKLEVEL=21

# x86

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=x86 NDKLEVEL=21 clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=x86 NDKLEVEL=21

# x86_64

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=x86_64 NDKLEVEL=21 clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=x86_64 NDKLEVEL=21

# mips

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=mips NDKLEVEL=21 clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=mips NDKLEVEL=21

# mips64

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=mips64 NDKLEVEL=21 clean

make OS=android NDKROOT=$NDK TARGET=android-21 ARCH=mips64 NDKLEVEL=21

注:把 ANDROID_NDK 替换为真实的 NDK 完整路径

注:Android NDK 从 level21 开始支持 64位架构,因此 TARGET 低于 android-21 的将无法编译 arm64、x86_64、mips64 库

注:官方已经注明 mips、mips64 两种架构未做优化处理,不建议使用

OpenH264 生成文件

生成的文件位于 ~/openh264 目录下,共计5个静态库,1个动态库

libcommon.a

libdecoder.a

libencoder.a

libopenh264.a

libprocessing.a

libopenh264.so

使用方法

参见OpenH264编码示例、OpenH264解码示例两篇文章;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值