编译 fdk-aac

文章目录

    • 关于 fdk-aac
    • 编译 fdk-aac
    • 在 FFMpeg 编译中启用


关于 fdk-aac

A standalone library of the Fraunhofer FDK AAC code from Android.

  • github : https://github.com/mstorsjo/fdk-aac
  • 代码托管 : https://sourceforge.net/projects/opencore-amr/

编译 fdk-aac

1、下载源码:
https://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html

这里我使用 fdk-aac-2.0.3 :https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.3.tar.gz


2、下载脚本:https://github.com/kewlbear/fdk-aac-build-script-for-iOS

git clone https://github.com/kewlbear/fdk-aac-build-script-for-iOS

build-fdk-aac.sh 和 解压后的源码文件夹放在一级目录

fdk-acc % tree -L 1
.
├── README.md
├── build-fdk-aac.sh
└── fdk-aac-2.0.3

3、安装依赖库

brew install automake libtool

4、修改编译脚本 ./build-fdk-aac.sh
1) 去掉 i386 armv7, 留下 arm64 x86_64
2)SOURCE 改为源码解压后的名字 SOURCE="fdk-aac-2.0.3"


5、编译

./build-fdk-aac.sh

也可以指定需要的架构来执行

./build-fdk-aac.sh arm64 x86_64 

然后将分开编译的架构,放到一个包

./build-fdk-aac.sh lipo

6、完成

编译完成后,将生成文件夹 fdk-aac-ios

% cd fdk-aac-ios 
% tree
.
├── include
│   └── fdk-aac
│       ├── FDK_audio.h
│       ├── aacdecoder_lib.h
│       ├── aacenc_lib.h
│       ├── genericStds.h
│       ├── machine_type.h
│       └── syslib_channelMapDescr.h
└── lib└── libfdk-aac.a

在 FFMpeg 编译中启用

1、将 fdk-aac-ios 拖放到和 build-ffmpeg.sh 一级目录
一些教程建议只拖放 fdk-aac-ios 的 lib 部分,我的测试是,需要拖放全部。脚本中也会用到 include 和 lib 文件。

2、修改 脚本 build-ffmpeg.sh

将 19行的

#FDK_AAC=`pwd`/../fdk-aac-build-script-for-iOS/fdk-aac-ios

改为:

FDK_AAC=`pwd`/fdk-aac-ios

伊织 2024-05-05(日)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/10584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新巨量X-Bogus、_signature参数逆向分析与算法还原

文章目录 1. 写在前面2. 接口分析3. 断点分析4. 扣代码补环境5. 数据解密 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路…

# 从浅入深 学习 SpringCloud 微服务架构(十六)

