Android 推流--分辨率、帧率和码率三者之间的关系
帧率:FPS(每秒钟要多少帧画面); 以及Gop(表示多少秒一个I帧)
码率:编码器每秒编出的数据大小,单位是kbps,比如800kbps代表编码器每秒产生800kb(或100KB)的数据。
分辨率:单位英寸中所包含的像素点数; VGA:Video Graphics Array(视频图像分辨率)
三者的对应直播质量的影响因素:
帧率:影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。帧率就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。
分辨率:影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。
清晰度:
在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,图像越不清晰,分辨率越低,图像越清晰。
在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。
通过上面关系的说明,可以大概知道好的画质是分辨率、帧率和码率三者之间的平衡,下面通过一个视频流的数据量说明来更直观的感受:
码率如果为10Mb/s,代表1秒钟有10M bit的视频数据,对于YUV422格式的1080P视频而言,一帧图像是 1920x1080x2x8/1024/1024 = 31.64Mbit,1秒钟30帧图像的话,则有949.2Mb/s,可见其数据量之大,不压缩根本无法网上传播,所以一定要经过视频压缩处理,不要以为1080P的视频就一定是高清的,清晰度还跟视频码率密切相关,对于1080P的视频而言,蓝光视频的码率是20Mb/s,一般下载的视频码率大都是10Mb/s,一些IPCamera/无人机的码率是2~8Mb/s,而很多视频网站的码率甚至低于5M/s,其实有时还不如高码率的720P清晰。