今天主要总结一下视频参数 PAR,DAR和SAR的理解。
FFmpeg中的视频参数 SAR,PAR,DAR, 从宏观上描述一个视频轮如何被播放器正确显示。在不同的文档中,通常对这三个参数有不同的表述。但是,均指代同一事物。首先来看解释:
三者的关系: PAR x SAR = DAR 或者 PAR = DAR/SAR.
已知其中任意两个可以推导出另一个。
举例说明:
看上图,如果这是一个由5x4一共20个像素点构成的一个长方形视频图像,其SAR=5:4,如果每个像素点都是方形像素,即PAR=1:1,根据上面公式:DAR= PAR x SAR = 5:4x1:1 = 5:4, 则该图像的显示宽高比是5:4。
同理,如果有一视频,告诉你视频宽高分别是160和120,则DAR= 160:120, 如果SAR仍然是5:4,则PAR = 160:120 / 5:4 = 16:15,也就是说,这个视频每个像素为长方形的像素.
播放器标准的播放流程,应该是先找容器也就是 container 中的DAR,按这个比例来显示视频,进行播放;如果没有DAR的话,则使用SAR进行视频显示播放。
再比如,看下面这个视频,ffplay播放后,解析出来视频参数:
从中可以看到,ffplay通过ffmpeg获取到视频分辨率:640x480, 即 SAR=640:480=4:3,DAR=16:9,也就是显示分辨率按照16:9显示。
通过上面公式, 计算 PAR = DAR/SAR = 16:9 / 4:3 = 4:3,则说明该视频中原始视频像素宽高比为:4:3.
这里有一点需要说明,就是视频的制式: 视频的制式按照设备可以分为计算机制式和电视制式,而电视制式又可以分为PAL和NTSC。
电视制式的PAR通常不为1:1,而计算机制式的PAR为1:1. 所以上面得出视频的PAR为4:3,可以得出该视频最初应该是来自电视制式拍摄而来。
文章作者: YUV420.COM 文章链接: https://www.yuv420.com/2020/02/20/ffmpeg-ji-chu-gai-nian-zhi-par-dar-he-sar/