在本文之前,已经参考官网或者是雷神的博客写了一个关于音频和一个关于视屏的小例子,但是总是感觉到无法入门。这可能就是基础不好,无法真正的学习到这些代码的精髓所在。似乎是将代码从一个地方搬到了另外一个地方而已,这样做感觉是毫无意义的,现在开始慢慢的学习一下音视频的基础,只有基础打好了才能够进行扩展和深入的学习。在网络上音视频开发的教程并不是很多,但是基础的介绍确实很多。参考网上综合自己的理解形成本文。
首先要了解一下音频的基础概念:
采样率: 定义了单位时间内从连续信号中提取并组成离散信号的采样个数,单位用Hz表示。常用的采样率有电话-8000Hz;无线电-22050Hz;miniDV,DAT-32000Hz;44,100 Hz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率;96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音轨、BD-ROM(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率; 2.8224 MHz - Direct Stream Digital 的 1 位 sigma-delta modaolation 过程所用采样率; 47,250 Hz - 商用 PCM 录音机所用采样率; 48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率; 50,000 Hz - 商用数字录音机所用采样率;
比特率:单位时间内传输的比特数,比特率越高,传送的数据越大
码率:单位时间内传送的数据位数,码率越高,被压缩的比例越小,音质损失越小,与音源的音质越接近
帧速率:每秒刷新的帧数,帧速率越高,动画越流畅
位宽:采样位数和采样深度,用来衡量声音波动变换的一个参数
声道数: 声音通道的数目
常用的音频格式有:
有损压缩:MP3、AAC、WMA、OGG、MPC
无损压缩格式:WAV、FLAC、APE、WV、TAK、TTA。
现在看一下有关视频的基础概念:
视频帧(frame):视频是由每一帧组成的,每一帧就是一张静态图片,只不过由于人眼的特殊结构,所以在一定的时间内切换视频会让人感觉有种连贯的工作。
帧率:即单位时间内帧的数量,单位:帧/s或fps.帧率越高,每秒切换的图片就越多,画面越顺滑,过度越自然。
24/25 fps:1秒 24/25 帧,一般的电影帧率。
30/60 fps:1秒 30/60 帧,游戏的帧率,30帧可以接受,60帧会感觉更加流畅逼真。Android系统的高性能渲染就是以60帧为标准。
85 fps以上人眼基本无法察觉出来了,所以更高的帧率在视频里没有太大意义。
- 色彩空间:RGB三原色和YUV,
Y:表示亮度
U:蓝色通道与亮度的差值
V红色通道与亮度的差值
先简单的介绍这些,接下来慢慢的一步一步学习音视频的开发