上篇文章我讲了视频中的一些常见的基本概念,比如封装格式,编码格式。这篇文章我分享一些视频文件的“外在”参数,这些参数即使是非技术工作者也应该能简单理解。
- 分辨率
- 码率
- 帧率
分辨率
这个最好理解,下面引用一下百度百科的解释
显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个图像想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目。显示分辨率一定的情况下,显示屏越小图像越清晰,反之,显示屏大小固定时,显示分辨率越高图像越清晰。
那么落实到视频上,比如说我们平时进场看到的1080P的视频,意思就是分辨率为1920X1080�的视频(主流屏幕长宽比为16:9)。那么理论上来说肯定是分辨率越高视频的显示效果越清晰,可是实际生活中我们下载的电影视频文件中,1080P的文件有的是1GB,有的是3GB、4GB,有的要10GB大小。他们的清晰层度当然不同。要解释这个现象,就要引入下面要讲的”码率“这一概念。
码率(比特率)
在《视频技术基础》一文中我们介绍了,由于保存完整的一帧一帧图片的视频原文件太大,必须要通过某种视频压缩算法将视频中的图片压缩,以减小视频文件大小,那么读者应该可以想到,压缩比越大,解压缩还原后用来播放的视频就会有越严重的失真,因为压缩的同时不可避免的丢失了视频中原来图像的数据信息。在理解这个的前提下,我来举个例子,一个分辨率为1080P的原视频(未经压缩)被压缩成分别为4GB 和 1GB的两个视频文件。由于1GB的视频的压缩比更大,所以在观看1GB视频的明显感觉到没有4GB视频清晰(虽然他们的分辨率都是1080P)。
我再来解释码率的概念。所谓码率,简单来说就是指在压缩视频的时候给这个视频指定一个参数,用以告诉压缩软件期望的压缩后视频的大小。码率的英文名为bps(bit per second),就是用平均每秒多少bit来衡量一个视频大小。下面是百度百科的解释:
比特率是指每秒传送的比特(bit)数。单位为bps(Bit Per Second),比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。 视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。
我还拿上面那个例子来说明比特率,比如那个被压缩的1080P的视频,假设它的长度为100分钟,大小为1GB。
- 100M=100X60S=6000s
- 1GB=1024MB= 1024X1024KB=1024X1024X1024Byte=1024X1024X1024X8bit=8589934592bit
那么这个视频的码率大概就是1.4Mbit/s(8589934592/6000),这个比特率在在线视频中已经是非常高的了,一般主流视频平台的最高码率在1Mbit左右,比如直播网站斗鱼的高清选项实际播放的视频码率是900Kbit/s(0.9Mbit)。
帧率
帧率很好理解,直接上百度百科。
帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,简称:FPS)或“赫兹”(Hz)。此词多用于影视制作和电子游戏。
引申理解也不难,还是上百度百科。
由于人类眼睛的特殊生理结构,如果所看画面之帧率高于24的时候,就会认为是连贯的,此现象称之为视觉暂留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。
而对游戏,一般来说,第一人称射击游戏比较注重FPS的高低,如果FPS<30的话,游戏会显得不连贯。所以有一句有趣的话:“FPS(指FPS游戏)重在FPS(指帧率)。
每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
所以说要想得到非常流畅的画面感,帧率当然是越高越好,但是超过60帧每秒估计人类也可能感知不出效果了。
总结
总结一下它们的关系,对于视频来讲,码率应该是最重要的参数,从上面的例子我们看出,码率直接与视频压缩比相关。直观来讲,码率越大代表一个视频的画质也清晰(不考虑各种压缩算法的优劣问题)。这是直观的感觉,当然作为视频技术者来说,对1080P的视频,采取多大的码率压缩比较合理还需要进行更多研究。