View my account

Realsense D435 on network with rasperry pi4

Comments

6 comments

  • MartyG

    Hi Lab  The recent discussion at the link below is likely to be relevant to your question.

    https://github.com/IntelRealSense/librealsense/issues/12749

     

    I believe that the RTSP networking protocol of the rs-server tool is limiting your ability to make more than one connection and that the project would have to be adapted to the RTP protocol in order for multicasting to be possible.

    0
    Comment actions Permalink
  • Lab

    Thank you for the answer. I don't need to have multiple connection. I'd love to use just the rtsp protocol or the rtp, but how can i connect to the camera from other software (VLC, Touchdesigner...)? i tried "rtsp://ip:8554" and "rtsp://ip:8554/RGB camera/" but it doesn't work

    0
    Comment actions Permalink
  • Lab

    Also I would need to have the stereo module on the stream and not the rgb

    0
    Comment actions Permalink
  • MartyG

    An alternative to using the RealSense Viewer to connect to rs-server is to do so with RealSense program scripting instead.

    C++

    https://github.com/IntelRealSense/librealsense/issues/6376

    Python

    ## License: Apache 2.0. See LICENSE file in root directory.
    ## Copyright(c) 2021 Intel Corporation. All Rights Reserved.

    ###############################################
    ##      Network viewer                       ##
    ###############################################

    import sys
    import numpy as np
    import cv2
    import pyrealsense2 as rs
    import pyrealsense2_net as rsnet


    if len(sys.argv) == 1:
        print( 'syntax: python net_viewer <server-ip-address>' )
        sys.exit(1)

    ip = sys.argv[1]

    ctx = rs.context()
    print ('Connecting to ' + ip)
    dev = rsnet.net_device(ip)
    print ('Connected')
    print ('Using device 0,', dev.get_info(rs.camera_info.name), ' Serial number: ', dev.get_info(rs.camera_info.serial_number))
    dev.add_to(ctx)
    pipeline = rs.pipeline(ctx)


    # Start streaming
    print ('Start streaming, press ESC to quit...')
    pipeline.start()

    try:
        while True:

            # Wait for a coherent pair of frames: depth and color
            frames = pipeline.wait_for_frames()
            depth_frame = frames.get_depth_frame()
            color_frame = frames.get_color_frame()
            if not depth_frame or not color_frame:
                continue

            # Convert images to numpy arrays
            depth_image = np.asanyarray(depth_frame.get_data())
            color_image = np.asanyarray(color_frame.get_data())

            # Apply colormap on depth image (image must be converted to 8-bit per pixel first)
            depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)

            depth_colormap_dim = depth_colormap.shape
            color_colormap_dim = color_image.shape

            # If depth and color resolutions are different, resize color image to match depth image for display
            if depth_colormap_dim != color_colormap_dim:
                resized_color_image = cv2.resize(color_image, dsize=(depth_colormap_dim[1], depth_colormap_dim[0]), interpolation=cv2.INTER_AREA)
                images = np.hstack((resized_color_image, depth_colormap))
            else:
                images = np.hstack((color_image, depth_colormap))

            # Show images
            cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
            cv2.imshow('RealSense', images)
            k = cv2.waitKey(1) & 0xFF
            if k == 27:    # Escape
                cv2.destroyAllWindows()
                break

    finally:
        # Stop streaming
        pipeline.stop()

    print ("Finished")

     

    A RealSense user with a Raspberry Pi at the link below also had problems with accessing VLC.  The discussion highlights some possible alternative approaches.

    https://github.com/IntelRealSense/librealsense/issues/10345

    0
    Comment actions Permalink
  • Lab

    Ok thank you but it is possible to use the rtsp protocol?

    0
    Comment actions Permalink
  • MartyG

    The link below features a RealSense user who connected to the camera with an RTSP stream using GStreamer.

    https://github.com/IntelRealSense/librealsense/issues/10662

    0
    Comment actions Permalink

Please sign in to leave a comment.