Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

E

ejohnson

@ejohnson
Unfollow Follow
About
Posts
3
Topics
1
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Voxl-Mavcam-Manager Multiple RTSP Stream Setup
    E ejohnson

    @griffin @tom it looks like discovery of multiple streams is improperly implemented in voxl-mavcam-manger.

    the first issue I see is that each camera is being advertised as the same component ID

     init_arr[i].context.compid = MAV_COMP_ID_CAMERA; // todo make this command line arg
    

    according to the mavlink spec each cam should have a unique id. https://mavlink.io/en/services/camera.html#camera_identification I would image this should look some thing like this.

    int cam_comp_ids[MAX_MAVCAM_INPUTS] = {MAV_COMP_ID_CAMERA, MAV_COMP_ID_CAMERA2, MAV_COMP_ID_CAMERA3, MAV_COMP_ID_CAMERA4, MAV_COMP_ID_CAMERA5, MAV_COMP_ID_CAMERA6};
    
        for(int i=0; i<n_mavcam_inputs; i++){
    ...
        init_arr[i].context.compid = cam_comp_ids[i];
    
    

    however when testing this change I think I have run into a bigger problem which is that I think only the last context's threads are running. I am not sure why this is, but it seems like the maybe the different threads can't read from the same modal pipe that is providing the mavlink? I suspect that somehow the reading and writing to the modal pipe is not sufficiently isolated causing either overwriting the first's context's callbacks or preventing the first context's callbacks from running.

    let me know what ya'll think

    VOXL SDK voxl-mavcam voxl-streamer rtsp starling2 max

  • Voxl-Mavcam-Manager Multiple RTSP Stream Setup
    E ejohnson

    @brahim after looking at this some more I think it is valid to have multiple streams per camera. I guess the use case would be to have a high res stream and a low res stream that's separate or something like that.

    However I think people would still like to setup multiple cameras. I haven't tried this yet, but I think it could also be valid to spawn a manager per camera, and then stagger the component ids for each app. I think this might also fix the threading issue since each application would initialize separate pipe reads and wouldn't be blocked by each other?

    @Eric-Katzfey I'm using a different mavlink GCS that's not QGC, so I need to make voxl-mavcam-manager conform to the standard.

    VOXL SDK voxl-mavcam voxl-streamer rtsp starling2 max
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups