这是关于安卓音视频的一个系列文章,大家可以从这里随意跳跃:
0.安卓音视频整理
1.安卓音视频整理(一)—— 音频模块
2.安卓音视频整理(二)—— 音视频编解码
3.安卓音视频整理(三)—— 图像模块
4.安卓音视频整理(四)—— 音视频播放器
5.安卓音视频整理(五)—— MediaSDK的封装
摘要:今天开始,我将会整理一下我在音视频开发中的一些知识积累,主要会包括 基础概念、音频模块、图像模块、音视频编解码、音视频播放器、MediaSDK的封装 这些内容。
本系列文章将会重点围绕上图的内容来扩展,主要包括Android 音频录制、视频录制、音视频编解码,播放器设计等。此篇文章介绍一些有关音视频的基本概念。
① 音频量化过程
模拟信号 —> 采样 —> 量化 —> 编码 —> 数字信号
音频量化过程见下图:
② 音频量化基本参数
③ 人类对声音的感知
人类的听觉范围: 20Hz —— 20 kHz
人类的发声范围: 85Hz —— 1100 Hz
④ 音频码率计算
码率为数据传输时单位时间传送的数据位数。单位 bps 即:位每秒。几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真。
码率 = 采样率 x 采样大小 x 声道数 (bps)
例如: 采样率为44.KHz, 采样大小为 16bit, 双声道的PCM 编码的 WAV 文件的码率是多少?
答:它的码率为 44.1K x 16 x 2 = 1411.2 kbps
⑤ 声音三要素
① 有损和无损
相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,相对自然界的信号,任何数字音频编码方案都是有损的,因为无法完全还原。
在计算机应用中,能够达到最高保真水平的就是脉冲代码调制编码,即PCM编码,因此,PCM被约定俗成为无损编码,被广泛用于素材保存及音乐制作中,但这并不意味着PCM就能够确保信号绝对的保真。
② 数据带宽
数据带宽,它和ADSL中的带宽是一个概念。将码率除以8,就可以得到这个WAV的数据带宽.
如:采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号:
这表示存储一秒钟采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号,需要176.4KB的空间,1分钟则约为10.34M。这太大了,大部分用户是不可接受的。要降低磁盘的占用,只有2种方法,降低采样指标或者编码压缩,然而,降低指标并不可取。主要还是对音频数据进行编码,以达到压缩数据量的目的。
③ 音频编码类型
根据编码方式的不同,音频编码技术分为三种:
④ 编码格式
常见的编码格式:
PCM、WAV、MP3、OGG、AAC、M4A 等。
① 分辨率
分辨率影响图像的大小,与图像大小成正比,分辨率越高,图像越大,分辨率越低,图像越小。常见的分辨率:
② 清晰度
③ 帧率
帧率是指每秒显示的图片数,或者指每秒能够更新图片的次数,又称FPS。
越高的帧速率可以得到更流畅逼真的画面、每秒帧数越多,所显示的动作就会越流畅。帧率也会影响体积,帧率越高,每秒显示的画面越多,体积就越大。
由于人类眼睛的特殊生理结构,如果画面帧率高于16,就会认为是连贯的,此现象称之为视觉暂留。
当帧数达到一定数值后,再增长的话,人眼能感知的流畅度的提升就比较有限了。一般来说30fps是可以接受的,将性能提升至60fps则可以明显提升交互感和逼真感,如果超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理能力,因为监视器不能以这么快的速度更新。
①视频的格式
视频的格式包括两种:封装格式和编码格式
一张图片可以用很多种算法来显示在屏幕中,所以图片的编码方式就有了JPEG,BMP,PNG等。
视频是动态图像,用什么样的方式表达1s内的若干图片,这就是简单意义上的视频编码,继而就诞生了MPEG,H.264等多种编码格式。
后来有了音频,字幕,配音,就需要一个容器把他们全部放进去保存,所以就诞生了封装格式
② 封装格式
所谓封装格式,是按照一定的规则来将视频轨道、音频轨道、字幕、时间戳、编码方式等零散信息组装在一起,在播放视频文件的时候一起同步进行播放,并且提供了视频索引,可以让我们在播放视频拖动进度条时,播放器可以按照这些信息来匹配解码器,同步音视频。
视频文件的封装格式不影响视频的画质,影响视频画质的是视频的编码格式
典型的三种视频封装格式:ts,MP4和mkv
③ 编码格式
编码格式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件存在的方法。
不同编码方法的区别主要是压缩算法的不同。视频编码的目的主要是压缩数据体积。
视频中常用的编码标准有H.26X系列,MPEG系列,移动端使用最多的是MP4视频文件,主要使用H.264 AVC编码格式。
④ H.264 AVC编码格式
下一篇:1.安卓音视频整理(一)—— 音频模块