本文主要是介绍H264编码之宽高比:DAR、SAR、PAR之间的关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一次写播放器,基于ijkplayer。在播放一些网络视频的时候,发现无论怎么转码,视频比例始终不对。即便获取了分辨率,但是播放的时候,view不是分辨率比例的那个长宽比。
使用ffmpeg查看了一下属性,见下图:
原来有几个参数,之前都没有认真对待的。
SAR 2:1 DAR 32:9
视频本身的分辨率是1080P,即 1920x1080
查资料才发现,视频在使用264编码的时候,使用了sar和dar比例限制。
看wikipedia对DAR和SAR的解释
https://en.wikipedia.org/wiki/Display_aspect_ratio
原来:
DAR,Display_aspect_ratio,是指定该视频播放的时候,看到的视频比例。
SAR,Sample Aspect Ratio,是指采集这个视频的比例,也就是存储像素点的比例。
这两个中间如果有差别的话,肯定有一个因素,就是像素点不是矩形的,不是1:1的单个像素点。
这里就产生了PAR,Pixel Aspect Ratio
DAR = SAR x PAR
wikipedia关于PAR的解释
https://en.wikipedia.org/wiki/Pixel_aspect_ratio
转自:https://www.cnblogs.com/zzugyl/p/6118853.html
这篇关于H264编码之宽高比:DAR、SAR、PAR之间的关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!