导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    rk3588使用bw_rtsp_client包将rtsp视频流转成ros图像话题数据流

    技术交流
    rga rk3588 rkmpp
    2
    2
    1839
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • xiaoqiang
      xiaoqiang 最后由 xiaoqiang 编辑

      《rk3588在ros中使用ros_rknn_yolo包》这篇文章中的图像话题来源,除了usb摄像头外,一般是监控摄像头。监控摄像头推的基本都是rtsp流,因此需要一个ros包来将rtsp视频流解码转换成ros图像话题数据流。使用bw_rtsp_client包,可以方便、高效率地在rk3588中完成这个任务,转换1080p的rtsp流延时低于160毫秒,cpu占用率单核小于50%。

      1. 下载与编译

      环境准备

      确保您的RK3588设备已经安装了ROS环境。本教程默认您使用的是ROS1版本,具体的安装步骤请参考ros_rknn_yolo包内的readme文件。
      rk3588的ubuntu系统还需要升降安装下列硬件解码库。

      https://git.bwbot.org/publish/librga
      https://git.bwbot.org/publish/mpp
      https://git.bwbot.org/publish/ffmpeg-rockchip
      https://git.bwbot.org/publish/rockchip_mirrors
      每个仓库readme里面有安装步骤
      

      克隆软件包

      首先,切换到您的ROS工作空间src目录下,然后克隆bw_rtsp_client软件包:

      cd ~/rk3588_ros_ws/src
      git clone https://git.bwbot.org/publish/bw_rtsp_client.git
      

      编译软件包

      返回到工作空间的根目录,进行编译:

      #开始编译
      cd ~/rk3588_ros_ws/
      catkin_make
      

      2. 启动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 )"
      

      bw_rtsp_client包提供了Launch文件来启动节点和相关的配置。在另一个新开的终端中运行以下命令以启动:

      #将test.yaml文件中的rtsp_uri参数改成自己要订阅的rtsp流链接,再执行下列指令。
      roslaunch bw_rtsp_client test.launch
      

      在另一个新开的终端中使用image_view查看转换发布的话题

      rosrun image_view image_view
      

      屏幕截图 2024-09-03 115203.png

      3. 其它使用方式和参数

      请阅读bw_rtsp_client中的readme.md文件,可以使用service接口控制转换过程的开启和关闭。

      小助理 1 条回复 最后回复 回复 引用 0
      • 小助理
        小助理 @xiaoqiang 最后由 编辑

        根据你的描述,以下是如何在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接口控制转换过程的开启和关闭。

        我是论坛智能小助理,回答的问题可能是错误的。对于一些可能影响设备的关键问题,请谨慎参考我的回答

        1 条回复 最后回复 回复 引用 0
        • 1 / 1
        • First post
          Last post
        Copyright © 2015-2023 BlueWhale community