音视频开发之音频基础知识!
创始人
2024-02-16 15:59:07
0

前言:

在音视频开发中,音频也是一个重要功能之一。在音频开发中有两个重要的概念,一个是PCM数据格式,另外一个是AAC数据格式。下面我们会重点介绍!

一、PCM重要音频参数:

PCM数据也被称之为脉冲编码调制数据,也指的是音频未经过压缩的原始数据。它是由模拟信号通过采样、编码、量化等步骤转换成标准的数字信号。

1、PCM数据的存储格式:

903b7c29e21de6fdc15b3b8d5e93383a.png

通常来说,声道的存储一般有两种形式,一种是Paketed另外一种是Planner。Packeted方式指的是交错存储,Planar指的是分开存储。如下:

  • Packeted: L R L R L R L R

  • Planar:L L L L L R R R

2、采样率:

采样率指的是声音每秒中采样点的个数,比方说采样率48000就相当于每秒有48000次采样,在日常开发中有几个常见的采样率: 22000HZ(22KHZ)、44100HZ(44.1KHZ)、48000HZ(48KHZ)、96000(96KHZ)、192000(192KHZ)。

3、采样深度:

采样深度指的是每个采样点的大小。通常来说,常用的采样深度是24bit、16Bit、8bit。

4、通道数:

通道数常见有包括单通道、双通道、四声道等。这个很好理解,就是有几路通道,更直白的说,和我们平时走路一样,有几条路可以选择!

5、比特率:

比特率指的是PCM原始音频数据每秒传输的位数(bit)。对于PCM数据来说,比特率的计算公式 = 采样率 * 采样深度 * 通道数。

6、PCM数据的大小计算:

假设我们采集一段10分钟大小的PCM数据,采样率48000、采样深度8bit、采样2通道。那它的大小计算是:

48000*8*2*10*60/8/1024/1024 = 54M

二、AAC数据的重要参数:

说完PCM数据的参数后,我们再来了解一下另外一个重要的音频格式: AAC格式:AAC也称之为高级高级压缩编码格式,它是基于mpeg-2的一种音频压缩格式,目前这种音频格式广泛运用在网络通信、视频语音、在线广播等领域。AAC的优势在于压缩比更大并且音质更佳,AAC的压缩比可以达到20:1,这使得在网络传输中有着广泛的运用。

1、AAC格式的讲解:

AAC格式分为两种:一种是ADIF格式,另外一种是ADTS格式。ADIF格式的特点是:只有一个头部信息,后面都是AAC裸流数据,这种格式通常运用在磁盘播放和文件存储;而另外一种ADTS格式的特点是:每一帧数据 = adts header(AAC头部) + aac es(AAC裸流数据),这种格式适合在流媒体进行播放。下面我们重点来看看ADTS的结构:

我们先来看看adts header,adts header由两部分组成,一个是adts_fix_header,另外一个是adts_variable_header。如下图所示:

ffa1cd361711e16278358e5865def58f.png
  • adts_fix_header的结构如下:

bacfe4448acca9a95304351357d3a780.png
syncword: 同步字节,说明一个adts的开始ID MPEG:标识符,设置为1layer:默认为00protction_absent:表示是否误码校验profile:AAC等级(下面这个是AAC等级)
65c22e3e49415f7443d4a640162c19be.png
sample_frequence_index: 采样率下标
2d20406025a658d8c2214a3e41f6e5f1.png
chennel_configure: 声道数frame_length:一个adts的长度
  • adts_variable_header的结构如下:

2b5fe88dc69f8dc660f601c60fb7327d.png
frame_length:adts的长度
adts_buffer_fullness:默认值是0x7FF,代表的是码率可变
number_of_raw_data_blocks_in_frame:代表的是ADTS帧有number_of_raw_data_blocks_in_frame  + 1个

最后:

对嵌入式音频开发感兴趣的朋友,可以加入星球来学习,课程内容说明如下:

ai识别加音视频推流实战项目进度,整个项目从7份开始,前两部分的ai识别工程基本上已经讲解完了(还有人脸识别的工程代码会进行重新重构一篇),当然这里面等录制完了第三部分的音视频推流开发内容,还会对ai识别这部分做补充,比如说yolo或者ssd等算法模型的原理讲解,还有就是自己怎么去训练模型;目前已经开始在录制音视频推流开发的第三部分,已经录制了两个小节部分,第三部分的内容会多搞点,比如理论知识的讲解,然后再结合我们的推流代码工程,可以学习到mpp和ffmpeg,以及rtmp、srt等相关协议,还包括h264、h265的码流结构和编码结构等相关知识点,甚至还包括工作当中常遇见家的问题,比如说,音视频不同步的问题,同时最近又添加了最新的课程内容:

5677c33345a5751cba8d5eec561e2a0a.png33491f7030453833ac6b6b99d9139372.png

课程都有视频教程讲解,包括有解答群:

303952703a0655eaa4fb3b8df4171357.png

最新课程内容更新:

ff7d664ed5ec4734a531c0e6adbf810a.png

可以直接扫码加入星球:

7f1324e928bfcf3d32a6bd909f8c57ef.jpeg

最后感谢大家的支持哈,加入了星球的朋友,记得加我微信:tu18879499804,我拉大家进解答群!

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...