# voxl-mavcam-manager in differnt versions

Source: https://forum.modalai.com/topic/5360/voxl-mavcam-manager-in-differnt-versions
Category: VOXL SDK and Software (https://forum.modalai.com/category/47/voxl-sdk-and-software)
Tags: voxl-sdk
Posted: 2026-08-03 12:12:27 UTC by arvind_g3aero
Replies: 6 · Views: 546

## arvind_g3aero · 2026-08-03 12:12:27 UTC

Hi team,
We are working on voxl2 board.In mavcam manager we have encountered issue .With 1.3.5 and 1.4.0 sdk multiple cameras switching through mavcam manager is not happening,working for one camera and snapshot is saved in GCS QGC and also in /data/snapshots folder.
With 1.6.2 sdk multiple cameras switching through mavcam manager is happening but while we are trying for snapshot voxl-camera serveris disconnecting and connecting again.We have verified by running voxl-camera-server -d in terminal it is giving no buffer space available .If we disable snapshot in voxl-camera-server then it is not crashing and no buffer space error is also not seen .
Our requirement is we have two camera switching and snapshot is also required.Please suggest which sdk to use

## Reply by Zachary Lowell 0 · 2026-08-03 21:46:46 UTC

@arvind_g3aero - how many cameras are you running? Can you paste the logs exactly - it is hard to understand the issue without the logs.

As for snapshot - when you change the stream in qgc, the snapshot is probably not tied to the new rtsp steam, causing a fault on the backend - I can look into this at somepoint in the next fwe days.

As for 1.3.5 and 1.4.0 those SDK's do NOT support multi camera streaming into qgc.

Zach

## Reply by arvind_g3aero · 2026-08-04 07:16:52 UTC

Hi Zach,
Thanks for your quick reply.
We are having total 3 cameras,hires imx214,tracking ov7251and usb camera lepton.
SDK we are using is 1.6.2 

voxl2 (M0054):/$ voxl-camera-server -d 2
detected system image 1.8.6
using new imx214 defaults
=================================================================
configuration for 2 cameras:

cam #0
    name:                tracking
    type:                ov7251
    bayer_type:          0
    enabled:             1
    camera_id:           0
    camera_id_second:    -1
    fps:                 30
    en_rotate:           1
    en_rotate2:          0

    en_preview:          1
    en_raw_preview:      1
    preview_width:       640
    preview_height:      480

    en_misp:             0
    misp_width:          -1
    misp_height:         -1

    en_small_video:      0
    small_video_width:   -1
    small_video_height:  -1

    en_large_video:      0
    large_video_width:   -1
    large_video_height:  -1

    en_snapshot:         0
    snap_width:          -1
    snap_height:         -1
    exif_focal_length:   0.000000
    exif_focal_len_35mm_format:0
    exif_fnumber:        0.000000

    ae_mode:             lme_msv
    msv_exposure_min_us: 20
    msv_exposure_max_us: 33000
    gain_min           : 54
    gain_max           : 8000
    standby_enabled:     0
    decimator:           1
    independent_exposure:0

cam #1
    name:                hires
    type:                imx214
    bayer_type:          2
    enabled:             1
    camera_id:           1
    camera_id_second:    -1
    fps:                 15
    en_rotate:           0
    en_rotate2:          0

    en_preview:          0
    en_raw_preview:      0
    preview_width:       1920
    preview_height:      1080

    en_misp:             0
    misp_width:          -1
    misp_height:         -1

    en_small_video:      1
    small_video_width:   640
    small_video_height:  480

    en_large_video:      0
    large_video_width:   4208
    large_video_height:  3120

    en_snapshot:         1
    snap_width:          4208
    snap_height:         3120
    exif_focal_length:   0.000000
    exif_focal_len_35mm_format:0
    exif_fnumber:        0.000000

    ae_mode:             isp
    msv_exposure_min_us: 20
    msv_exposure_max_us: 33000
    gain_min           : 54
    gain_max           : 8000
    standby_enabled:     0
    decimator:           1
    independent_exposure:0

fsync_en:            0
fsync_gpio:          109
=================================================================
thread is locked to cores: 4 5 6 7
connected to mavlink pipe
Connected to cpu-monitor
Starting Camera: tracking (id #0)
gbm_create_device(156): Info: backend name is: msm_drm
setting ov7251 BLC register for cam id 0
Starting Camera: hires (id #1)
Estimated imu dt = 0.000976s

------ voxl-camera-server: Started 2 of 2 cameras

------ voxl-camera-server: Camera server is now running
Camera: hires taking snapshot (destination: /data/snapshots/hires-2026-08-04_06:55:02.474.jpg)
ERROR:   bufferGetBufferInfo wan't able to successfully find the requested buffer

Segmentation fault:
Fault thread: cam1-result(tid: 20257)
Segmentation fault

 voxl-mavcam-manager       
=================================================================
Parameters as loaded from config file:
input #0:
    snapshot_pipe_name:        hires_snapshot
    video_record_pipe_name:    hires_small_encoded
    default_uri:               rtsp://192.168.168.156:8900/live
    enable_auto_ip:            1
    mavlink_sys_id:            1
input #1:
    snapshot_pipe_name:        uvc
    video_record_pipe_name:    uvc
    default_uri:               rtsp://192.168.168.156:8901/live
    enable_auto_ip:            1
    mavlink_sys_id:            1
=================================================================
existing instance of voxl-mavcam-manager found, attempting to stop it
COMPID: 100
Mavlink server Connected
COMPID: 100
Error trying to send control command to pipe ch2 /run/mpa/mavlink_to_gcs/, not connected
Mavlink server Connected
Mavlink server Connected
Mavlink server Connected
auto-detected RTSP URI: rtsp://192.168.168.156:8900/live
Sending stream info to gcs: rtsp://192.168.168.156:8900/live
auto-detected RTSP URI: rtsp://192.168.168.156:8901/live
Sending stream info to gcs: rtsp://192.168.168.156:8901/live
Unable to find valid pipe that accepts control commands at: uvc
Successfully sent command to /run/mpa/hires_snapshot/control
Sending camera_settings with mode VIDEO to gcs
Sending camera_settings with mode VIDEO to gcs
Sending camera_settings with mode IMAGE to gcs
Sending camera_settings with mode IMAGE to gcs
Successfully sent command to /run/mpa/hires_snapshot/control
Unable to find valid pipe that accepts control commands at: uvc
Sending camera_settings with mode VIDEO to gcs
Sending camera_settings with mode VIDEO to gcs
Sending camera_settings with mode IMAGE to gcs
Sending camera_settings with mode IMAGE to gcs
Sending camera_settings with mode VIDEO to gcs
Sending camera_settings with mode VIDEO to gcs
Sending camera_settings with mode IMAGE to gcs
Sending camera_settings with mode IMAGE to gcs
Unable to find valid pipe that accepts control commands at: uvc
Successfully sent command to /run/mpa/hires_snapshot/control

root@arvind-Victus-by-HP-Gaming-Laptop-15-fa0xxx:/home/arvind# adb shell

                                                         ▂▂▂▂▂▂▂▂▂▂▂▂▂            
                                                    ▂▄▆▆██▛▀▀▀▀▀▀▀▀▜████▆▆▄▂      
 ███╗   ███╗ ██████╗ ██████╗  █████╗ ██╗         ▗▆████▀▔             ▔▔▀▀▀▀▚▄    
 ████╗ ████║██╔═══██╗██╔══██╗██╔══██╗██║       ▗▟████▀     ▗██▖    ▐█   ▝▀▆▄▄▄    
 ██╔████╔██║██║   ██║██║  ██║███████║██║      ▟████▀      ▗█▘▝█▖   ▐█       ▜█▀█▄ 
 ██║╚██╔╝██║██║   ██║██║  ██║██╔══██║██║      █▌ ▐█▌     ▗█▘  ▝█▖  ▐█       ▐▄ ▄█ 
 ██║ ╚═╝ ██║╚██████╔╝██████╔╝██║  ██║███████╗  ▀████    ▗█▘    ▝█▖ ▐█     ▂▄███▀  
 ╚═╝     ╚═╝ ╚═════╝ ╚═════╝ ╚═╝  ╚═╝╚══════╝    ▀▀██▄▄                ▂▆███▀     
                                                     ▀▀██▄▄ ▀▀▆▄▄▄▄▆██▀▀▀▘        

────────────────────────────────────────────────────────────────────────────────
system-image: 1.8.06-M0054-14.1a-perf
kernel:       #1 SMP PREEMPT Wed Oct 22 03:21:50 UTC 2025 4.19.125
────────────────────────────────────────────────────────────────────────────────
hw platform:  M0054
mach.var:     1.0.0
SKU:          MCCA-M0054-CC-T0-M0-X0
────────────────────────────────────────────────────────────────────────────────
voxl-suite:   1.6.2
────────────────────────────────────────────────────────────────────────────────
current IP:   usb0: 192.168.168.156
────────────────────────────────────────────────────────────────────────────────

voxl2 (M0054):/$ 

voxl2 (M0054):/$ cat /home/root/voxl-thermal-streamer_bkp1.sh 
#!/bin/bash

sleep 3
echo "uvc camera feed on 192.168.168.156:8901 "

voxl-streamer --standalone --port 8901 -i uvc -b 200000  

We have 2 camera streams one with voxl-streamer----hires_small_encoded on 8900 port
other with  voxl-streamer standalone with one service ---uvc on 8901 port

Through mavcam manager (0.6.0) we are able to switch the camera streams in QGC .But while taking snapshot,snapshot is saving in GCS QGC with resolution of GCS Display and snapshot not saving in /data/snapshots folder

while we are trying with command line also snapshot is not saving meanwhile camera server crashing:

voxl-send-command hires_snapshot snapshot
Successfully sent command to /run/mpa/hires_snapshot/control
voxl2 (M0054):/data/snapshots$ ls -ltr
total 0
  
voxl-camera-server crashed:
Starting Camera: hires (id #1)
Estimated imu dt = 0.000976s

------ voxl-camera-server: Started 2 of 2 cameras

------ voxl-camera-server: Camera server is now running
Camera: hires taking snapshot (destination: /data/snapshots/hires-2026-08-04_07:09:12.701.jpg)
ERROR:   bufferGetBufferInfo wan't able to successfully find the requested buffer

Segmentation fault:
Fault thread: cam1-result(tid: 16326)
Segmentation fault
voxl2 (M0054):/$ 

While we are trying in old sdk 1.3.5 and 1.4.0 snapshot is saving in /data/snapshots folder but 2 cmaera switching is not happening through mavcam manager

Our requirement is to switch two streams and also screenshot need to be saved in /data/snapshots folder

Please suggest us which SDK to use for both purpose(camera switching and also snapshot) ,and what is that buffer issue in 1.6.2 SDK

Thank you

## Reply by ApoorvThapliyal · 2026-08-06 21:55:40 UTC

Hey Arvind, 
Could you try using this version of voxl-camera-server: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-camera-server_2.2.32-202607291154_arm64.deb

Im able to get 2 camera streams, and every time I click the save picture button on QGC I see the snapshots saved without any issues.
Heres some versions of my packages I am using:
voxl-camera-server             2.2.32
voxl-mavcam-manager            0.6.1-202601081558
voxl-streamer                  0.8.1

## Reply by arvind_g3aero · 2026-08-18 05:40:13 UTC

Hi,Apoorv Thapliyal,
Thanks for the suggestions made.
We have tried 1.4.5 SDK on Voxl2 board and we are able to get snapshot in both QGC and also in /data/snapshots folder in the board .If we try to change resolution of snapshot in voxl-camera-server ,it is applied to resolution of snapshot saved in /data/snapshot folder in voxl2  board.

## Reply by arvind_g3aero · 2026-08-24 06:35:04 UTC

Hi Dev Team ,
Any update regarding snapshots through voxl-mavcam-manager  in 1.6.2 SDK on VOXL2 board.
Please suggest us which SDK to use for snapshot usage on VOXL2 .
S.Arvind

## Reply by wilkinsaf · 2026-08-25 13:57:57 UTC

Hey @arvind_g3aero 

So, it does look like you were able to get this working with the dev release of voxl-camera-server which is great to hear. The natural progression of a software package is through dev-> staging -> release. 

So, this version of voxl-camera-server will be released in a future SDK. There will most likely not be a backport onto the 1.6.2 SDK
