





















来源 https://github.com/Caotl21/VisionLink-RT
VisionLink-RT 是一个专为 端测嵌入式 平台(如 Orange Pi 5 Pro)设计的高性能、低延迟视频推流引擎 适用于水下机器人等带宽受限场景进行视频流传输
该项目充分利用了 Rockchip 的硬件加速能力,实现了从摄像头采集、色彩空间转换、H.264 编码到网络传输的全链路优化。
libv4l-devlibrga-dev (Rockchip RGA)librockchip-mpp-dev (Rockchip MPP)opencv (可选,目前仅用于测试各模块效果).
├── CMakeLists.txt # CMake文件
├── inc/ # 头文件
│ ├── dma_utils.h # DMA Buffer 管理
│ ├── mpp_encoder.h # MPP 编码封装类
│ └── v4l2_utils.h # V4L2 操作封装
├── src/ # 源代码
│ ├── main.cpp # 主程序入口 (采集->RGA->MPP->UDP)
│ ├── postprocess.cc # 官方:后处理程序
│ ├── yolo_detector.cpp # 目标检测封装类
│ └── mpp_encoder.cpp # MPP 编码实现
├── utils/ # 辅助文件
│ ├── dma_utils.cpp # 实现 dma-heap 内存分配
│ └── v4l2_utils.c # V4L2 采集实现
├── python_demo/ # python demo
│ ├── yolov5_rknn.py # rknn的python demo
│ └── yolov5_ROS.py # rknn集成ROS demo
├── model/ # 模型文件
│ ├── yolov5s.rknn # rknn转化模型文件
│ └── coco_80_labels_list.txt # 模型标签文件
├── .gitignore # git辅助文件
└── README.md # 说明文档
确保你的系统环境已安装必要的开发库。
# 1. 创建构建目录
mkdir build
cd build
# 2. 生成 Makefile
cmake ..
# 3. 编译
make -j4
在运行板子上的程序前,请先在 PC 端准备好接收工具。你可以使用 ffplay (FFmpeg 组件) 来播放。
PC端命令 (Windows/Linux):
# -f h264: 指定格式为 H.264
# -i udp://0.0.0.0:8888: 监听本地 8888 端口
# -fflags nobuffer: 禁用缓冲区以降低延迟
# -flags low_delay: 低延迟模式
ffplay -f h264 udp://0.0.0.0:8888 -fflags nobuffer -flags low_delay -framedrop -strict experimental -probesize 32 -analyzeduration 0 -sync ext
修改 src/main.cpp 中的目标 IP,将其指向你的 PC:
#define DEST_IP "192.168.13.xxx" // <--- 修改为你 PC 的 IP 地址
#define DEST_PORT 8888 // <--- 确保没有被防火墙拦截
在板子上执行编译好的程序:
cd build
sudo ./bricsbot_vision
如果一切正常,你应该能在 PC 上看到来自摄像头的实时画面,且延迟极低。
在 src/main.cpp 中可以调整以下宏定义:
DST_WIDTH / DST_HEIGHT: RGA 输出和 MPP 编码的分辨率(默认 640x640)。UDP_MTU: UDP 分包大小(默认 1024),建议小于 MTU 1500。在 src/mpp_encoder.cpp 中可以调整编码参数:
bps (Bitrate): 目标码率,当前设置为 2Mbps ~ 3Mbps。rc:mode: 码率控制模式 (CBR 固定码率)。PC 端收不到画面:
main.cpp 中的 DEST_IP 是否填写正确。画面绿屏或花屏:
RK_FORMAT_YCbCr_420_SP (即 NV12)。Permission Denied (权限错误):
/dev/video0 和 /dev/dma_heap 通常需要 root 权限,请使用 sudo 运行。=============== End
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。