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

    Streaming Stereo Camera

    Ask your questions right here!
    4
    21
    1342
    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.
    • 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
                                          • ModeratorM
                                            Moderator ModalAI Team @Alex Kushleyev
                                            last edited by

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