Mavlink Camera Manager not appearing on QGC
-
@Eric-Katzfey Here is my update regarding the Mavlink Camera Manager. I switched to QGC 3.5.6 (the latest does not in fact work with mavlink camera manager) and I was able to stream one camera using the mavlink camera manager, but only one camera at a time (no dropdown screen). I had all three cameras running simultaneously with voxl-streamer and mavlink-camera-manager, all with different ports and ids. Individually, I could stream each one to QGC, which would only show the first camera service that I would start up and not give me an option for switching to the others.
Strange behavior: I had all three mavlink-camera-manager services running. I can only see the first camera I start on the QGC screen (lets say its hires, for this example). I then CTRL-C (stop) the mavlink-camera-manager process thats running the hires. However, the hires stream doesn't stop and continues streaming as normal. This continues until I stop all three mavlink-camera-manager services, which is when the QGC then shows a "Waiting for video" screen.
When i tried clicking the double boxes in the top left corner, the QGC went into a non-responsive state and I had to force quit QGC.
Commands I ran and error messages I received
QGC error message (this was repeated multiple times when running more than one stream, up to 4):
-
@Daniel-Ryu I'm going to have to resurrect my development station to look into this. The mavlink camera manager doesn't actually do any streaming. It's job is to just run the mavlink camera protocol to allow you to easily connect to a stream coming from voxl-streamer (or other application). Can you show the output of the mavlink camera manager application(s) when the debug "-d" option is used? That will show the protocol messages being transferred between the GCS and Voxl.
-
Hires, stereo, tracking mavlink-camera-manager debug outputs (in this order). All three are running at the same time:
Voxl-streamer debug output for hires (only hires had updated debug output, other voxl-streamers only had the standard bootup debug)
-
Okay, thanks! That shows, at least, a mavlink protocol session has been initiated with the mavlink-camera-manager. The camera protocol is documented here: https://mavlink.io/en/services/camera.html. The mavlink-camera-manager module is implementing a portion of that protocol. When it first connects there should be a flurry of protocol messages going back and forth. Once things are setup then it is just heartbeat messages as you see in the debug output above. So the key part of the debug output is the very beginning.
-
@Eric-Katzfey Where can I go from here then, to be able to swap streams from a dropdown menu in QGC?
-
Look at the beginning of the debug output from mavlink-camera-manager. Do you see anything besides the heartbeat / ping messages? If so, can you paste that here?
-
-
@Eric-Katzfey , we got it working. The secret we were missing was our MAV_SYS_ID was not set to 1, which, apparently, is what this capability expects. Thanks!
-
@jaredjohansen Great! Glad to hear it!
-
We are facing a similar issue. Is it correct to say there is not one singular service on VOXL that will automatically stream all cameras to QGC?
We have to write our own script for it correct?
-
@wilkinsaf Way we handled it was creating our own services/scripts for streaming to QGC automatically with mavlink-camera-manager. Hope it helps
-
I figured. We just wanted to double check that this was the case. Thank you!
-