首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS下 AAC 音频编码

编码结构图 前言 iOS下Apple为我们提供了非常方便的音频编解码工具AudioToolbox。该工具中包含了常见的编解码库,如AAC、iLBC、OPUS等。...今天我们就介绍一下如何使用 AudioToolbox 进行AAC音频编码工作。 AAC编码的基本流程 在 iOS 中进行AAC编码的流程比较简单,按以下几步即可完成。...设置AAC编器的输入、输出格式。 创建AAC编码器。 转码。 得到AAC编码数据后,增加ADTS头。该头用于区分每个AAC数据帧。 下面我们详细介绍每一步。...当然,这与创建编码器的函数也有关。该函数的前两个输入参数就是音频输入格式和输出格式。...另外,通过本文你可以了解到,其实在iOS下,其它音频编码的流程与AAC编码的流程都是一样的,我们只需要调整不同的参数即可。

1.9K41
您找到你想要的搜索结果了吗?
是的
没有找到

【Android RTMP】音频数据采集编码 ( FAAC 编码编码 AAC 音频采样数据 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )

文章目录 一、 FAAC 编码编码 AAC 音频采样数据 二、 封装 RTMP 音频数据头 三、 封装 RTMP 音频数据类型 四、 拷贝 AAC 音频数据到 RTMPPacket 数据包中 五、 设置数据包大小...六、 设置绝对时间、数据类型、RTMP 通道、头类型 七、 FAAC 编码编码代码示例 一、 FAAC 编码编码 AAC 音频采样数据 ---- 1 ....AAC 音频采样数据生成方法 : FAAC 编码器调用 faacEncEncode 方法 , 生成 AAC 音频采样数据 ; 2 . faacEncEncode 方法原型 : #include <faac.h...音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 ) 、四、 音频解码配置信息、 2....---- AAC 音频数据类型 : 如果是编码音频采样数据 , 类型是 01 , 如果是 AAC 解码信息 , 类型是 00 ; 这里是 01 类型 , AAC 音频采样数据 ; // 编码出的声音

1.4K20

【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

文章目录 一、 音频数据采集、编码 二、 AAC 高级音频编码 三、 FAAC 编码器 四、 Ubuntu 18.04.4 交叉编译 FAAC 编码器 一、 音频数据采集、编码 ---- 1 ....音频采样数据 , FAAC 编码库将 PCM 采样编码AAC 格式的音频数据 ; 二、 AAC 高级音频编码 ---- 1 ....高级音频编码 ( Advanced Audio Coding , AAC ) : ① MPEG-2 AAC 编码 : 初期 AAC 编码时基于 MPEG-2 有损数字音频压缩编码标准 , 称为 MPEG...-2 AAC 编码 ; ② MPEG-4 AAC 编码 : 后期 AAC 编码又基于 MPEG-4 标准基础上添加了 PNS 技术 , 称为 MPEG-4 AAC 编码 ; ③ 与 MP3 编码对比 :...AAC 压缩编码音质要高于 MP3 格式 ; 一般情况下 , 多媒体压缩格式 , 视频采用 H.264 格式压缩编码 , 音频采用 AAC 格式压缩编码 ; 三、 FAAC 编码器 ---- 1 .

69910

【Android RTMP】音频数据采集编码 ( FAAC 编码编码 AAC 音频解码信息 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )

文章目录 一、 FAAC 编码编码 AAC 音频解码信息 二、 封装 RTMP 音频数据头 三、 封装 RTMP 音频数据类型 四、 拷贝 AAC 音频数据到 RTMPPacket 数据包中 五、 设置数据包大小...六、 设置绝对时间、数据类型、RTMP 通道、头类型 七、 FAAC 编码编码代码示例 一、 FAAC 编码编码 AAC 音频解码信息 ---- 推流 AAC 音频数据之前 , 需要先将 AAC...AAC 解码信息生成方法 : FAAC 编码器调用 faacEncGetDecoderSpecificInfo 方法 , 生成 AAC 音频解码信息 ; 2 . faacEncGetDecoderSpecificInfo...音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 ) 、四、 音频解码配置信息、 2....---- AAC 音频数据类型 : 如果是编码音频采样数据 , 类型是 01 , 如果是 AAC 解码信息 , 类型是 00 ; 这里是 00 类型 , AAC 音频解码信息类型 ; //

