Python:如何从视频中获得显示宽高比?

问题描述:

我有一个视频,其中ffmpeg告诉我存储宽高比(SAR)为4:3,但显示宽高比DAR为16:9。分辨率是1440x1080。 有没有机会用Python-OpenCV或任何其他软件包找出16:9的DAR?Python:如何从视频中获得显示宽高比?

存储长宽比是以像素为单位的图像宽度与高度的比值,可以通过视频文件轻松计算。

显示宽高比是图像宽度与高度的比率(以长度单位,例如厘米或英寸)显示在屏幕上时,并且从像素长宽比和存储宽高比的组合来计算。

SAR×PAR = DAR。例如,640×480 VGA图像的SAR为640/480 = 4:3,并且如果显示在4:3显示器(DAR = 4:3)上具有正方形像素,则PAR为1 :1。相比之下,720×576 D-1 PAL图像的SAR为720/576 = 5:4,但显示在4:3显示屏上(DAR = 4:3)。

Source

因此,使用的OpenCV就可以得到SAR(像素尺寸之比),但我怀疑,你可以得到从它恒定显示宽高比(因为它是依赖于显示)。

displaying图像时你可以做的是,你可以得到window property具有标志WND_PROP_ASPECT_RATIO