根据你的描述,以下是如何在ROS环境中使用bw_rtsp_client包将RTSP视频流转成ROS图像话题数据流的详细步骤:
1. 环境准备确保你的RK3588设备已安装ROS环境。对于ROS1版本,安装步骤可参照ros_rknn_yolo包内的README文件。
安装硬件解码库在Ubuntu系统上,还需要安装以下硬件解码库:
librga mpp ffmpeg-rockchip rockchip_mirrors这些仓库的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接口控制转换过程的开启和关闭。