2.2.2 视频相关术语
1.视频
当连续的图像变化每秒超过24帧时,根据视觉暂留的原理,人眼无法分辨出单独的静态画面,从而感知到的是平滑连续的视觉效果,这种连续的画面序列被称作视频。
2.帧
帧是影像中的最小单位,相当于电影胶片中的每一格镜头。一帧就是一幅静止的画面,而连续的帧序列构成了视频。
3.帧速率
帧速率是指每秒传输的图片数量,也可以理解为显示器每秒刷新的次数。帧速率越高,动作的显示越流畅。
4.转码
转码是将一段多媒体内容,包括音频、视频,从一种编码格式转换为另一种编码格式的过程。
5.视频编码
视频编码是视频文件中采用的压缩算法,其主要目的是将视频像素数据(如RGB、YUV等)压缩为视频码流,从而减少视频的数据量。
6.视频解码
由于压缩(编码)后的内容不能直接使用,使用(观看)时需要进行解压缩,恢复为原始信号,这个过程被称为“解码”或者“解压缩”。
7.场频
场频又称为刷新频率,是显示器的垂直扫描频率,指显示器每秒能显示的图像次数,单位为Hz。场频一般为60~100 Hz。屏幕刷新频率越高,图像闪烁越少,画面质量越高,观看者的视觉体验也越好。
人眼的视觉暂留为每秒16~24次,因此,只要屏幕画面每秒更新30次或更频繁,就能创造出画面连续不变的错觉。
8.视频的构成
一个完整的视频文件由音频和视频两部分组成,它们由封装格式和编码格式构成。常见的视频文件格式如AVI、RMVB、MKV、WMV、MP4、3GP、FLV等,其实只是封装标准或者外壳。
外壳的核心是编码文件。编码文件经过封装后,形成常见的MP4、AVI等视频文件。例如,H.264、MPEG-4等是视频编码格式,而MP3、AAC等是音频编码格式。
例如,将一个H.264视频编码文件和一个MP3视频编码文件按AVI标准封装,将得到一个以AVI为扩展名的视频文件。部分技术先进的容器还可以同时封装多个视频、音频编码文件,甚至封装字幕,如MKV封装格式。MKV文件能够包含多种语言的音轨和字幕,满足不同用户的需求。
封装格式的相关内容如下。
● 封装格式(也叫容器)是将编码压缩好的视频和音频轨道按照一定的格式放入一个文件中,相当于为这些轨道提供一个外壳。封装后的文件可以被视为一个包含视频和音频轨道的文件夹。
● 通俗来说,视频轨道相当于饭,而音频轨道相当于菜,封装格式则是盛放饭菜的碗或锅。
● 封装格式与专利紧密相关,关系到推出封装格式的公司的经济利益。
● 封装格式使得字幕、音频和视频组合起来,形成一个完整的视频文件。
● AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等都是常见的封装格式。
图2-4展示了视频封装格式。
图2-4 视频封装格式
9.网络视频的播放过程
通常播放网络视频需要经过如下操作。
● 解协议:将流媒体协议的数据解析为标准的封装格式数据。这些协议在传输音视频数据的同时也会传输一些控制信号。在解协议的过程中会去除控制信号,仅保留音视频数据。
● 解封装:将输入的封装格式数据分离成音频流编码压缩数据和视频流编码压缩数据。
● 解码:将视频流/音频流编码压缩数据解码成非压缩的原始数据。编码压缩的视频数据可以被输出为非压缩的颜色数据,如RGB、YUV420P等;编码压缩的音频数据可以被输出为非压缩的音频采样数据,如PCM等。
● 音视频同步:根据解封装模块在处理过程中获取的参数信息,同步解码出来的视频数据和音频数据。然后将同步后的视频数据和音频数据发送至系统的显卡和声卡进行播放。
网络视频的播放过程如图2-5所示。
图2-5 网络视频的播放过程
10.软件和硬件编解码
软件编码(简称软编)/软件解码(简称软解):由CPU处理。
硬件编码(简称硬编)/硬件解码(简称硬解):由GPU等专用芯片处理。
软编使用CPU进行处理,优点是调节能力强。相对于硬编,通过参数调整,软编可以在同一码率下产生更清晰的视频。此外,软编的兼容性更好,可以适配所有设备。然而,软编的缺点是性能差,处理速度不如硬编快,且功耗较高。
目前在移动应用的大部分业务场景中,采用的编码策略是:在移动端优先使用硬编生成高质量的视频流,然后将视频发送到服务器。服务器进行软编,将原视频转码为多路不同码率的视频,并通过CDN(Content Delivery Network,内容分发网络)将视频分发给播放端。对于某些运行安卓操作系统的低端设备,如果由于硬件问题而对硬编的支持不完善,可以使用软编,或者在硬编出错的情况下切换为软编。当然,针对一些性能较好的高端设备或者编码需求不高的业务场景,也可以优先考虑使用软编。例如,在录制 15 s 短视频的场景中,由于视频录制的时间比较短并且机器的性能比较高,因此不用担心CPU的消耗,可以使用软编进一步提高视频的清晰度。