P6 音频格式—— AAC

2023-12-25 10:01
文章标签 aac p6 音频格式

本文主要是介绍P6 音频格式—— AAC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言  

 01 AAC是什么?

 02 为什么需要进行AAC进行音频压缩处理?

 03 AAC的特点以及优势

 04 AAC格式详解:

4.1. ADIF的数据结构:

4.1.1 ADIF Header具体的表格:

4.2. ADTS的结构(重点):

4.2.2. adts_fixed_header的表格如下:

4.2.3. adts_variable_header的表格如下:


前言  

                             

从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板

🎬 个人主页:@ChenPi

🐻推荐专栏1: 《C++_@ChenPi的博客-CSDN博客》✨✨✨ 

🔥 推荐专栏2: 《Linux C应用编程(概念类)_@ChenPi的博客-CSDN博客》✨✨✨

🛸推荐专栏3:《嵌入式音视频_@ChenPi的博客-CSDN博客》
🌺本篇简介  :这章记录音频的基础知识学习

 01 AAC是什么?

AAC中文名称是高级音频编码技术,它是基于MPEG-2的一种全新的音频编码技术。而随着时代的发展, 目前AAC的技术升级到MPEG-4标准。它广泛运用在网络传输、高清录制等领域,而AAC技术的出现就是为了取代之前的MP3格式。

 02 为什么需要进行AAC进行音频压缩处理?

由于一帧普通的PCM数据传输的比特率都非常高,以采样率48000、采样通道2、采样格式S16的PCM数据进行传输。假设采集10分钟就是100多M,这样的大小在网络传输显然是不可取的。所以此时我们就需要引入AAC音频编码进行压缩,在经过AAC压缩过后原本需要100多M的音频数据可能就需要几M就可以传输了

 03 AAC的特点以及优势

3.1.高压缩率:AAC的压缩率高达1:20,远远高于MP3的1:10。换言之,在相同时间内录制AAC的文件大小远远低于MP3的大小。

3.2.更高的音频品质:AAC的优势不仅在于压缩大小上,还在于它的音频还原程度更高,音质相比于其他压缩格式更加优秀。

3.3.更高的解码效率:解码播放器在解码含有AAC的音频编码的时候,它所占用的资源会更加的少,解码时CPU使用率更低。

 04 AAC格式详解:

AAC有两种不同的表现形式,一个是ADIF形式,另外一种是ADTS形

  1.     ADIF形式:这种格式的特点是可以确定这个音频数据的开始位置,而且不需要在中间位置进行解码。所以这种形式的AAC文件适合存储在磁盘中。
  2. ADTS格式存储的AAC文件的特点是可以在任意帧进行解码,换言之就是在ADTS格式每一帧都有头信息,下面我们用两张图来区分两种形式的不同

4.1. ADIF的数据结构:

  

4.1.1 ADIF Header具体的表格:

  

4.2. ADTS的结构(重点):

  

从这张图可以出,一个普通的ADTS帧由两部分组成。一个是ADTS Header,另外一个是AAC ES,ADTS Header是头部信息,AAC ES是AAC的裸流数据。下面我们先来重点看看ADTS Header的具体信息

ADTS Header由两部分组成一个是adts_fixed_header,另外一个是adts_variable_header

4.2.2. adts_fixed_header的表格如下:

  1. syncword 固定为0xFFF,代表着⼀个ADTS帧的开始
  2. id:MPEG标识符,0标识MPEG-4,1标识MPEG-2
  3. layer:默认为00
  4. protection_absent:表示是否误码校验。
  5. profile:表示使⽤哪个级别的AAC,下面这个表格是profile的索引:

Sample Frequence index:代表的是使用的是采样率下标,通过这个下标找到对应的采样率,如下图:

private bit私有位,编码的时候设置为0,解码的时候忽略这个

channel configuration声道数的配置,下面是声道数的配置表格

1:单声道

2:双声道

3:三声道

4:四声道

5:五声道

6:六声道

7:八声道

8-15:reserved

copy: 编码时设置为0,解码的时候忽略

home:编码时设置为0,解码的时候忽略

4.2.3. adts_variable_header的表格如下:

  1. copyright_identificaion_bit:编码时设置为0
  2. copyright_identificaion_start:编码时设置为0
  3. aac_frame_lengthADTS帧的长度,它包含adts length和aac es的长度。所以aac_frame_length=-(protection_absent == 0 ? 9:7) + audio_data_length
  4. adts_buffer_fullness固定为0x7FF。这个标识符是指可变的码流
  5. number_of_raw_data_blocks_in_frame表示当前的帧有number_of_raw_data_blocks_in_frame + 1 个原始帧

这篇关于P6 音频格式—— AAC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535120

相关文章

