Hay @Jazx!
I had the same issue, and spent a lot of time on finding solution. Unfortunately "amazing" Gazebo and ROS2 communities broke backward compatibility with old and perfectly working plugins and refusing to put any effort to port them to the new Gazebo sim. What makes it's even worse, since ROS2 Humble there was broken mess with libs witch causing crashes of ROS2 nodes each time when you gonna try to use GStreamer for RTSP streaming within same process (https://github.com/ros2/rclpy/issues/1149).
So, I did bad but working solution on python. You can look it here https://github.com/vdoom/PX4-ROS2-Gazebo-YOLOv8-PyTorchSSD
For me, when Gazebo, PX4 and other shit already running, I need 3 more Terminal windows.
Terminal_1 for starting image bridge from Gazebo to ROS2:
ros2 run ros_gz_image image_bridge /camera
Terminal_2 for starting GStreamer based RTSP server:
python3 rtsp_server.py
Terminal_3 for starting crutch which will receive camera image from ros2 and send to RTSP server via sockets:
python3 uav_camera_to_crutch_proxy.py
If you whant to test if RTSP is actually streaming anything you can run:
python3 open_rtsp.py
P.S. Hey, @Greenonline! Instead of removing my comments you'd better spent same effort for finding solution and help people.