NDI 非方形像素源铺到画布后变胖,怎样解释 picture_aspect_ratio

2026-10-24

picture_aspect_ratio表达画面的显示宽高比,不是每个像素的宽高比。接收720×576但显示比例为16:9的源时,直接按720除576铺到画布会压窄内容。应先根据显示比例确定目标矩形,再由像素矩阵与显示比例反推出非方形像素关系。

先固定输入与适用条件

本例固定输入分辨率720×576、显示比例16:9,目标方形像素画布1280×720。只核对NDI运行时描述与显示几何,不读取视频文件的SAR或旋转元数据。记录源字段时要保留精度,并注明缺省值的处理方式;接收端未提供比例,不能擅自声称源一定是方形像素。

本篇按NDI官方滚动SDK文档解释视频v2或音频v3帧描述。文档核对日期为2026-10-24;这不是本地已安装NDI运行库的版本声明,设备与第三方软件需另录版本。

按字段与边界执行

  1. 保存xres、yres和picture_aspect_ratio,先判断三项是否有效。将显示宽高比与编码矩阵宽高比分开列出,避免用同一个“比例”字段覆盖。

  2. 按显示宽高比除以矩阵宽高比得到像素宽高比。本例是16/9除以5/4,结果64/45;这一步是解释源,不是让目标屏幕改成非方形像素。

  3. 在1280×720画布内计算保持显示比例的拟合矩形,再对照错误的按矩阵比例拟合结果。分别标出有效区域宽度及左右空白,检查是否重复应用比例修正。

  4. 接入实际合成器后,用同一圆形源观察横纵直径,并记录软件是否已经应用该字段。如果上游已展开为方形像素,下游不得再乘一次64/45。

用具体样例核对结果

正确显示比例在1280×720上占满1280×720;错误地按720/576拟合则只占900×720,左右各留190像素。附件脚本输出PAR=64/45、两种拟合矩形和宽度差。原创SVG画出两种边界作为评审图,图上没有真实采集图像,也不把圆形的形变描述为硬件测量结果。

判断不仅看是否铺满,还要看内容形状与比例解释链是否一致。裁切铺满也能消除黑边,却会掩盖错误比例;因此需要同时保存源字段、软件适配模式和目标矩形。若源字段与已知圆形冲突,应请求发送端确认,而不是在接收端永久硬编码补偿,以免下一路方形像素源受到反向拉伸。

下载与复现

analyze.py、aspect-rectangles.svg、input.json、result.json。

下载的输入与脚本专门复算显示几何;SVG可用于解释为什么1280宽与900宽都可能来自同一像素矩阵。交接时附实际SDK版本与显示适配选项,文件SAR另由对应素材检查流程处理。

把输入与脚本保存到同一个本地目录后执行 python analyze.py,脚本只读取输入、计算并重写同目录的结果文件。先保留原始附件副本,再将自己的脱敏输入另存为新版本,记录输入摘要与执行日期;不要把合成字段覆盖成看似真实的现场日志。

已用 Python 3.12.4 实际运行附件算法并检查断言。结果来自同目录合成输入;没有接入真实NDI源、控制器、灯具、接收卡或LED屏,不能据此填写现场验收通过。

对接下一步与一级来源

基础背景可看超宽视频被自动旋转或拉伸,怎样核对像素比例与方向标记。相关流程收在多媒体播放专题;需要项目对接时,带上本文输入及结果向SoftPlayer核对实际能力。

一级来源核对日期:2026-10-24。原始协议规则、本文原创运算和目标系统行为应分别留证;附件计算正确,不等于设备已经按该参数工作。

需要展厅软硬件方案或定制开发?

加微信,把这一页发到你手机上

扫码加站长企业微信,会自动把这一页的链接发给你。问软件授权、报价,或者现场遇到问题,也可以直接聊。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。