Overview of gortsplib features
maingortsplib is an RTSP client and server library for the Go programming language. It is designed for high-performance media streaming and is used by projects like MediaMTX.
Client Capabilities
- Security: Supports RTSPS, SRTP, and SRTCP.
- Tunneling: Supports RTSP-over-HTTP and RTSP-over-WebSocket.
- Stream Management: Query available media, read streams ("play") using UDP, UDP-multicast, or TCP, and write streams ("record") using UDP or TCP. It features automatic transport protocol switching.
- Control: Supports pausing, seeking, and writing to ONVIF back channels without disconnecting.
- Metadata: Provides access to PTS (presentation timestamp) and NTP (absolute timestamp) for inbound packets.
Server Capabilities
- Security: Supports RTSPS, SRTP, and SRTCP.
- Tunneling: Supports RTSP-over-HTTP and RTSP-over-WebSocket.
- Client Handling: Validates credentials and handles requests from clients.
- Media Handling: Can read streams from clients ("record") and serve streams to clients ("play"). It can compute SSRC and RTP-Info and read ONVIF back channels.
Utilities
- Parses RTSP elements.
- Encodes/decodes RTP packets into/from codec-specific frames.