RDK X5支持的视频框架

我来帮你搜索社区中关于 RDK X5 视频框架的相关信息。

你好 @LLLLLLLL,欢迎加入地瓜机器人开发者社区!

关于 RDK X5 的视频开发框架,我来为你详细解答:

核心结论

RDK X5 使用的是地平线自研的多媒体框架,主要包含以下层次:

1. 官方视频框架架构

┌─────────────────────────────────────┐
│  应用层 (Application Layer)         │
│  - sp_* 接口 (社区开放)             │
│  - hb_* 接口 (暂未完全开放)         │
├─────────────────────────────────────┤
│  多媒体框架层 (Multimedia Framework) │
│  - VPS (Video Process System)       │
│  - VPU (Video Processing Unit)      │
│  - BPU (AI 推理引擎)                │
├─────────────────────────────────────┤
│  驱动层 (Driver Layer)              │
│  - VIN (Video Input)                │
│  - ISP (Image Signal Processing)    │
│  - VOUT (Video Output)              │
├─────────────────────────────────────┤
│  硬件抽象层 (HAL)                   │
│  - 支持 V4L2 兼容接口               │
└─────────────────────────────────────┘

2. 关于 HBN、hobot、sp 等多种接口的解释

  • sp_* 接口:社区当前主要开放的接口,用于多媒体开发(采集、编码、解码、显示等)
  • hb_* 接口:地平线内部接口,部分功能暂未向社区完全开放
  • HBN:Horizon Binary Network,是地平线的神经网络模型格式
  • hobot:地平线 ROS2 软件包的前缀(如 tros-hobot-usb-cam)

3. V4L2 支持情况

支持 V4L2,但有注意事项:

  • USB 摄像头可以直接通过 V4L2 接口访问(/dev/video*)
  • MIPI CSI 摄像头通常需要通过地平线的多媒体框架访问
  • 部分第三方 V4L2 代码可能需要适配才能在地平线平台上运行

4. 关键资源链接

官方文档:

社区相关帖子:

5. 快速上手建议

# 1. 查看摄像头设备
ls -l /dev/video*
v4l2-ctl --list-devices

# 2. 测试 USB 摄像头采集
cd /app/pydev_demo/05_web_display_camera_sample/
sudo python3 ./web_display_camera.py

# 3. 查看多媒体示例代码
cd /app/cdev_demo/  # C++ 示例
cd /app/pydev_demo/  # Python 示例

6. 常见问题

Q: 为什么 X3 的代码在 X5 上不能直接运行?
A: X5 更新了多媒体框架 API,从 hb_* 接口迁移到 sp_* 接口,部分函数签名和调用方式有变化。

Q: 如何获取完整的 SDK?
A: SDK 已预装在板子上,位于 /app/cdev_demo 和 /app/pydev_demo 目录,头文件和库文件在系统标准路径中。

建议你先从官方示例代码入手,理解 sp_* 接口的使用方式。如果有具体的开发需求(如特定摄像头适配、编码格式等),可以在社区发帖并提供详细日志,我们会进一步协助你。

有其他问题欢迎继续提问! :robot: