Hello everyone, if i select rtsp stream in the remote control and try to receive it via vlc on the PC, the image is lost, but when you select siyi camera 1 in the fpv application and run rtsp simultaneously on the PC, everything works, is it possible to receive an image on several devices? I tried to solve this by converting unicast-multicast and in this case there is a delay of 300 milliseconds.
I have 3 cameras and I want to simultaneously process data for autolanding via neural network during the flight, but because of this problem I don’t know what to do.
I use a translator so there may be errors in the text.
Try using a media proxy like mediamtx which can act like a splitter to republish the rtsp feed for consumption by multiple clients.
Yes, I already tried mediamtx with the following config
paths:
proxied1:
source: "rtsp://192.168.144.25:8554/main.264"
rtspTransport: "udp"
but on the camera h265 and this is too much
2025/04/09 05:30:04 WAR [path proxied1] [RTSP source] RTP packet is too big to be read with UDP
and I have problems with writing a config to convert unicast to multicast
Sender (RTSP → Multicast):
gst-launch-1.0 rtspsrc location="rtsp://192.168.144.25:8554/main.264" latency=50 drop-on-latency=true ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 ! rtph265depay ! h265parse ! rtph265pay config-interval=1 pt=96 ! udpsink host=239.255.0.1 port=5000 auto-multicast=true ttl=1 sync=false async=false
Receiver
gst-launch-1.0 udpsrc multicast-group=239.255.0.1 port=5000 buffer-size=65536 ! application/x-rtp,encoding-name=H265 ! rtph265depay ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 ! avdec_h265 ! videoconvert ! videorate ! video/x-raw,framerate=30/1 ! autovideosink sync=false
it works, but if for example you move your hand over the camera, artifacts appear for a second
I figured it out, but if anyone has a better option, write
Here is a connection via TCP and then distribution via UDP
Sender (RTSP → Multicast and TCP):
gst-launch-1.0 rtspsrc location="rtsp://192.168.144.25:8554/main.264" protocols=tcp latency=50 drop-on-latency=true ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 ! rtph265depay ! h265parse ! rtph265pay config-interval=1 pt=96 ! multiudpsink clients="239.255.0.1:5000" sync=false async=false
Receiver
gst-launch-1.0 udpsrc multicast-group=239.255.0.1 port=5000 buffer-size=65536 ! application/x-rtp,encoding-name=H265 ! rtpjitterbuffer latency=20 ! rtph265depay ! avdec_h265 ! videoconvert ! video/x-raw,format=NV12 ! queue max-size-buffers=0 ! autovideosink sync=false