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

    Streaming Stereo Camera

    Ask your questions right here!
    4
    21
    1153
    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.
    • KrisK
      Kris
      last edited by

      Is it possible to stream a stereo/tracking camera on the Seeker (SDK 1.1.2) with voxl-streamer?

      tomT 1 Reply Last reply Reply Quote 0
      • tomT
        tom admin @Kris
        last edited by

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

        KrisK 1 Reply Last reply Reply Quote 0
        • KrisK
          Kris @tom
          last edited by Kris

          @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....

          tomT 1 Reply Last reply Reply Quote 0
          • tomT
            tom admin @Kris
            last edited by

            @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

            KrisK 1 Reply Last reply Reply Quote 0
            • KrisK
              Kris @tom
              last edited by Kris

              @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
              }
              
              
              KrisK 1 Reply Last reply Reply Quote 0
              • KrisK
                Kris @Kris
                last edited by

                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
                
                
                KrisK 1 Reply Last reply Reply Quote 0
                • KrisK
                  Kris @Kris
                  last edited by

                  voxl-streamer error.jpg

                  tomT 1 Reply Last reply Reply Quote 0
                  • tomT
                    tom admin @Kris
                    last edited by

                    @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?

                    KrisK 1 Reply Last reply Reply Quote 0
                    • KrisK
                      Kris @tom
                      last edited by

                      @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

                      tomT 1 Reply Last reply Reply Quote 0
                      • tomT
                        tom admin @Kris
                        last edited by

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

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

                        KrisK 3 Replies Last reply Reply Quote 0
                        • KrisK
                          Kris @tom
                          last edited by

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

                          1 Reply Last reply Reply Quote 0
                          • KrisK
                            Kris @tom
                            last edited by

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

                            QGC3.png

                            KrisK 1 Reply Last reply Reply Quote 0
                            • KrisK
                              Kris @Kris
                              last edited by

                              QGC4.png

                              QGC5.jpg

                              1 Reply Last reply Reply Quote 0
                              • KrisK
                                Kris @tom
                                last edited by

                                QGC6.jpg

                                tomT 1 Reply Last reply Reply Quote 0
                                • tomT
                                  tom admin @Kris
                                  last edited by

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

                                  KrisK 4 Replies Last reply Reply Quote 0
                                  • KrisK
                                    Kris @tom
                                    last edited by Kris

                                    @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
                                    • KrisK
                                      Kris @tom
                                      last edited by

                                      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

                                        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

                                          voxl-inspect-mavlink mavlink_sys_status

                                          |   ID  |      Mavlink MSG Name       |Counter|  Hz  |
                                          |-------|-----------------------------|-------|------|
                                          |     1 | sys_status                  |    92 |  5.0 |
                                          
                                          
                                          Alex KushleyevA 1 Reply Last reply Reply Quote 0
                                          • Alex KushleyevA
                                            Alex Kushleyev ModalAI Team @Kris
                                            last edited by Alex Kushleyev

                                            @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 Reply Quote 0
                                            • First post
                                              Last post
                                            Powered by NodeBB | Contributors