[具身智能-650]:vio_capture 、vio2encoder、vio2display、decode2display 、rtsp2display 这五个样例的功能对比
RDK X5 五大多媒体 Demo 功能完整对比
数据源链路统一基于 hobot-multimedia,先给核心一句话区分:
- vio_capture:MIPI 相机图像采集基础底层示例(采集裸 NV12 帧)
- vio2encoder:MIPI 相机采集 → 硬件编码 H264/H265(保存码流 / 网络推流)
- vio2display:MIPI 相机采集 → 直接硬件 HDMI 预览(实时画面查看)
- decode2display:本地码流文件 → 硬件解码 → HDMI 预览
- rtsp2display:网络 RTSP 流拉取 → 硬件解码 → HDMI 预览
一、逐个详解(数据源、数据流、用途、典型场景)
1. vio_capture
数据源:MIPI CSI(ISP 输出 NV12)
完整链路 CSI 相机 → ISP 硬件采集 → 输出 NV12 图像帧;
程序获取图像 Buffer,可以保存 NV12 图片,或者送入 BPU 推理。
✅ 功能:获取相机 原始 YUV 图像,不编码(原始文件)、不直接显示。
❌ 不包含编码、显示模块。
定位:最底层采集基础 Demo
典型用途:双目 VIO 采集、BPU 目标检测开发、抓取原始图像做算法调试。
2. vio2encoder
数据源:MIPI CSI 相机
完整链路 CSI→ISP 采集 NV12 → VPU 硬件编码器 → H.264/H.265 码流输出。
码流可以写入本地.h264/.h265文件,也可以提供给程序做 RTSP 推流。
✅ 功能:实时把相机画面压缩成视频码流。
❌ 默认不预览画面(没有 Display 模块)。
典型用途:机器人本地录像、相机视频编码存储。
3. vio2display
数据源:MIPI CSI 相机
完整链路 CSI→ISP 采集 NV12 → VO 硬件流水线 → HDMI 显示器实时输出画面。
✅ 功能:相机画面实时硬件预览,零拷贝、低延迟。
拓展:可加入 Splitter 分流,一路显示、一路送入 BPU 做 AI 感知。
典型用途:机器人实时视觉预览、调相机曝光焦距。
4. decode2display
数据源:本地 H264/H265 码流文件(裸流 / MP4)
完整链路 码流文件读取 → VPU 硬件解码器(被需要CPU解码) → NV12 → VO 硬件显示。
✅ 功能:回放本地录像文件,HDMI 播放。
典型用途:机器人录制的录像文件本地回放测试。
5. rtsp2display
数据源:网络 RTSP 视频流(IPC、PC ffmpeg、RTSP 服务器)
完整链路 网络拉取 RTSP (RTP 包) → 组 NAL 单元 → VPU 硬件解码 → NV12 → VO HDMI 显示。
✅ 功能:远程网络摄像头实时预览。
典型用途:机器人外接网络 IPC 摄像头监控。
二、五大 Demo 核心对比表(PPT 直接使用)
表格
| 示例名称 | 图像数据源 | 核心链路 | 输出产物 | 核心用途 | 是否经过 VPU 编解码 |
|---|---|---|---|---|---|
| vio_capture | MIPI CSI 相机 |
CSI→ISP, 输出 NV12 裸图 | NV12 图像帧 | 获取相机原始图像,供给 BPU 推理 | ❌ 无编码、无解码 |
| vio2encoder | MIPI CSI 相机 | CSI→ISP→VPU 编码器 | H264/H265 码流文件 | 相机画面实时编码、本地录像 | ✅ 编码(VPU 硬件编码) |
| vio2display | MIPI CSI 相机 | CSI→ISP→VO 显示 | HDMI 实时画面 | MIPI 相机实时预览 | ❌ 无编码、无解码 |
| decode2display | 本地 h264/h265 码流文件 | 码流→VPU 解码器→VO 显示 | HDMI 实时画面 | 本地录像文件回放 | ✅ 解码(VPU 硬件解码) |
| rtsp2display | 网络 RTSP 流 | 网络 RTSP 拉流→VPU 解码器→VO 显示 | HDMI 实时画面 | 远程网络 IPC 实时预览 | ✅ 解码(VPU 硬件解码) |
三、通俗逻辑归类(便于记忆)
第一大类:数据源来自【本地 MIPI 相机】
- vio_capture:只抓原图(原料)
- vio2display:原料直接投屏预览
- vio2encoder:原料压缩做成视频文件
第二大类:数据源来自【已经压缩好的视频码流】(必须解码)
- decode2display:码流来源于本地硬盘文件
- rtsp2display:码流来源于网络 RTSP 服务器
四、工程选型快速口诀
- 使用板载 MIPI 相机,只想实时看画面 → vio2display
- 使用 MIPI 相机,需要保存视频录像 → vio2encoder
- 使用 MIPI 相机,拿到图像送入 BPU 做目标检测 → vio_capture
- 回放机器人录制好的 h264 录像文件 → decode2display
- 拉取网络 IPC 摄像头(RTSP)实时预览 → rtsp2display
五、拓展链路互通关系(重要开发知识点)
所有 Demo 共享同一套硬件流水线组件: 采集源(vio_capture)、编码器、解码器、Splitter 分流器、Display 显示 可以自由组合拓展: 示例拓展 1:vio_capture + splitter → 一路 vio2display 预览,一路送入 BPU 推理(机器人标准视觉感知链路) 示例拓展 2:vio2encoder 生成 h265 文件,后续使用 decode2display 回放
六、精简总结
vio_capture、vio2encoder、vio2display 数据源均为板载 MIPI 相机;
vio_capture 仅采集原始 NV12 图像;
vio2display 实现相机画面 HDMI 实时预览;
vio2display 将相机图像硬件编码生成视频码流。
decode2display、rtsp2display 都依赖硬件解码器:
decode2display 读取本地码流文件解码回放;
rtsp2display 通过网络拉取 RTSP 流进行解码预览。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)