NDI 的 60000/1001 能改写成 60 吗:怎样保留接收帧率分数

2026-10-24

60000/1001不等于60,接收描述中的分子和分母应成对保留。若序列化时先四舍五入成整数,再用它生成时间表,长序列就会积累确定的算术差异。不过这个差异只是描述解释造成的模型结果,不能直接当作现场画面漂移测量。

先固定输入与适用条件

本题只处理NDI视频帧描述,不修改Windows刷新率或显卡输出。输入是帧率分子、分母与累计帧数,约定从首帧开始计数,并用一万个帧间隔比较经过时间。应先拒绝零分母和非正帧率,再决定日志显示小数位数;保留原始整数对比保存三位小数更重要。

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

按字段与边界执行

  1. 从同一视频帧记录frame_rate_N和frame_rate_D,连同源名称、分辨率及采集日期一起保存。界面显示59.94只能作为展示值,不据此重建精确分数。

  2. 用有理数表示帧周期,经过时间等于间隔数乘分母再除分子。若记录的是帧总数而非间隔数,要先澄清首尾相隔的数量,避免额外差一帧。

  3. 分别计算60000/1001和60/1的累计时间,将差值标成模型误差。为59.94这个截断小数另开一列,观察截断本身也会引入差异。

  4. 把分子分母完整传给后续时间线或录制接口。若目标接口只接受固定枚举,应明确记录选中的模式及转换策略,不能静默改成邻近整数。

用具体样例核对结果

附件一万个间隔按60000/1001计算为166.833333秒,按60为166.666667秒,相差六分之一秒。程序使用Python Fraction保留精确值,断言差值确为1/6,随后才输出便于阅读的小数。没有拍摄任何屏幕,也未测网络抖动,因此表中的差值不能命名为NDI传输延迟。

通过条件是输入分数经写出再读取后仍保持原值,帧周期推导可逆,累计结果与精确分数一致。如果源运行中改了帧率,必须把时间线分段,不能拿首帧参数覆盖全段。对于源本来就不稳定的情况,还需逐帧到达时间与发送节奏证据;仅靠帧描述无法证明每个真实帧都按理想周期送达。

下载与复现

analyze.py、input.json、result.json。

结果文件同时保存精确分数与小数秒,适合排查JSON配置或数据库字段把分母丢掉的问题。现场证据仍应另附接收日志及输出显示模式,避免将这一篇的SDK字段核对与上一批刷新率验收混为一谈。

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

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

对接下一步与一级来源

基础背景可看同一台电脑 60Hz 正常、59.94Hz 接缝跳动,怎样记录刷新率。相关流程收在多媒体播放专题;需要项目对接时,带上本文输入及结果向SoftPlayer核对实际能力。

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

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

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

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

去留微信

留言讨论

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

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

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

    这个页面有问题?

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