1.4K10

最简单的基于FFMPEG的音频编码器(PCM编码AAC

本文介绍一个最简单的基于FFMPEG的音频编码器。该编码器实现了PCM音频採样数据编码AAC的压缩编码数据。编码器代码十分简单,可是每一行代码都非常重要。通过看本编码器的源码。...流程(2014.9.29更新) 以下附一张使用FFmpeg编码音频的流程图。 使用该流程。不仅能够编码AAC音频,并且能够编码MP3,MP2等等各种FFmpeg支持的音频。...avcodec_encode_audio2():编码音频。即将AVFrame(存储PCM採样数据)编码为AVPacket(存储AAC,MP3等格式的码流数据)。...WMA,AAC等)。 *是最简单的FFmpeg音频编码方面的教程。 *通过学习本样例能够了解FFmpeg的编码流程。...会将一个PCM採样数据文件(*.pcm)编码AAC码流文件(*.aac)。

1.1K20

【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 )

文章目录 一、 AAC 音频格式解析 二、 FLV 音频数据标签解析 1. 分析 FLV 格式中的 AAC 音频格式数据 2. AAC 音频特殊配置 3....AAC 音频数据标签 三、 FLV 音频数据标签头 四、 音频解码配置信息 1. AAC 音频数据 2. 第 1 字节 AF 数据解析 3....推流数据分析 : 当前的需求是需要将 FAAC 编码后的 AAC 数据推流到 RTMP 服务器中 , 推流时 , 需要推流的 AAC 格式不是上述两种格式 , 而是纯 AAC 裸数据 ; 3 ....分析 FLV 格式中的 AAC 音频格式数据 分析 FLV 格式中的 AAC 音频格式数据 : 下图中的第 2 个音频数据标签 , 存储了音频特殊配置 , 之后的 AAC 音频数据标签都是普通的音频采样数据...AAC 音频数据 AAC 音频数据 : 分为两类 , 解码配置数据, 音频采样数据 ; ① AAC 格式音频解码配置信息 : 下面的 7 个字节时音频解码配置信息 ; 0x000001bf :

2.8K10

ffmpeg抽取音频AAC

前 在我的视频课中为了讲解对多媒体文件进行复用和解复用,我特别举了一个例子,就是将一个MP4文件中的音频 AAC 抽取出来。...我在群里给大家耐心的说明了一下 AAC分为 HE-AAC 和 LC-AAC...,由于写的代码只是一个例子,并没有适配所有的情况,所以只对HE-AAC有效,而对于 LC-AAC,需要手动修改一下。...两种实现方式 对于从多媒体文件中抽取出 AAC音频有两种实现方式。一种是我在视频课中举的例子,取出一个个音频包,然后在每个音频包前边手动的加 ADTS Header写成一个文件。...另一种就比较简单了,就是使用 ffmpeg API 直接创建一个 AAC 文件,在 ffmpeg库内部会自己查找到对应的多媒体格式帮你做好 ADTS Header,并最终写好AAC 文件。...遇到的问题 需要注意的点,在将抽取出的音频包写入到输出文件之前,要重新计算它的时间戳,也就是将原来时间基的时间戳修改为输出流时间基的时间戳。这一步非常关键,否则在播放该 AAC文件时出错。

94210

采集音频和摄像头视频并实时H264编码AAC编码

采集音频和摄像头视频并实时H264编码AAC编码 0. 前言   我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法。...这是我做直播系列应用的一部分,目前的情况是输入端采用DirectShow技术捕获音视频,然后对视频进行h.264编码,对音频进行aac编码,输出端则是生成文件,接下来还要进一步扩展输入端和输出端,以支持文件...编码可以选择的余地比较大,对视频来讲,有H264, MPEG-4, WebM/VP8, Theora等,音频有Speex, AAC, Ogg/Vorbis等,它们都有相应的开源项目方案,我采用的是x264...进行H264编码,libfaac进行aac编码,之后是否更改编码方案,等具体项目需求再说了。...调用faac进行编码的时候,有点需要注意,大家特别注意下,不然编码出来的音频会很不正常,搞不好的话会很头疼的。

