realsense2_Camera+D435i+rtsp推流+Windows_VLC拉流

一、环境配置

首先下载ROS_rtsp的包

在工作空间的src的目录下安装rtsp

cd ~/my_workspace/src
git clone https://github.com/CircusMonkey/ros_rtsp.git

返回工作空间的根目录,编译软件包一、环境配置 

cd ..
catkin_make pkg:=ros_rtsp

realsense2_Camera的包自行下载就行

ubuntu20.08下获取realsense内参(使用ros功能包)_realsense相机内参-优快云博客

我用的D435i相机,下面会解释为什么需要装这个

接下来修改rtsp里面的config文件来适配需要的流,你可以添加任意数量的流。

# Set up your streams to rtsp here.
port: "8554"
streams: # Cannot rename - must leave this as is.
 
  stream-x:
    type: cam
    source: "v4l2src device=/dev/video0 ! videoconvert ! videoscale ! video/x-raw,framerate=15/1,width=1280,height=720"
    mountpoint: /front
    bitrate: 500
 
  stream-yay:
    type: topic
    source: /d400/color/image_raw
    mountpoint: /back
    caps: video/x-raw,framerate=10/1,width=640,height=480
    bitrate: 500

解释一下这个代码是个什么意思,因为不说清楚的话后面用VLC拉流很容易迷糊

第一行就是端口,一般默认的就是8554,如果有修改后面拉流的时候改成自己的就行

下面两个stream的意思就是视频来源可以分成两种,一种是直接通过设备获取

这个就是选择你的设备,看清楚自己的设备名称

v4l2src device=/dev/video0

另一种就是通过ROS订阅的话题来获取(前面说会解释为什么要安装realsense的包)

原因就是这里,通过话题来获取视频

source: /d400/color/image_raw

我使用的是第二种,通过ROS订阅的话题来获取视频流再推流出去

使用这种的话要查清楚自己的摄像头发布的这些话题是什么,这个是我参考搬运的

ros_rtsp推流_ros rtsp-优快云博客这个帖子里面的yaml文件配置

然后这是我自己配置的,因为我自己当时也没搞清楚是通过哪种方式获取视频,我就都改了,后面介绍的也会是通过ROS订阅的

然后最关键的是这里,每个流都有一个端口推流出来(不知道我描述的对不对)大概就是这个意思

通过设备直接获取的是/front,通过ROS话题订阅获取的是/back

mountpoint: /front


mountpoint: /back

在ROS端也安装好VLC

sudo apt-get install vlc

这里也有很多bug我不知道是不是这边本身依赖比较多,报什么错查一下能解决的

所以后面在Windows的VLC可视化界面打开网络串流即可

输入网址,ip是你自己ROS的地址

rtsp://你自己的ip:8554/back

如果你用的是第一种,后缀改成front,跟我一样就用back(非常重要,看仔细)

二、测试

roslaunch realsense2_camera rs_camera.launch

 在运行推流之前需要运行摄像头的launch文件让ROS端开始发布话题

我自己写了一个py文件让视频显示出来,只运行这个launch文件视频不会再ROS端出现

没出现报错就行,一切正常

roslaunch ros_rtsp rtsp_streams.launch

然后运行完这个视频就可以开始准备拉流了,直接在WindowsVLC可视化界面打开网络串流即可

rtsp://你的ip:8554/back

这样就OK了,是很喜欢子超兄(自嘲熊)的一枚工科生~,踩了很多坑,有一些帖子不是很详细

还是多尝试!!!

人~我是熊~不要害怕~~~!!!!!

参考资料

Get RTSP Stream from Intel Realsense in parallel to ROS2 Topics? · Issue #2930 · IntelRealSense/realsense-ros · GitHub

GitHub - CircusMonkey/ros_rtsp: ROS node to subscribe to an image and serve it up as a RTSP video feed.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值