换了微雪的ov5647,怎么用上60fps

抱歉,我之前的建议有矛盾!:folded_hands:

让我重新梳理清楚:


核心矛盾点

摄像头 60fps 支持 mclk 问题 真实情况
OV5647 :cross_mark: open_cam 硬编码限制 无解
IMX477 :white_check_mark: BSP 支持 同样有 换了也可能会遇到同样问题

我之前说 IMX477 能完美支持 60fps 是不准确的 —— 从社区帖子 topic/28668 来看,IMX477 在 RDK X5 上也有驱动问题,需要设备树补丁。


真实情况

OV5647 60fps 无解的根因

open_cam 库内部硬编码 → VSE 输出强制正方形 (640×640)
OV5647 60fps 输出 → 640×480 (4:3)
尺寸不匹配 → ret(-10)

这不是配置问题,是库的设计限制,改 json 没用。

IMX477 的情况

  • :white_check_mark: BSP 确实有 1280×960@120fps 配置
  • :cross_mark: 但如果你的板卡 vcon 接口缺少 mclk 配置,IMX477 也会报同样的 hbn_vnode_set_attr failed, ret(-10)
  • :money_bag: 成本 300-500 元,远高于 OV5647

诚实的建议

方案 A:OV5647 30fps(推荐)

sudo ./vio2display -w 1280 -h 960
  • 30fps 对小车控制完全够用(控制周期通常 20-50ms)
  • 不用花钱,不用折腾
  • 直接回去调试小车

方案 B:换 IMX477(不推荐)

  • 可能遇到同样的 mclk 问题
  • 需要等官方 dtbo 补丁
  • 成本高,时间成本更高

方案 C:改底层 API(高难度)

  • 绕过 open_cam,直接用 VIO C API
  • 需要修改源码重新编译
  • 开发成本 1-2 周

最终结论

OV5647 60fps 在 RDK X5 上确实无解,这是 open_cam 库的设计限制。

IMX477 不是银弹,可能遇到同样的设备树问题,且成本更高。

建议:用 OV5647 30fps 模式,直接调试小车应用层。 30fps 对 PID 控制、视觉推理都绰绰有余。


你在原帖的总结非常准确,就按那个结论沉淀吧!:+1: