Skip to content

gz: gstreamer plugin#24475

Merged
Jaeyoung-Lim merged 1 commit intomainfrom
dev/gz_gst_plugin
Mar 9, 2025
Merged

gz: gstreamer plugin#24475
Jaeyoung-Lim merged 1 commit intomainfrom
dev/gz_gst_plugin

Conversation

@dakejahl
Copy link
Copy Markdown
Contributor

@dakejahl dakejahl commented Mar 8, 2025

Streams the first camera found in the world to 127.0.0.1 at port 5600.

@dakejahl dakejahl force-pushed the dev/gz_gst_plugin branch from 2e130b4 to 948c1c9 Compare March 8, 2025 11:35
@dakejahl dakejahl force-pushed the dev/gz_gst_plugin branch from 948c1c9 to 38dd12d Compare March 8, 2025 11:46
Copy link
Copy Markdown
Member

@Jaeyoung-Lim Jaeyoung-Lim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Looks great!

Only nitpick: why is the name "system" and not plugin? If we name it as plugin or Gzplugin it would be more clear what the implementation is.

For the next step, we need an implementation of the mavlink camera manager such that QGC can discover it automatically and take photos.

@dakejahl
Copy link
Copy Markdown
Contributor Author

dakejahl commented Mar 9, 2025

System seems to be the convention in gz so I followed the same pattern. We could call it SystemPlugin but all plugins are system plugins so 🤷
https://gazebosim.org/api/sim/8/createsystemplugins.html
https://github.com/gazebosim/gz-sim/tree/gz-sim9/test/plugins

What would be the requirements for the mavlink camera manager? Is there a way to integrate with CI or some standard tests to run against QGC?

@Jaeyoung-Lim
Copy link
Copy Markdown
Member

System seems to be the convention in gz so I followed the same pattern. We could call it SystemPlugin but all plugins are system plugins so 🤷

Fair enough 🤷

What would be the requirements for the mavlink camera manager? Is there a way to integrate with CI or some standard tests to run against QGC?

It just needs to comply with the mavlink camera protocol: https://mavlink.io/en/services/camera.html
In gazebo classic, this was done from a plugin: https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/src/gazebo_camera_manager_plugin.cpp

I was wondering if it would be better to make it a px4 module, or we keep it inside gazebo but I guess it is better than no plugin either way.

@Jaeyoung-Lim Jaeyoung-Lim merged commit 7c2aa72 into main Mar 9, 2025
62 checks passed
@Jaeyoung-Lim Jaeyoung-Lim deleted the dev/gz_gst_plugin branch March 9, 2025 09:11
@dakejahl
Copy link
Copy Markdown
Contributor Author

dakejahl commented Mar 9, 2025

@DonLakeFlyer from the QGC perspective what else would be nice to have for testing?

@DonLakeFlyer
Copy link
Copy Markdown
Contributor

Ooh, nice thanks. I'll have to think about that a bit to see if there are other things that would help. Remote ID testing comes to mind, but not sure if that's possible.

@DonLakeFlyer
Copy link
Copy Markdown
Contributor

The other thing is that I can't seem to get MAV_1_BROADCAST to work. I always need to futz the startup scripts manually to get UDP to be in broadcast mode.

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

Successfully merging this pull request may close these issues.

3 participants