2.5K80

iOS AVDemo(2):音频编码,采集 PCM 数据编码AAC丨音视频工程示例

这个 Demo 里包含以下内容: 1)实现一个音频采集模块; 2)实现一个音频编码模块; 3)串联音频采集和编码模块,将采集到的音频数据输入给 AAC 编码模块进行编码和存储; 4)详尽的代码注释,帮你理解代码逻辑和原理...想要了解 AAC 编码,可以看看《音频编码:PCM 和 AAC 编码》。...3、采集音频数据进行 AAC 编码和存储 我们在一个 ViewController 中来实现音频采集及编码逻辑,并将编码后的数据加上 ADTS[2] 头信息存储为 AAC 数据。...关于 ADTS,在《音频编码:PCM 和 AAC 编码》中也有介绍,可以去看看了解一下。...// 当编码编码的是 AAC 裸流数据时,需要在每个 AAC packet 前添加一个 ADTS 头用于解码器解码音频流。

74630

Android AVDemo(2):音频编码,采集 PCM 数据编码AAC丨音视频工程示例

这个 Demo 里包含以下内容: 1)实现一个音频采集模块; 2)实现一个音频编码模块; 3)串联音频采集和编码模块,将采集到的音频数据输入给 AAC 编码模块进行编码和存储; 4)详尽的代码注释,帮你理解代码逻辑和原理...3、采集音频数据进行 AAC 编码和存储 我们在一个 MainActivity 中来实现音频采集及编码逻辑,并将编码后的数据加上 ADTS[1] 头信息存储为 AAC 数据。...关于 ADTS,在《音频编码:PCM 和 AAC 编码》中也有介绍,可以去看看了解一下。...// 当编码编码的是 AAC 裸流数据时,需要在每个 AAC packet 前添加一个 ADTS 头用于解码器解码音频流。...完成音频采集和编码后,可以将 sdcard 文件夹下面的 test.aac 文件拷贝到电脑上,使用 ffplay 播放来验证一下音频采集是效果是否符合预期: $ ffplay -i test.aac

92210

「Android音视频编码那点破事」第五章,使用MediaCodec编码AAC音频数据

