New RTSP source plugin with live streaming support
GST_PLUGIN_FEATURE_RANK=rtspsrc2:1 gst-play-1.0 [URI]
Features:
- Live streaming N audio and N video
- With RTCP-based A/V sync
- Lower transports: TCP, UDP, UDP-Multicast
- RTP, RTCP SR, RTCP RR
- OPTIONS DESCRIBE SETUP PLAY TEARDOWN
- Custom UDP socket management, does not use
udpsrc
/udpsink
- Supports both rtpbin and the rtpbin2 rust rewrite
- Set
USE_RTPBIN2=1
to use rtpbin2 (needs !1426 (merged))
- Set
- Properties:
- protocols selection and priority (NEW!)
- location supports
rtsp[ut]://
- port-start instead of port-range
Co-Authored-by: @tpm
Please see net/rtsp/README.md
for more details! I've copied some of it below:
Rust rewrite of rtspsrc, with the purpose of fixing the fundamentally broken architecture of rtspsrc. There are some major problems with rtspsrc:
- Element states are linked to RTSP states, which causes unfixable glitching and issues, especially in shared RTSP media
- The command loop is fundamentally broken and buggy, which can cause RTSP commands such as
SET_PARAMETER
andGET_PARAMETER
to be lost - The combination of the above two causes unfixable deadlocks when seeking
- Parsing of untrusted RTSP messages from the network was done in C with the
GstRTSPMessage
API. - Parsing of untrusted SDP from the network was done in C with the
GstSDPMessage
API
Edited by Nirbheek Chauhan