二.音视频入门

目录

 

一.音频处理概要流程

1.直播客户端处理流程

2.音频数据流

二.PCM与WAV

1.音频的原始数据:

2.量化基本概念:

3.码率计算:

4.WAV数据解析:

三.各个平台采集音频的方式


一.音频处理概要流程

音频处理流程

1.直播客户端处理流程

音视频采集 -> 音视频编码 -> 传输 -> 音视频解码 -> 音视频渲染


2.音频数据流


pcm(完整的数字信号)-> aac/mp3 (压缩后的数据) -> mp4/flv/mov(套一层马甲作为可识别的多媒体文件) -> 解码器解封(aac/mp3)-> 还原pcm去播放。

7b7a4811f1b65371f0ba860ad629fd31.jpeg

584aa8733403204f2e0abb0efed10394.jpeg

二.PCM与WAV

1.音频的原始数据:

pcm格式数据纯音频数据无任何编码和封装)

WAV格式数据有文件格式,可以储存原始数据PCM数据,相当在原始数据加了个头

2.量化基本概念:

采样大小:一个采样用多少bit存放。常用的是16bit(也叫位深)

采样率:采样频率 8k,16k,32k,44.1k,48k, (采样率越高还原度越高

声道数:单声道,双声道,多声道

PCM数据就是采样大小x采样率x声道数

3.码率计算:

要算一个PCM音频率的码流是一件很轻松的事情,采样率x采样大小x声道数

例如:采样率为44.1kHZ,采样大小为16bit。双声道的PCM的编码的WAV文件,它的码率为44.1kx16x2=1411.2kb/s。

这么大的码流显然无法再我们网络上传输,需要压缩后进行传输。

4.WAV数据解析:

f32819c1c4ebb2ab0facdaab011152bc.png

ChunkSize:数据块大小

Format:数据格式(fmt 或者 data),fmt后面是解析信息,data就是直接是数据

NumChannals:声道数

SampleRate:采样率

BitsPerSample:采样大小

举例如下:

c39b32d2e0c73fcfcc0b5add91b66897.png

三.各个平台采集音频的方式

Android端音频采样     #AudioRecorder(更底层)   MediaRecorder

IOS端音频采样             #Audio unit      AV foundation

windows端音频采集     #Direct show   Open AL     Audio core(Win7后)

1.AudioRecord(基于字节流录音)
优点:可以实现语音的实时处理,进行边录边播,对音频的实时处理。
缺点:输出的是PCM的语音数据,如果保存成音频文件是不能被播放器播放的。要用到AudioTrack这个去进行处理。

2.MediaRecorder(基于文件录音)
已集成了录音,编码,压缩等,支持少量的音频格式文件。
优点:封装度很高,操作简单
缺点:无法实现实时处理音频,输出的音频格式少。

猜你喜欢

转载自blog.csdn.net/gongjdde/article/details/127718087