在上一章我们讲到了MediaCodec的工作流程,以及如何利用MediaCodec进行H264编码。这一章的内容同样是MediaCodec,只不过是编码音频AAC,整个流程大同小异。   ...上一章我们利用MediaCodec编码视频时,使用了Surface,所以可以不直接操作输入缓冲区队列。但是编码音频的时候,由于无法使用Surface,所以需要直接操作输入缓冲区队列。   ...{ val mediaFormat = MediaFormat() /** * 编码格式AAC:parameter.audio.mime = "audio/mp4a-latm"...最后通过循环从编码器输出缓冲区中拿出AAC数据。这里通过回调把AAC数据送进MediaMuxer进行音视频混合,最后生成mp4文件。...本章知识点: 使用MediaCodec进行AAC编码

40830

【Android RTMP】音频数据采集编码 ( FAAC 音频编码参数设置 | FAAC 编码器创建 | 获取编码器参数 | 设置 AAC 编码规格 | 设置编码器输入输出参数 )

FAAC 编码器输入、输出格式 七、 FAAC 设置音频编码参数代码 Android 直播推流流程 : 手机采集视频 / 音频数据 , 视频数据使用 H.264 编码 , 音频数据使用 AAC 编码...: 开始进行音频直播推流操作 , 先采集音频 , 将音频编码AAC 格式 , 将编码后的音频打包成 RTMP 包 , 然后推流到服务器中 ; NV21 格式图像编码为 H.264 视频 , 需要设置...configurationPtr->outputFormat = 0; 参考 【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头...AAC 编码时, 会编码成 ADTS 数据 但是推流音频时, 推流的是 AAC 裸数据, 需要将 ADTS 音频格式中的头信息去掉 博客中截图 FLV...第一帧 AAC 音频数据标签 和 后续 AAC 音频数据标签 这里设置输出格式 0, 就是 FAAC 将 PCM 采样进行编码, 编码出的格式是 AAC 原始数据 即没有解码信息的

4.3K20

H.264编码AAC编码基础

编码基础 AAC 是高级音频编码(Advanced Audio Coding)的缩写,AAC 是新一代的音频有损压缩技术 1、AAC 编码的特点 AAC 是一种高压缩比的音频压缩算法,但它的压缩比要远超过较老的音频压缩算法...同其他类似的音频编码算法一样,AAC 也是采用了变换编码算法,但 AAC 使用了分辨率更高的滤波器组,因此它可以达到更高的压缩比。...AAC 支持更宽的声音频率范围,最高可达到 96kHz,最低可达 8KHz,远宽于 MP3 的 16KHz-48kHz 的范围。...不同于 MP3 及 WMA,AAC 几乎不损失声音频率中的甚高、甚低频率成分,并且比 WMA 在频谱结构上更接近于原始音频,因而声音的保真度更好。...2、AAC 音频文件格式 ①、ACC 音频文件格式类型 AAC音频文件格式有:ADIF,ADTS ADIF:Audio Data Interchange Format 音频数据交换格式。

61320

IOS播放音频编码AAC_HE_V2无声音,如何解决?

问题定位 一、视频信息确认 首先,我们来看下视频的信息,发现音频AAC_HE_V2 编码格式。 image.png 这是什么编码格式呢?...在低码率的情况下,HE-AAC,HE-AAC v2编码后的音质要明显好于LC-AAC。...HE-AAC v2编码格式。...这时候要借助ffmpeg,将源文件视频复制不编码音频编码音频默认是lc的,如下: ffmpeg -i input.mp4 -vcodec copy output.mp4 我们再来看下处理后的文件信息...小结 以上针对IOS播放第三方编码库Fraunhofer FDK AAC中的AAC_HE_V2音频编码格式存在兼容性的问题,对原因进行了分析,并提供了修复文件以及转码的方法,客户可以根据实际业务需要,自行选择修复或者转码的方式解决

4.7K233

AAC音频格式详解和实战解析

AAC音频格式详解和实战解析 一.基本概念    AAC:即MPEG-2 Advanced Audio Coding,分为流格式和文件格式。...文件格式:adif格式 adif格式 该格式特点:只有开头有一个头部信息,后面都是AAC裸数据。...一个AAC音频帧的播放时间=一个AAC帧对应的采样样本的个数/采样率。总时间t=总帧数x一个AAC音频帧的播放时间 时间t=总帧数x一个AAC音频帧的播放时间 二....实战演练 1)使用ffmpeg抽取一个mp4文件中的aac音频如下: ffmpeg.exe  -i CCTV-2-dszg-1.mp4 -vn -y -acodec copy audio.aac 2)利用工具分析该...aac音频固定头和可变头字段如下: adts头解析 3)使用程序代码解析 #include "stdafx.h" #include typedef struct _AdtsHeader

1.8K30

音频编码(一)——FFmpeg编码

声波 这里为啥讲到了声波,讲到了我们的中学物理上的知识,因为我想大家能从根本理解后面音频编码的各种参数以及原因。当然这些知识网上都能搜到,我只是整合一下。...FFmpeg编码PCM文件 需求:通过FFmpeg将PCM文件编码AAC文件,最终的文件我们可以进行播放。 有朋友奇怪为什么要讲将PCM编码AAC,而不是用Android设备采集再编码输出?...我这样介绍是有特殊考虑的,因为从音频采集到编码输出中间会有很多的坑,如果直接上手这一步,可能会出现各种问题。...,后面对编码出来的aac文件进行对比。...\n"); return -1; } 第二步:打开编码器 首先需要找到编码器: pCodec = avcodec_find_encoder(AV_CODEC_ID_AAC

5.5K40
领券