Streaming Stereo Camera
- 
					
					
					
					
 Is it possible to stream a stereo/tracking camera on the Seeker (SDK 1.1.2) with voxl-streamer? 
- 
					
					
					
					
 @Kris Yes, take a look at /etc/modalai/voxl-streamer.conffor more info
- 
					
					
					
					
 @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 intentionallyI 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.... 
- 
					
					
					
					
 @Kris It looks like voxl-streameris already running in the background and then you're running it again in the terminal manually, hence theexisting instance of voxl-streamer found, attempting to stop itYou should be able to pull up the stream if the service is running, no need to run it manually like that 
- 
					
					
					
					
 @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 VLCConnection 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/liveHere 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 }
- 
					
					
					
					
 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
- 
					
					
					
					
  
- 
					
					
					
					
 @Kris Again, you've ran through voxl-configure-skuandvoxl-configure-mpathere is no reason to start a service manually. In your first post you could see thatvoxl-mavcam-managerwas 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? 
- 
					
					
					
					
 @tom 
 Yes, I have ran through thevoxl-configure-skuand thevoxl-configure-mpa.
 This is what my video stream seetings look like in QGC, if its the correct location.  
- 
					
					
					
					
 The video stream settings are under "General", you'll want to enter the RTSP URI there 
- 
					
					
					
					
 @tom Thank you so much, I just found it and I will try it. 
- 
					
					
					
					
 @tom 
 I am sorry, it is still not working.... 
- 
					
					
					
					
   
- 
					
					
					
					
  
- 
					
					
					
					
 @Kris What do you see with systemctl status voxl-streamer?
- 
					
					
					
					
 @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
- 
					
					
					
					
 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'.
- 
					
					
					
					
 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
- 
					
					
					
					
 voxl-inspect-mavlink mavlink_sys_status| ID | Mavlink MSG Name |Counter| Hz | |-------|-----------------------------|-------|------| | 1 | sys_status | 92 | 5.0 |
- 
					
					
					
					
 @Kris , please try the following: - verify the ip address of voxl2
- when you adb into voxl2, the ip address is printed
- you can use ifconfigto check the ip address
 
- make sure voxl-streameris running (it looks like it is based on output ofsystemctl 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-ipwith actual ip address)ffplay rtsp://<voxl2-ip>:8900/live
- verify the ip address of voxl2

