根据你的描述,以下是如何在ROS环境中使用bw_rtsp_client
包将RTSP视频流转成ROS图像话题数据流的详细步骤:
1. 环境准备
确保你的RK3588设备已安装ROS环境。对于ROS1版本,安装步骤可参照ros_rknn_yolo
包内的README文件。
安装硬件解码库
在Ubuntu系统上,还需要安装以下硬件解码库:
这些仓库的README文件内有详细的安装步骤,请按照指示操作。
2. 克隆并编译软件包
克隆软件包
切换到ROS工作空间的src
目录下,然后克隆所需的软件包:
cd ~/rk3588_ros_ws/src
git clone https://git.bwbot.org/publish/ros_rknn_yolo.git
git clone https://git.bwbot.org/publish/vision_msgs.git
编译软件包
回到工作空间根目录,进行编译:
# 先安装系统依赖
sudo apt install python3-virtualenv
pip install opencv-python opencv-contrib-python
# 开始编译
cd ~/rk3588_ros_ws/
catkin_make
编译完成后,需要运行ros_rknn_yolo
包中的一个脚本来设置rknn2
的运行环境:
roscd ros_rknn_yolo
sudo ./fix_rknn2_runtime
3. 启动Launch文件
发布RTSP数据流
使用gst-rtsp-server
发布一个测试用的数据流:
./test-launch "( videotestsrc ! video/x-raw,width=1920,height=1080,framerate=30/1 ! timeoverlay ! tee name=vsrc vsrc. ! queue ! videoconvert ! ximagesink vsrc. ! queue ! mpph264enc tune=zerolatency ! rtph264pay name=pay0 pt=96 )"
启动Launch文件
修改test.yaml
文件中的rtsp_uri
参数为你要订阅的RTSP流链接,然后执行以下命令启动:
roslaunch bw_rtsp_client test.launch
使用image_view
查看转换发布的话题
rosrun image_view image_view
4. 其它使用方式和参数
请参阅bw_rtsp_client
中的readme.md
文件,了解如何使用Service接口控制转换过程的开启和关闭。