A comprehensive RTSP client and server library for Go, supporting secure protocols, tunneling, and a wide range of media codecs.
gortsplib is a Go library that implements the Real Time Streaming Protocol (RTSP) for both client and server applications. It enables developers to build systems that can query, play, and record media streams over networks, solving the need for a native, feature-complete RTSP stack in the Go language. It supports secure variants, multiple transport protocols, and a broad array of audio and video codecs.
Go developers building video streaming applications, media servers, IP camera systems, or any real-time multimedia service that requires RTSP communication. It's particularly relevant for those working on IoT, surveillance, or broadcast streaming projects.
Developers choose gortsplib because it's a comprehensive, production-ready library written purely in Go, eliminating dependencies on external C libraries. Its extensive feature set, adherence to standards, and proven use in projects like MediaMTX provide reliability and performance for complex streaming scenarios.
RTSP client and server library for the Go programming language
Provides both client and server functionalities with support for secure variants like RTSPS and SRTP, as outlined in the protocol features, ensuring comprehensive coverage for streaming applications.
Handles a wide range of video and audio formats including modern codecs like AV1 and Opus, with built-in encoders and decoders for many, per the RTP payload formats table.
Core of the popular MediaMTX media server, indicating it's battle-tested in real-world streaming applications and trusted for production use.
Includes capabilities like pause/seek without disconnect and ONVIF back channels, enhancing usability for complex real-time streaming scenarios, as detailed in the features list.
Locked into the Go ecosystem, making it unsuitable for polyglot projects or teams unfamiliar with Go, forcing a language-specific investment.
Requires deep understanding of RTSP and RTP protocols, as evidenced by the numerous detailed examples needed for basic operations, which can be overwhelming for newcomers.
Focused solely on RTSP; does not natively support other streaming standards like HLS or WebRTC, forcing integration with additional libraries for broader media delivery.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.