Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: send VIDEO_STREAM_INFO mavlink messages to GCS #169

Open
rmackay9 opened this issue Oct 13, 2023 · 5 comments
Open

Feature Request: send VIDEO_STREAM_INFO mavlink messages to GCS #169

rmackay9 opened this issue Oct 13, 2023 · 5 comments

Comments

@rmackay9
Copy link

It would be convenient for the user if RPanion sent out VIDEO_STREAM_INFORMATION messages messages to the GCS so that it could more easily find video streams and pop-up a window for the user. As far as I know, none of the GCSs will consume this message yet but I think they probably should.

The related MP enhancement request is here.
The related QGC PR is here.

This request was first raised on this AP blog post.

@stephendade
Copy link
Owner

stephendade commented Oct 14, 2023

That seems do-able. MAVLink definitions are here: https://mavlink.io/en/messages/common.html#VIDEO_STREAM_INFORMATION.

From what I can see, this message is in response to a MAV_CMD_REQUEST_MESSAGE and is not streamed by default? Also should I be resending the message every N seconds, or just sending a single one?

@rmackay9
Copy link
Author

Hi @stephendade,

Thanks. Just sending it in response to MAV_CMD_REQUEST_MESSAGE would be OK I think.

@ddd999
Copy link

ddd999 commented Nov 12, 2023

@rmackay9 I'm starting work to implement this as it ties in to #167 as mentioned.

Is there a simple way to send custom MAVLink messages (like MAV_CMD_REQUEST_MESSAGE and the other camera-related messages) for testing?

Mission Planner only has a few messages available by default. I don't see a way to add any to the "Actions" or "Simple Actions" tabs short of re-building MP.

Side note, I've followed the instructions on GitHub to rebuild MP and it builds successfully, but with a huge number of warnings. It then fails to run because of manifest definitions not matching assembly references (even after copying all the DLLs from the standard MP install). Edit: it works if I use the Run button within VS instead of trying to run the .exe directly

@rmackay9
Copy link
Author

rmackay9 commented Nov 12, 2023

Great!

MP doesn't support any way to send custom messages but for the specific case of REQUEST_MESSAGE there is the message interval window which is hidden on the Ctrl-F page.
image

For sending custom messages I normally use MAVProxy which does run on windows.

MP's camera and gimbal controls are listed on these two pages:

ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Feb 7, 2024
Addresses feature request issue stephendade#169

Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MavLink in response to a MAV_CMD_REQUEST_MESSAGE.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Feb 29, 2024
Addresses feature request issue stephendade#169

Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MavLink in response to a MAV_CMD_REQUEST_MESSAGE.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Feb 29, 2024
Addresses feature request/issue stephendade#169

Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.

Adds a Select dropdown to the Video page to select which IP will be transmitted as part of the URI that is sent in the MAVLink message.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Mar 3, 2024
Addresses feature request stephendade#169

Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.

Adds a Select dropdown to the Video page to select which IP will be transmitted as part of the video stream URI that is sent in the MAVLink message.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Mar 5, 2024
Addresses feature request stephendade#169

Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.

Adds a Select dropdown to the Video page to select which IP will be transmitted as part of the video stream URI that is sent in the MAVLink message.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Mar 6, 2024
Addresses feature request stephendade#169

Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.

Adds a Select dropdown to the Video page to select which IP will be transmitted as part of the video stream URI that is sent in the MAVLink message.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Mar 7, 2024
Addresses feature request stephendade#169.
Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.
Adds a React Select dropdown to the Video page to select which IP will be transmitted as part of the video stream URI that is sent in the MAVLink message.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Mar 12, 2024
Addresses feature request stephendade#169.
Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.
Adds a React Select dropdown to the Video page to select which IP will be transmitted as part of the video stream URI that is sent in the MAVLink message.
stephendade pushed a commit that referenced this issue Mar 13, 2024
Addresses feature request #169.
Enables Rpanion to respond to send COMMAND_ACK and VIDEO_STREAM_INFORMATION messages via MAVLink in response to a MAV_CMD_REQUEST_MESSAGE.
Adds a React Select dropdown to the Video page to select which IP will be transmitted as part of the video stream URI that is sent in the MAVLink message.
@ddd999
Copy link

ddd999 commented Mar 13, 2024

@rmackay9, VIDEO_STREAM_INFORMATION reply has been implemented. I guess there is still some work left to implement the rest of the camera protocol described here: https://mavlink.io/en/services/camera.html#video_streaming

Specifically:

  • Advertise the camera device with a new heartbeat message
  • Respond to requests for CAMERA_INFORMATION, including sending CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM (to be modified in future when image and video capture are implemented)

Did I miss anything?

ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Apr 10, 2024
This commit adds a heartbeat output for the camera device, and adds the ability to send CAMERA_INFORMATION messages when requested. Also includes improvements for better handling undefined parameters for sendCommandAck()

Completes the implementation of feature request issue stephendade#169.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Apr 10, 2024
Adds a MAVLink heartbeat output for the attached camera device, and adds the ability to send CAMERA_INFORMATION messages when requested.

Also includes improvements for better handling undefined parameters for sendCommandAck() and sendHeartbeat()

This completes a basic implementation of feature request stephendade#169.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue Apr 10, 2024
Adds a MAVLink heartbeat output for the attached camera device, and adds the ability to send CAMERA_INFORMATION messages when requested.

Also includes improvements for better handling undefined parameters for sendCommandAck() and sendHeartbeat()

This completes a basic implementation of feature request stephendade#169.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue May 5, 2024
Adds a MAVLink heartbeat output for the attached camera device, and adds the ability to send CAMERA_INFORMATION messages when requested.

Also includes improvements for better handling undefined parameters for sendCommandAck() and sendHeartbeat()

This completes a basic implementation of feature request stephendade#169.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue May 13, 2024
Adds a MAVLink heartbeat output for the attached camera device, and adds the ability to send CAMERA_INFORMATION messages when requested.

Also includes improvements for better handling undefined parameters for sendCommandAck() and sendHeartbeat()

This completes a basic implementation of feature request stephendade#169.
ddd999 pushed a commit to ddd999/Rpanion-server that referenced this issue May 13, 2024
Adds a MAVLink heartbeat output for the attached camera device, and adds the ability to send CAMERA_INFORMATION messages when requested.

Also includes improvements for better handling undefined parameters for sendCommandAck() and sendHeartbeat()

This completes a basic implementation of feature request stephendade#169.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants