• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
ModalAI Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
    • Register
    • Login

    Streaming Stereo Camera

    Ask your questions right here!
    4
    21
    1.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tom admin @Kris
      last edited by 4 Mar 2024, 21:11

      @Kris Yes, take a look at /etc/modalai/voxl-streamer.conf for more info

      K 1 Reply Last reply 4 Mar 2024, 21:42 Reply Quote 0
      • K
        Kris @tom
        last edited by Kris 4 Mar 2024, 21:45 4 Mar 2024, 21:42

        @tom Thank you for your reply.
        This is what I have setup in my voxl-streamer.conf

        {            
                "input-pipe":   "tracking",                    
                "bitrate":      1000000,                
                "rotation":     0,
                "decimator":    1,
                "port": 8900                               
        } 
        
        

        The services that are running are;

        voxl:~$ voxl-inspect-services
        Scanning services...
        
         Service Name             |  Enabled  |   Running   |  CPU Usage
        -------------------------------------------------------------------
         docker-autorun           | Disabled  | Not Running |  
         docker-daemon            | Disabled  | Not Running |  
         modallink-relink         | Disabled  | Not Running |  
         voxl-camera-server       |  Enabled  |   Running   |     5.1%
         voxl-cpu-monitor         |  Enabled  |   Running   |     1.7%
         voxl-dfs-server          | Disabled  | Not Running |  
         voxl-imu-server          |  Enabled  |   Running   |     0.0%
         voxl-lepton-server       | Disabled  | Not Running |  
         voxl-mavcam-manager      |  Enabled  |   Running   |     1.7%
         voxl-mavlink-server      |  Enabled  |   Running   |     5.1%
         voxl-modem               | Disabled  | Not Running |  
         voxl-portal              |  Enabled  |   Running   |     0.0%
         voxl-qvio-server         |  Enabled  |   Running   |     6.8%
         voxl-rangefinder-server  | Disabled  | Not Running |  
         voxl-remote-id           | Disabled  | Not Running |  
         voxl-streamer            |  Enabled  |   Running   |     0.0%
         voxl-tag-detector        | Disabled  | Not Running |  
         voxl-tflite-server       | Disabled  | Not Running |  
         voxl-time-sync           | Disabled  | Not Running |  
         voxl-uvc-server          | Disabled  | Not Running |  
         voxl-vision-hub          |  Enabled  |   Running   |     3.4%
         voxl-wait-for-fs         |  Enabled  |  Completed  |  
        
        

        My vision-hub.conf

        {                                                                               
                "config_file_version":  1,                                              
                "en_localhost_mavlink_udp":     false,                                  
                "localhost_udp_port_number":    14551,                                  
                "en_vio":       true,                                                   
                "vio_pipe":     "qvio",                                                 
                "secondary_vio_pipe":   "ov",                                           
                "en_reset_vio_if_initialized_inverted": true,                           
                "vio_warmup_s": 3,                                                      
                "send_odom_while_failed":       true,                                   
                "en_set_clock_from_gps":        true,                                   
                "en_force_onboard_mav1_mode":   true,                                   
                "en_reset_px4_on_error":        true,                                   
                "horizon_cal_tolerance":        0.5,                                    
                "offboard_mode":        "trajectory",                                   
                "follow_tag_id":        0,                                              
                "figure_eight_move_home":       false,                                  
                "robot_radius": 0.300000011920929,                                      
                "collision_sampling_dt":        0.1,                                    
                "max_lookahead_distance":       1,                                      
                "en_tag_fixed_frame":   false,                                          
                "fixed_frame_filter_len":       5,                                      
                "en_transform_mavlink_pos_setpoints_from_fixed_frame":  false,          
                "en_voa":       true,                                            
                "voa_upper_bound_m":    -0.15000000596046448,                           
                "voa_lower_bound_m":    0.15000000596046448,                            
                "voa_voa_memory_s":     1,                                              
                "voa_max_pc_per_fusion":        100,                                    
                "voa_pie_max_dist_m":   20,                                             
                "voa_pie_min_dist_m":   0.25,                                           
                "voa_pie_under_trim_m": 1,                                              
                "voa_pie_threshold":    3,                                              
                "voa_send_rate_hz":     20,                                             
                "voa_pie_slices":       36,                                             
                "voa_pie_bin_depth_m":  0.15000000596046448,                            
                "voa_inputs":   [{                                                      
                                "enabled":      true,                                   
                                "type": "point_cloud",                                  
                                "input_pipe":   "dfs_point_cloud",                      
                                "frame":        "stereo_l",                             
                                "max_depth":    8,                                      
                                "min_depth":    0.300000011920929,                      
                                "cell_size":    0.079999998211860657,                   
                                "threshold":    4,                                      
                                "x_fov_deg":    68,                                     
                                "y_fov_deg":    56,                                     
                                "conf_cutoff":  0                                       
                        }, {                                                            
                                "enabled":      true,                                   
                                "type": "point_cloud",                                  
                                "input_pipe":   "stereo_front_pc",                      
                                "frame":        "stereo_front_l",                       
                                "max_depth":    8,                                      
                                "min_depth":    0.300000011920929,                      
                                "cell_size":    0.079999998211860657,                   
                                "threshold":    4,                                      
                                "x_fov_deg":    68,                                     
                                "y_fov_deg":    56,                                     
                                "conf_cutoff":  0                                       
                        }, {                                                            
                                "enabled":      true,                                   
                                "type": "point_cloud",                                  
                                "input_pipe":   "stereo_rear_pc",                       
                                "frame":        "stereo_rear_l",                        
                                "max_depth":    8,                                      
                                "min_depth":    0.300000011920929,                      
                                "cell_size":    0.079999998211860657,                   
                                "threshold":    4,                                      
                                "x_fov_deg":    68,                                     
                                "y_fov_deg":    56,                                     
                                "conf_cutoff":  0                                       
                        }, {                                                            
                                "enabled":      true,                                   
                                "type": "tof",                                          
                                "input_pipe":   "tof",                                  
                                "frame":        "tof",                                  
                                "max_depth":    6,                                      
                                "min_depth":    0.15000000596046448,                    
                                "cell_size":    0.079999998211860657,                   
                                "threshold":    3,                                      
                                "x_fov_deg":    106.5,                                  
                                "y_fov_deg":    85.0999984741211,                       
                                "conf_cutoff":  125                                     
                        }, {                                                            
                                "enabled":      true,                                   
                                "type": "rangefinder",                                  
                                "input_pipe":   "rangefinders",                         
                                "frame":        "body",                                 
                                "max_depth":    8,                                      
                                "min_depth":    0.300000011920929,                      
                                "cell_size":    0.079999998211860657,                   
                                "threshold":    4,                                      
                                "x_fov_deg":    68,                                     
                                "y_fov_deg":    56,                                     
                                "conf_cutoff":  0                                       
                        }]                                                              
        }                                                                               
        

        Then when I go to run voxl-streamer, it works at first but when I open VLC it does not work.

        voxl:~$ voxl-streamer -i tracking
        existing instance of voxl-streamer found, attempting to stop it
        Waiting for pipe tracking to appear
        Found Pipe
        detected following stats from pipe:
        w: 640 h: 480 fps: 30 format: RAW8
        Stream available at rtsp://127.0.0.1:8900/live
        A new client rtsp://192.168.110.159:40472(null) has connected, total clients: 1
        Camera server Connected
        ERROR:   New frame rejected, status = -2
        rtsp client disconnected, total clients: 0
        no more rtsp clients, closing source pipe intentionally
        
        (voxl-streamer:3746): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer
        
        (voxl-streamer:3746): GLib-GObject-CRITICAL **: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
        ERROR:   New frame rejected, status = -2
        A new client rtsp://192.168.110.159:40484(null) has connected, total clients: 1
        WARNING, _stop_helper_and_remove_pipe timed out joining read thread
        rtsp client disconnected, total clients: 0
        no more rtsp clients, closing source pipe intentionally
        A new client rtsp://192.168.110.159:60720(null) has connected, total clients: 1
        Camera server Connected
        rtsp client disconnected, total clients: 0
        no more rtsp clients, closing source pipe intentionally
        
        
        

        I am not sure why I am not able to do this.

        192.168.110.152 is my current Seeker IP.
        192.168.110.159 is my current host PC IP.

        What I would really like to do is connect my stereo stream with QGroundControl instead of VLC. But I haven't even gotten VLC to stream it yet....

        T 1 Reply Last reply 4 Mar 2024, 23:03 Reply Quote 0
        • T
          tom admin @Kris
          last edited by 4 Mar 2024, 23:03

          @Kris It looks like voxl-streamer is already running in the background and then you're running it again in the terminal manually, hence the existing instance of voxl-streamer found, attempting to stop it

          You should be able to pull up the stream if the service is running, no need to run it manually like that

          K 1 Reply Last reply 4 Mar 2024, 23:28 Reply Quote 0
          • K
            Kris @tom
            last edited by Kris 4 Mar 2024, 23:46 4 Mar 2024, 23:28

            @tom Thank you.

            I tried it again without manually running voxl-streamer.
            First I made sure it was on by inspecting my services.
            When I confirmed that it was on, I tried to input the rtsp:// in the Open Network Stream in VLC, but it failed.
            Here is the error message in VLC

            Connection failed:
            VLC could not connect to "192.168.110.152:8900".
            Your input can't be opened:
            VLC is unable to open the MRL 'rtsp://192.168.110.152:8900/live'. Check the log for details.
            Connection failed:
            VLC could not connect to "127.0.0.1:8900".
            Your input can't be opened:
            VLC is unable to open the MRL 'rtsp://127.0.0.1:8900/live'. Check the log for details.
            Connection failed:
            VLC could not connect to "192.168.110.159:8900".
            Your input can't be opened:
            VLC is unable to open the MRL 'rtsp://192.168.110.159:8900/live'. Check the log for details.
            
            

            Can you confirm that I should be using the rtsp://192.168.110.152:8900/live for the VLC network stream?
            Or should it be rtsp://127.0.0.1:8900/live ?

            voxl:~$ voxl-streamer -i tracking
            Waiting for pipe tracking to appear
            Found Pipe
            detected following stats from pipe:
            w: 640 h: 480 fps: 30 format: RAW8
            Stream available at rtsp://127.0.0.1:8900/live
            
            

            Here is my settings in voxl-mavcam-manager

            {
                    "snapshot_pipe_name":   "tracking",      
                    "video_record_pipe_name":       "tracking",           
                    "default_uri":  "rtsp://192.168.110.152:8900/live",
                    "enable_auto_ip":       true
            }
            
            
            K 1 Reply Last reply 4 Mar 2024, 23:57 Reply Quote 0
            • K
              Kris @Kris
              last edited by 4 Mar 2024, 23:57

              I am not able to view any video when executing the voxl-mavcam-manager either.

              voxl:~$ voxl-mavcam-manager
              =================================================================
              Parameters as loaded from config file:
              snapshot_pipe_name:        tracking
              video_record_pipe_name:    tracking
              default_uri:               rtsp://192.168.110.152:8900/live
              enable_auto_ip:            1
              =================================================================
              Camera name for qgc: Camera 0
              Mavlink server Connected
              Got camera information request
              auto-detected RTSP URI: rtsp://192.168.110.152:8900/live
              Got camera information request
              auto-detected RTSP URI: rtsp://192.168.110.152:8900/live
              Got camera information request
              auto-detected RTSP URI: rtsp://192.168.110.152:8900/live
              
              
              K 1 Reply Last reply 5 Mar 2024, 00:11 Reply Quote 0
              • K
                Kris @Kris
                last edited by 5 Mar 2024, 00:11

                voxl-streamer error.jpg

                T 1 Reply Last reply 5 Mar 2024, 00:23 Reply Quote 0
                • T
                  tom admin @Kris
                  last edited by 5 Mar 2024, 00:23

                  @Kris Again, you've ran through voxl-configure-sku and voxl-configure-mpa there is no reason to start a service manually. In your first post you could see that voxl-mavcam-manager was already running as a service.

                  What do your video stream settings look like in QGC? Do you have it setup correctly to expect an rtsp stream?

                  K 1 Reply Last reply 5 Mar 2024, 00:36 Reply Quote 0
                  • K
                    Kris @tom
                    last edited by 5 Mar 2024, 00:36

                    @tom
                    Yes, I have ran through the voxl-configure-sku and the voxl-configure-mpa.
                    This is what my video stream seetings look like in QGC, if its the correct location.

                    QGC1.jpg

                    QGC2.jpg

                    T 1 Reply Last reply 5 Mar 2024, 00:41 Reply Quote 0
                    • T
                      tom admin @Kris
                      last edited by 5 Mar 2024, 00:41

                      @Kris 27359e0b-c763-47ba-9635-adf90f5bcca1-image.png

                      The video stream settings are under "General", you'll want to enter the RTSP URI there

                      K 3 Replies Last reply 5 Mar 2024, 00:43 Reply Quote 0
                      • K
                        Kris @tom
                        last edited by 5 Mar 2024, 00:43

                        @tom Thank you so much, I just found it and I will try it.

                        1 Reply Last reply Reply Quote 0
                        • K
                          Kris @tom
                          last edited by 5 Mar 2024, 00:51

                          @tom
                          I am sorry, it is still not working....

                          QGC3.png

                          K 1 Reply Last reply 5 Mar 2024, 01:04 Reply Quote 0
                          • K
                            Kris @Kris
                            last edited by 5 Mar 2024, 01:04

                            QGC4.png

                            QGC5.jpg

                            1 Reply Last reply Reply Quote 0
                            • K
                              Kris @tom
                              last edited by 5 Mar 2024, 01:24

                              QGC6.jpg

                              T 1 Reply Last reply 5 Mar 2024, 01:30 Reply Quote 0
                              • T
                                tom admin @Kris
                                last edited by 5 Mar 2024, 01:30

                                @Kris What do you see with systemctl status voxl-streamer?

                                K 4 Replies Last reply 5 Mar 2024, 01:32 Reply Quote 0
                                • K
                                  Kris @tom
                                  last edited by Kris 5 Mar 2024, 01:34 5 Mar 2024, 01:32

                                  @tom This is what I see.

                                  voxl:~$ systemctl status voxl-streamer
                                  ● voxl-streamer.service - voxl-streamer
                                     Loaded: loaded (/usr/bin/voxl-streamer; enabled; vendor preset: enabled)
                                     Active: active (running) since Tue 2024-03-05 01:18:42 UTC; 13min ago
                                    Process: 17793 ExecStartPre=/bin/sleep 5 (code=exited, status=0/SUCCESS)
                                   Main PID: 17800 (voxl-streamer)
                                     CGroup: /system.slice/voxl-streamer.service
                                             └─17800 /usr/bin/voxl-streamer
                                  
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: A new client rtsp://192.168.11...1
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: Camera server Connected
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: rtsp client disconnected, tota...0
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: no more rtsp clients, closing ...y
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: A new client rtsp://192.168.11...1
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: Camera server Connected
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: rtsp client disconnected, tota...0
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: no more rtsp clients, closing ...y
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: A new client rtsp://192.168.11...1
                                  Mar 05 01:31:34 apq8096 voxl-streamer[17800]: Camera server Connected
                                  Hint: Some lines were ellipsized, use -l to show in full.
                                  
                                  
                                  voxl:~$ systemctl status voxl-streamer -l
                                  ● voxl-streamer.service - voxl-streamer
                                     Loaded: loaded (/usr/bin/voxl-streamer; enabled; vendor preset: enabled)
                                     Active: active (running) since Tue 2024-03-05 01:18:42 UTC; 14min ago
                                    Process: 17793 ExecStartPre=/bin/sleep 5 (code=exited, status=0/SUCCESS)
                                   Main PID: 17800 (voxl-streamer)
                                     CGroup: /system.slice/voxl-streamer.service
                                             └─17800 /usr/bin/voxl-streamer
                                  
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: no more rtsp clients, closing source pipe intentionally
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: A new client rtsp://192.168.110.159:48596(null) has connected, total clients: 1
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: Camera server Connected
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: rtsp client disconnected, total clients: 0
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: no more rtsp clients, closing source pipe intentionally
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: A new client rtsp://192.168.110.159:48604(null) has connected, total clients: 1
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: Camera server Connected
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: rtsp client disconnected, total clients: 0
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: no more rtsp clients, closing source pipe intentionally
                                  Mar 05 01:33:33 apq8096 voxl-streamer[17800]: A new client rtsp://192.168.110.159:48606(null) has connected, total clients: 1
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    Kris @tom
                                    last edited by 5 Mar 2024, 01:39

                                    voxl:~$ systemctl status voxl-mavcam-manager -l
                                    ● voxl-mavcam-manager.service - voxl-mavcam-manager
                                       Loaded: loaded (/usr/bin/voxl-mavcam-manager; enabled; vendor preset: enabled)
                                       Active: failed (Result: signal) since Tue 2024-03-05 01:18:39 UTC; 20min ago
                                      Process: 17657 ExecStart=/bin/bash -c /usr/bin/voxl-mavcam-manager (code=killed, signal=ABRT)
                                     Main PID: 17657 (code=killed, signal=ABRT)
                                    
                                    Mar 05 01:18:39 apq8096 bash[17657]: snapshot_pipe_name:        tracking
                                    Mar 05 01:18:39 apq8096 bash[17657]: video_record_pipe_name:    tracking
                                    Mar 05 01:18:39 apq8096 bash[17657]: default_uri:               rtsp://192.168.110.152:8900/live
                                    Mar 05 01:18:39 apq8096 bash[17657]: enable_auto_ip:            0
                                    Mar 05 01:18:39 apq8096 bash[17657]: =================================================================
                                    Mar 05 01:18:39 apq8096 bash[17657]: Camera name for qgc: Camera 0
                                    Mar 05 01:18:39 apq8096 bash[17657]: Mavlink server Connected
                                    Mar 05 01:18:39 apq8096 systemd[1]: voxl-mavcam-manager.service: Main process exited, code=killed, status=6/ABRT
                                    Mar 05 01:18:39 apq8096 systemd[1]: voxl-mavcam-manager.service: Unit entered failed state.
                                    Mar 05 01:18:39 apq8096 systemd[1]: voxl-mavcam-manager.service: Failed with result 'signal'.
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • KrisK
                                      Kris @tom
                                      last edited by 5 Mar 2024, 01:48

                                      voxl:~$ voxl-inspect-sku
                                      
                                      family code:   MRB-D0003 (seeker)
                                      compute board: 1 (voxl1)
                                      hw version:    7
                                      cam config:    7
                                      SKU:           MRB-D0003-1-V7-C7
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • KrisK
                                        Kris @tom
                                        last edited by 5 Mar 2024, 01:52

                                        voxl-inspect-mavlink mavlink_sys_status

                                        |   ID  |      Mavlink MSG Name       |Counter|  Hz  |
                                        |-------|-----------------------------|-------|------|
                                        |     1 | sys_status                  |    92 |  5.0 |
                                        
                                        
                                        Alex KushleyevA 1 Reply Last reply 5 Mar 2024, 04:48 Reply Quote 0
                                        • Alex KushleyevA
                                          Alex Kushleyev ModalAI Team @Kris
                                          last edited by Alex Kushleyev 5 Mar 2024, 04:49 5 Mar 2024, 04:48

                                          @Kris , please try the following:

                                          • verify the ip address of voxl2
                                            • when you adb into voxl2, the ip address is printed
                                            • you can use ifconfig to check the ip address
                                          • make sure voxl-streamer is running (it looks like it is based on output of systemctl status voxl-streamer
                                          • ping your voxl2 ip from your host machine (just to make sure it can reach voxl2)
                                          • download ffmpeg / ffplay to your host machine
                                            • perhaps something in VLC is not working, but ffmpeg / ffplay usually works
                                            • on linux OS should be able to do it using apt-get ffmpeg
                                            • for other OS you can find direct download : https://www.ffmpeg.org/download.html

                                          play the video on the host machine (replace voxl2-ip with actual ip address)

                                          ffplay rtsp://<voxl2-ip>:8900/live
                                          
                                          ModeratorM 1 Reply Last reply 5 Mar 2024, 06:02 Reply Quote 0
                                          • ModeratorM
                                            Moderator ModalAI Team @Alex Kushleyev
                                            last edited by 5 Mar 2024, 06:02

                                            Typically hires is the only pipe with encoding enabled by default, but in this case tracking is being used. Can you make sure encoding is enabled for the tracking camera in voxl-camera-server.conf ?

                                            Or, can you just see if hires_enc is working in QGC first? That's what we ship by default on a fresh install hires_enc to QGC should by enabled by default.

                                            1 Reply Last reply Reply Quote 0
                                            2 out of 21
                                            • First post
                                              2/21
                                              Last post
                                            Powered by NodeBB | Contributors