从浅入深 学习 SpringCloud 微服务架构(十六) 一、SpringCloudStream:自定义消息通道 1、在子工程 stream_product (子模块)中,创建 自定义的消息通道类 MyProcessor.java /*** spring_cloud_demo\stream_product…

JavaEE概述 + Maven

文章目录 一、JavaEE 概述二、工具 --- Maven2.1 Maven功能 仓库 坐标2.2 Maven之项目构建2.3 Maven之依赖管理 三、插件 --- Maven Helper 一、JavaEE 概述 Java SE、JavaEE: Java SE:指Java标准版,适用于各行各业,主要是Java…

【负载均衡式在线OJ项目day5】OJ服务模块概要

前言 经过四天的努力已经完成了编译运行这个大模块,今天将要进入OJ服务模块设计,该模块的本质就是建立一个小型网站 一.功能 为用户提供题目列表页面为用户提供网站首页(用题目列表充当首页)为用户提供指定题目的编辑页面为用户提供提交代码判题功能&a…

FFmpeg常用API与示例(二)—— 解封装与转封装

封装层 封装格式(container format)可以看作是编码流(音频流、视频流等)数据的一层外壳,将编码后的数据存储于此封装格式的文件之内。 封装又称容器,容器的称法更为形象,所谓容器,就是存放内容的器具,饮料是内容&…

【QT学习】补充:qt使用已经存在的类

1.右键项目--》添加现有文件 注意:不是添加新文件!!! 2.添加配置

掌握Android Fragment开发之魂:Fragment的深度解析(上)

Fragment是Android开发中用于构建动态和灵活界面的基石。它不仅提升了应用的模块化程度,还增强了用户界面的动态性和交互性,允许开发者将应用界面划分为多个独立、可重用的部分,每个部分都可以独立于其他部分进行操作。本文将从以下几个方面深…

信息系统项目管理师0102:可行性研究的内容(7项目立项管理—7.2项目可行性研究—7.2.1可行性研究的内容)

点击查看专栏目录 文章目录 7.2项目可行性研究7.2.1可行性研究的内容1.技术可行性分析2.经济可行性分析3.社会效益可行性分析4.运行环境可行性分析5.其他方面的可行性分析记忆要点总结7.2项目可行性研究 可行性研究是在项目建议书被批准后,从技术、经济、社会和人员等方面的条…

OpenWrt项目UCI配置介绍

UCI(Unified Configuration Interface)是 OpenWrt 项目中使用的一种配置管理系统。它旨在为嵌入式设备提供一个统一且易于理解的配置接口。UCI 主要用于简化 OpenWrt 系统的各种配置过程,使得管理网络、服务和其他系统参数变得更加方便。 1 …

String的substring()方法导致的内存泄露问题

JDK 6的实现 String(int offset, int count, char value[]) {this.value value;this.offset offset;this.count count; }public String substring(int beginIndex, int endIndex) {//check boundaryreturn new String(offset beginIndex, endIndex - beginIndex, value);…

r语言数据分析案例-北京市气温预测分析与研究

一、选题背景 近年来,人类大量燃烧煤炭、天然气等含碳燃料导致温室气 体过度排放,大量温室气体强烈吸收地面辐射中的红外线,造 成温室效应不断累积,使得地球温度上升,造成全球气候变暖。 气象温度的预测一直以来都是…

[算法][差分][延迟相差][leetcode]2960. 统计已测试设备

题目地址: https://leetcode.cn/problems/count-tested-devices-after-test-operations/description/ 解法一:暴力解法 class Solution {public int countTestedDevices(int[] batteryPercentages) {//特殊条件判断if(null batteryPercentages || ba…

JavaScript DOM 对元素进行的操作

DOM(Document Object Model)是一种用于访问和操作HTML和XML文档的编程接口。JavaScript通过DOM提供的方法和属性可以对网页的元素进行各种操作,比如修改元素的内容、样式、属性等。 下面是一些常见的对DOM元素的操作以及相应的代码示例&…

@RequestMapping path正则规范

RequestMapping 注解是 Spring MVC 中用于映射 HTTP 请求的注解之一。它可以用于处理各种 HTTP 请求,包括 GET、POST、PUT、DELETE 等,并且可以指定请求的路径、请求方法、请求参数等信息。 在使用 RequestMapping 注解时,可以使用正则表达式…

51单片机入门:串口通信

串行通信的初步认识 通信方式分类 1、按照数据传送方式: 并行通信:通信时数据的各个位同时传送,可以实现字节为单位的通信。 但是通信线多,占用资源多,成本高。 串行通信:一次只能发送一位&#xff0c…

python把png转成jpg

在Python中,你可以使用PIL(Python Imaging Library,也称为Pillow)库来读取PNG图片并将其转换为JPG格式。下面是一个简单的示例代码: from PIL import Image# 打开PNG图片 png_image Image.open(input.png)# 保存为JP…

微软exchange邮箱发送

使用java发送exchange类型的邮件&#xff0c;foxmail中配置如下图&#xff1a; 需要的maven依赖如下&#xff1a; <dependency><groupId>com.microsoft.ews-java-api</groupId><artifactId>ews-java-api</artifactId><version>2.0</ve…

PCIE协议-2-事务层规范-Message Request Rules

2.2.8 消息请求规则 本文档定义了以下几组消息&#xff1a; INTx 中断信号电源管理错误信号锁定事务支持插槽电源限制支持厂商定义消息延迟容忍度报告&#xff08;LTR&#xff09;消息优化缓冲区冲洗/填充&#xff08;OBFF&#xff09;消息设备就绪状态&#xff08;DRS&#…

【系统架构师】-案例篇(八)数据流图

数据流&#xff1a;数据流是系统中数据的流动&#xff0c;它可以是输入、输出或存储在系统中的数据。 数据处理过程&#xff1a;数据处理过程是对数据进行处理的单元&#xff0c;可以是一个物理设备或软件模块。 数据存储&#xff1a;数据存储是系统中存储数据的单元&#xff0…

焦作定制在线教育系统上线,小学英语教案怎么写?教案要怎么下笔?

说到小学英语这也是当前&#xff0c;学生们的重点&#xff0c;那作为配套的辅导机构&#xff0c;要怎么写教案?这也是需要关注的地方&#xff0c;因为教案关系着教学&#xff0c;有了它学生们上课才会更有效率&#xff0c;所以&#xff0c;会写教案也是上课的第一步。 教案要怎…