前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >音视频开发之音频基础知识!

音视频开发之音频基础知识!

作者头像
用户6280468
发布2023-02-10 19:40:02
7820
发布2023-02-10 19:40:02
举报
文章被收录于专栏:txp玩Linuxtxp玩Linux

前言:

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

一、PCM重要音频参数:

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

1、PCM数据的存储格式:

通常来说,声道的存储一般有两种形式,一种是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通道。那它的大小计算是:

代码语言:javascript
复制
 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。如下图所示:

  • adts_fix_header的结构如下:
代码语言:javascript
复制
  syncword: 同步字节,说明一个adts的开始
  
  ID MPEG:标识符,设置为1
  
  layer:默认为00
  
  protction_absent:表示是否误码校验
  
  profile:AAC等级(下面这个是AAC等级)
代码语言:javascript
复制
 sample_frequence_index: 采样率下标
代码语言:javascript
复制
  chennel_configure: 声道数
  
  frame_length:一个adts的长度
  • adts_variable_header的结构如下:
代码语言:javascript
复制
frame_length:adts的长度
adts_buffer_fullness:默认值是0x7FF,代表的是码率可变
number_of_raw_data_blocks_in_frame:代表的是ADTS帧有number_of_raw_data_blocks_in_frame  + 1个
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 txp玩Linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 一、PCM重要音频参数:
    • 1、PCM数据的存储格式:
      • 2、采样率:
        • 3、采样深度:
          • 4、通道数:
            • 5、比特率:
              • 6、PCM数据的大小计算:
              • 二、AAC数据的重要参数:
                • 1、AAC格式的讲解:
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档