分辨率、帧率和码率三者之间的关系

转自:https://blog.csdn.net/lipengshiwo/article/details/53169235

分辨率:单位英寸中所包含的像素点数;VGA:视频图像分辨率

码率:编码器没变变出的数据大小,单位是kbps,比如800kbps代表编码器每秒产生800kb(或者100kB)的数据

帧率:FPS(每秒钟要多少帧画面);以及Gop(表示多少秒一个帧)

帧率:影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。帧率就是在1s时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。

分辨率:影响图像大小,与图像大小成正比;分辨率越高,图像越大;分辨率越低,图像越小。

 

清晰度:

在码率一定的情况下,分辨率和清晰度成反比:分辨率越高,图像越不清晰,分辨率越低,图像越清晰。

在分辨率一定的情况下,码率和清晰度成正比:码率越高,图像越清晰,码率越低,图像越不清晰。

 

关于一个视频流的数据量

码率如果为10Mb/s,代表1秒钟有10M bit的视频数据,对于YUV422格式的1080P(1080P30)视频而言,一帧图像是1920*1080*2*8/1024/1024 = 31.64Mbit,1s30帧图像的话,可以有949.2Mb,可见其数据量之大,不压缩根本无法网上传播,所以一定要经过视频压缩处理,不要以为1080P的视频就一定是高清的,清晰度还跟视频码率密切相关,对于1080P的视频而言,蓝光视频的编码是20Mb/s,一般下载的视频编码率大多时候10Mb/s,一些IPCamera/无人机的码率是2~8MB/s,而很多视频网站的码率甚至低于5M/s,其实有时还不如高码率的720P清晰

 

码率不是越大越好

如果不做码率大小的限制,那么分辨率越高,画质越细腻;帧率越高,视频越流畅,单相应的码率也会很大,因为每秒钟需要用更多的数据来承载较高的清晰度和流畅度。这对云服务厂商而言是好事(收入跟流量呈正比),但对您可能意味着更多的费用开支。

 

帧率不要超过24

如果限定一个码率,比如800kbps,那么码率越高,编码器就必须加大对单帧画面的压缩比,也就是通过降低画质来承载足够多的帧数。如果视频源于摄像头,25FPS已经是肉眼极限,所以一般20帧的FPS就已经可以达到很好的用户体验了。

 

有些玩过3D游戏的朋友可能会说,游戏的帧率越高越流畅。这里要注意一定不要混淆场景:游戏追求高帧率的目的是为了尽可能让3D模型渲染出来的运动效果更加接近真实运动轨迹,所以帧率越高越好。 但对摄像头而言,它要采集的目标是真实世界的物体,真实世界本来就没有刷新率的说法,所以这个理论不适用。


分辨率不盲目攀高
如果限定一个码率,比如800kbps,那么分辨率越高就会让编码器越 “为难" ,可以想象,它必须拆东墙补西墙,通过减少色彩信息或者引入马赛克这种“鱼目混珠”的手段来承载足够多的像素点。所以,同样的是2G的一个电影文件,1080p画质的版本可能不如720p画质的版本看起来更清晰。


如果您之前没有太多音视频编码的实战经验,我们比较建议您使用demo里的设置参数。

扩展阅读:https://blog.csdn.net/xiangjai/article/details/44238005

你可能感兴趣的:(android)