本文梳理了音视频编程开发者需要了解的基本概念
访问我的博客了解更多
前言
本文梳理了音视频编程开发者需要了解的基本概念,当然,有的人一开始看着干巴巴的理论,感到困乏,却是一个喜欢动手实践的开发者,那么先实践 ffmpeg的C语言编程入门,然后再来看理论篇更好了。
音频的基本概念
音频技术是为了采样、存储、播放"声学现象"而存在的,详细一点,是模拟信号与数字信号转换;在人耳可听的时域与频域的范围内,进行压缩、转码,在数据大小与音质的取舍中存储音频文件;播放时解读文件的音频参数,进行转码。
声学的物理知识
声音是有物体振动而产生的,是一种压力波。
声音的振动会引起空气有节奏的振动,是周围的空气发生疏密变化,形成疏密相间的纵波
通过上一句话,容易理解声波三要素:
- 频率,音阶的高低,频率越高,波长越短,而低频声音的波长较长,更容易绕过阻碍物。
- 振幅,响度,使用分贝描述响度的大小,
- 波形,音色
人耳的生物知识
回声的区分:两道声音传入人耳的时差小于 80 毫秒,人耳便无法区分这两道声音。
人耳可接收的频率范围:20Hz~20kHz
声音的数字化
数字音频的三个要素: 采样、量化、编码
- 采样,在时间轴上对信号进行数字化,根据采样定理(奈奎斯特定理),按比声音最高频率高两倍以上的频率对声音进行采样(AD转换),根据人耳可听频率,高质量的采样频率为 44.1kHz,即一秒采样44100次
- 量化,在幅度轴上对信号进行数字化,例如使用 short (16 bit) 存储空间表示一个声音采样,共有 2^16 个可能取值,于是模拟的音频信号在幅度上分为了 65536 层
- 编码,按照一定的格式记录采样和量化后的数字数据,比如顺序存储,压缩存储等
音频文件的原始格式,PCM, WAV
PCM + WAV header (44 bit) = WAV
PCM 全称 Pul