Mac编译支持HarmonyOS NEXT的FFmpeg

本文详细指导如何在OHOS平台上搭建编译环境,包括安装必要的工具如gcc、cmake等,下载并配置SDK,以及针对FFmpeg的编译步骤,解决遇到的问题,助力开发者顺利进行开发。
摘要由CSDN通过智能技术生成

01 搭建编译环境

1. 安装编译工具

编译ffmpeg首先需要以下工具命令:gcc, cmake, make, pkg-config, autoconf, autoreconf, automake,ninja,按以下命令依次检查并安装。

cmake为例:

// 检查是否安装cmake —version
// 安装工具brew install cmake

2. 下载SDK

下载地址:https://gitee.com/openharmony-sig/oh-inner-release-management/blob/master/Release-Testing-Version.md

SDK 分为两个版本 full 版本和 public 版本,这两个版本的 SDK 中关于 c/c++ 编译的部分是相同的,因此我们下载哪个都一样( full 版本的 SDK 在 ets 层提供了更多的 API ),根据自己环境自行下载对应版本的 SDK即可,我们本次使用的是Mac x86,所以选择以下版本 。

图片

下载后得到压缩包L2-SDK-MAC-FULL.tar.gz

3. 解压SDK

# 解压后得到sdk目录tar -zxvf L2-SDK-MAC-FULL.tar.gz
# 进入sdk工具包目录cd sdk/packages/ohos-sdk/darwin
# 解压native工具包unzip native-darwin-x64-4.0.8.1-Beta1.zip

4. 配置环境变量

lycium支持的是C/C++三方库的交叉编译,SDK工具链只涉及到native目录下的工具,故OHOS_SDK的路径需配置成native工具的父目录,mac环境中配置SDK环境变量方法如下:

# 打开.bash_profilevim ~/.bash_profile
# 添加配置export OHOS_SDK=/Users/xxx/harmony/sdk/packages/ohos-sdk/darwin  # 此处SDK的路径使用者需配置成自己的sdk解压目录
# 更新配置source ~/.bash_profile

5. Copy编译工具

为了简化开发中命令的配置,我们针对arm架构以及aarch64架构集成了几个编译命令,存放在lycium/Buildtools目录下,在使用lycium工具前,需要将这些编译命令拷贝到SDK对应的目录下,具体操作如下:

# 进入到工具包目录cd lycium/Buildtools
# 可校验工具包是否正常, 若输出"toolchain.tar.gz: OK"则说明工具包正常,否则说明工具包异常,需重新下载sha512sum -c SHA512SUM
# 解压拷贝编译工具tar -zxvf toolchain.tar.gz
# 将命令拷贝到工具链的native/llvm/bin目录下cp toolchain/* ${OHOS_SDK}/native/llvm/bin

6. 设置编译机cmake识别OHOS系统

由于sdk中的cmake版本过低, 导致很多开源库在cmake阶段报错. 这个时候就需要用户在编译机上安装一个高版本的cmake(推荐使用3.26及以上版本), 但是 cmake官方是不支持OHOS的, 解决方案:

cp $OHOS_SDK/native/build-tools/cmake/share/cmake-3.16/Modules/Platform/OHOS.cmake xxx(代表你编译机安装的cmake的路径)/3.28.3/share/cmake/Modules/Platform

02 编译FFmpeg

1. 下载仓库

git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1

三方库目录结构

tpc_c_cplusplus/thirdparty/FFmpeg     #三方库FFmpeg的目录结构如下├── docs                              #三方库相关文档的文件夹├── HPKBUILD                          #构建脚本├── SHA512SUM                         #三方库校验文件├── README.OpenSource                 #说明三方库源码的下载地址,版本,license等信息├── README_zh.md

2. FFmpeg脚本修改

进入工程目录

cd tpc_c_cplusplus/

进入thirdparty/FFmpeg目录,找到HPKBUILD文件并打开

图片

在configure命令后添加指令--disable-x86asm

图片

3. build.sh脚本修改

进入编译目录

cd tpc_c_cplusplus/lycium

编辑build.sh,因为build.sh默认没有支持macOS,所以需要对脚本做一些调整。

删除9~26行,但要保留11行12行

图片

4. 开始编译

执行编译脚本

./build.sh FFmpeg

如果遇到“无法打开“clang”,来自身份不明开发者解决”之类的错误,执行以下命令关闭安全检查。

sudo spctl --master-disable

如果编译后还会遇到类似如下问题

图片

则点击“取消”,然后打开macOS的“安全性与隐私”,允许此软件即可

5. 编译成功

ALL JOBS DONE!!!

图片

最后,在lycium/usr/FFmpeg目录可以看到编译成功后的文件

图片

扫码关注 HarmonyOS开发者

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FFmpeg是一个开源的跨平台音视频处理工具,它可以用于录制、转换和流媒体处理等多种音视频操作。编译安装FFmpeg支持硬编解码需要以下步骤: 1. 下载源代码:首先,你需要从FFmpeg官方网站(https://ffmpeg.org/)下载最新的源代码压缩包。 2. 安装依赖:在编译之前,需要确保系统中已经安装了一些必要依赖库,如编工具(gcc、make等)、多媒体库(libx264libx265等)和开发包(libx264-dev、libx265-dev等)。你可以使用包管理工具(如apt、yum等)来安装这些依赖。 3. 解压源代码:将下载的源代码压缩解压到一个目录中。 4. 配置编译选:进入解压后的源代码目录,执行以下命令来配置译选项: ``` ./configure --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree ``` 这里的`--enable-gpl`表示启用GPL许可证,`--enable-libx264`和`--enable-libx265`表示启用x264和x265编码库,`--enable-nonfree`表示启用非自由许可证。 5. 编译和安装:配置完成后,执行以下命令进行编译和安装: ``` make sudo make install ``` 这会将编译后的二进制文件安装到系统中。 6. 验证安装:执行以下命令来验证FFmpeg是否成功安装: ``` ffmpeg -version ``` 如果成功安装,将显示FFmpeg的版本信息。 至此,你已经成功编译安装了支持硬编解码的FFmpeg。你可以使用FFmpeg命令行工具来进行各种音视频处理操作,如转码、剪辑、合并等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值