音视频开发入门基础知识(音频入门篇)

RTSP实时音视频开发实战课程:<RTSP实时音视频开发实战>

音视频开发入门基础知识(音频入门篇)

目录

前言

音频的采集和播放

音频常见的格式

音频的编码


前言

        在音视频开发入门基础知识(视频入门篇)里面已经介绍过关于视频开发的基础知识,本文主要介绍音频开发中的基础知识。

音频的采集和播放

      我们知道人们在聆听这个世界的音乐或者和他人交谈时候就必须通过声音,声音传递给人的耳朵,再传递给大脑,就能通过声音知道听到的内容是什么。如果通过手机或者电脑来和别人交流那么就需要手机能采集到声音,也需要手机能播放声音。实际上手机也好电脑也好,对于声音的采集都需要麦克风来采集声音;如下图声音经过麦克风采集后将声音转为电信号,电信号会通过芯片转为数字信号,最总会生成我们能播放的音频文件,比如mp3等,mp3这些存储的音频就是音频数字信号。

a07b9c5e606646d89b8c9cf8210dddce.png

      如果我们要将手机里的音频文件进行播放,首先需要将声音的数字信号转为电信号,电信号来激发扬声器发出声音,被人耳听到,如下图所示是数字音频文件播放的过程。

99ebf1048f1242a2b27ed43232475f46.png

 学过初中物理的我们都知道声音是一种波,那么声波是如何变成数字信号的呢?声音转为数字音频的过程主要有:采样、量化、编码

采样:就是将连续的模拟信号(电信号),离散取样到的一个离散信号的过程。

42fb93bf5721479a950789fbf0399415.png

量化:把信号幅度取值的数目加以限定记录下来,如下图所示是量化后的信号。

009fe8d9c78e47cba8f070dd5b39baed.png

 编码:按照一定的格式记录 量化后的数据。编码过程按照固定的bit(如8bit或者16bit)将量化后的二进制(01)数据保存为十进制或者16进制的数据。通常音频采集到编码过程采用脉冲编码调制(PCM) ,通过脉冲编码调制可以得到PCM的音频数据

音频常见的格式

     生成PCM需要按照一定采样率对输入的声音数据进行采样,通常采样率有8000HZ,16000HZ,32000HZ、44100HZ、48000HZ等。采样率越高采样精度越高,得到的音频的质量(音质)越好;将音频的每个采样点转为十进制数据的过程需要生成特定bit的数据,通常有8bit、16bit、24bit等,采样点的bit数越高那么音质也是越好的。通常我们的播放设备有多个扬声器或者声音采集过程拾取不同空间的声音,就有了多声道这个概念;多声道通常是包含了多个通道/音轨的声音数据,可以在播放过程声音更加有立体感,以及听声辨位。根据声道数来区分音频有单声道、双声道、立体声等。

b50dc96f51fa412099bf7e2452c099f7.png​ 

       从上图看一个PCM文件本身的大小、音质等参数和音频的采样率、声道数、采样点bit数有很大关系。以采样率为44100HZ为例,音频每秒中采集44100个数据点、每个数据点按照16bit(即2个字节)存储,单声道每秒的音频采样数据为44100x2=88100个字节=86.13KB,双声道则为44100x2x2=176200个字节=172.02KB。

音频编码

       将声音采样为PCM的音频数据后数据量还是比较大的,一般会对PCM数据再次进行压缩编码,音频压缩编码的目的和视频压缩编码一样,都是使用最少的数据来传递/存储更多的信息。常用的音频编码有OPUS、AAC、MP3、G711等;通常音频编码的压缩效率可以达到10倍以上。在实音视频通话中常用OPUS、AAC和G711;MP3大多是音视频媒体存储采用的编码格式。从音质上看音质由高到低的顺序为:OPUS>AAC>MP3>G711。下面主要对AAC音频编码做个介绍。首先音频编码也是按照音频帧为单位一帧一帧的进行编码;通常一个音频帧的帧长度可以为320个采样点、512个采样点、1024个采样点等;如果音频采样率为44100HZ,帧长为1024,则帧率为44100/1024=43 fps,如果一个采样点为16bit(2个字节)则一帧音频帧大小为1024x2=2048个字节,对于双声道的音频来说则一帧音频帧大小为1024x2x2=4096字节,经过AAC编码后通常一帧数据可以压缩到300~400字节。

8f103ee8c98a437799bc2d013dbc0f43.png

      AAC编码帧的结构如下图,主要包含AAC 头部,和AAC的数据部分。其中AAC头又分为ADIF和ADTS格式。 

5f4de709b8134f3e8560bfbd492e8812.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值