AAC的封装

ADTS   ADTS 头中相对有用的信息,如:采样率、声道数、帧长度,每一个带ADTS头信息的AAC流会清晰的告送解码器他需要的这些信息。     ADTS的头信息为两部分组成,其一为固定头信息,紧接着是可变头信息。固定头信息中的数据每一帧都相同,而可变头信息则在帧与帧之间可变,一般情况下ADTS的头信息都是7个字节,分为2部分,固定头占28位,可变头占28位。  ADTS

flac格式转换mp3:3种方法助你掌握音频格式转换

在音频世界里,flac是无损压缩的音频格式。如果以大餐作比较,flac音质细腻、层次丰富,让每一个音符都仿佛跃然纸上。对于音乐爱好者来说,歌曲使用flac格式无疑是一场饕餮盛宴! 然而,并非所有设备和播放器都能播放flac格式的音频。为了让大家都能享受到悦耳的音乐,把flac格式转换mp3格式就尤为重要了。mp3格式具备简单易得、兼容性广泛、文件体积相对较小的优点,完美适配各个设备和播放器。

【ffmpeg】转换音频格式

在音频文件所在目录启动终端输入以下 ffmpeg -y -i original.aac target.mp3 -y 如果输出文件已经存在,则覆盖它而不询问。 执行完毕后在当前文件夹目录下生成目标文件

免费mp3转换器哪个好用?解决音频格式转换难题就用这5个

当夕阳的余晖洒满杭州的西湖,那8分钟的人间浪漫,让人沉醉于这瞬息万变的自然之美。就如同我们用音乐记录生活,将那些感动的瞬间永久保存。 但有时候,我们遇到的音乐文件格式并不总是我们想要的。这时候,一款好的免费mp3转换器电脑工具就显得尤为重要。 今天借此机会便来给大家推荐5个宝藏免费mp3转换器电脑可用的~有需要的朋友可千万别错过啦! ▶迅捷音频剪辑软件:音频编辑的快速助手 综合评分:4

音视频开发29 FFmpeg 音频编码- 流程以及重要API,该章节使用AAC编码说明

此章节的一些参数,需要先掌握aac的一些基本知识:​​​​​​aac音视频开发13 FFmpeg 音频 --- 常用音频格式AAC,AAC编码器, AAC ADTS格式 。_ffmpeg aac data数据格式-CSDN博客 目的: 从本地⽂件读取PCM数据进⾏AAC格式编码,然后将编码后的AAC数据存储到本地⽂件。 流程: 关键函数说明: avcodec_fin

ffmpeg学习十:将pcm格式的音频编码为aac格式

上一节,我们使用alsa库编写了音频的采集和播放的程序。这一节,我们将在采集到的pcm格式的音频数据的基础上,进一步将其编码为aac格式。 音频编码概述 pcm是最原始的音频编码格式,这种编码是无损的。同时意味着存储这种数据的文件将会很庞大,因此必须进行压缩。pcm是音频的编码格式,它不是文件的封装格式,上一节我们录制的声音存储在一个.pcm为后缀的文件中,这只是我们愿意这么做而已,你完全可以

FFmpeg AAC文件和H264文件合成MP4/FLV文件

使用FFmpeg库把AAC文件和H264文件合成MP4/FLV文件,FFmpeg版本为4.4.2-0。 需要aac和h264测试文件的,可以从我上传的MP4文件中用ffmpeg提取,命令如下: ffmpeg -i <input.mp4> -map 0:v -c:v copy <output.h264> -map 0:a -c:a copy <output.aac> 代码如下:   #i

(P6)文件与IO:stat、stat结构体

文章目录 1.stat2.stat结构体3.stat的eg4.实现ls -l功能需要的函数 1.stat 功能:读取文件元数据 int stat(const char *pathname, struct stat *buf);int fstat(int fd, struct stat *buf);int lstat(const char *pathname, struct

(P6)epoll:epoll的两种触发模式,select/poll/epoll对比

文章目录 1.epoll的两种触发模式2.select/poll/epoll对比 1.epoll的两种触发模式 两种触发模式 Level-Triggered Edge-Triggered 如果采用Level-Triggered,那什么时候关注EPOLLOUT事件?会不会造成busy-loop? epoll的LT和ET模式对比 LT:电平触发(1)EPOLLIN事件

Mpeg系列——AAC音频(1)

AAC在MPEG2和MPEG4中定义。 扩展名:.m4a, .m4b, .m4p, .m4v, .m4r, .3gp, .mp4, .aac  互联网媒体类型:audio/aac, audio/aacp, audio/3gpp, audio/3gpp2, audio/mp4, audio/MP4A-LATM, audio/mpeg4-generic  格式:有损数据压缩  延伸自:M