Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. gortsplib

gortsplib

MITGo

A comprehensive RTSP client and server library for Go, supporting secure protocols, tunneling, and a wide range of media codecs.

GitHubGitHub
909 stars261 forks0 contributors

What is gortsplib?

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.

Target Audience

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.

Value Proposition

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.

Overview

RTSP client and server library for the Go programming language

Use Cases

Best For

  • Building custom RTSP media servers in Go
  • Creating RTSP client applications to consume IP camera streams
  • Developing video proxy or gateway services
  • Implementing secure (RTSPS/SRTP) streaming pipelines
  • Handling ONVIF-compliant camera back channels
  • Processing and transcoding multiple video/audio codecs in real-time

Not Ideal For

  • Projects built in programming languages other than Go
  • Applications needing adaptive bitrate streaming for web browsers (e.g., HLS, DASH)
  • Teams looking for a configuration-only media server without custom development

Pros & Cons

Pros

Complete RTSP Implementation

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.

Extensive Codec Support

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.

Production-Proven Reliability

Core of the popular MediaMTX media server, indicating it's battle-tested in real-world streaming applications and trusted for production use.

Advanced Streaming Features

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.

Cons

Go-Only Dependency

Locked into the Go ecosystem, making it unsuitable for polyglot projects or teams unfamiliar with Go, forcing a language-specific investment.

Steep Learning Curve

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.

Limited Protocol Scope

Focused solely on RTSP; does not natively support other streaming standards like HLS or WebRTC, forcing integration with additional libraries for broader media delivery.

Frequently Asked Questions

Quick Stats

Stars909
Forks261
Contributors0
Open Issues14
Last commit8 hours ago
CreatedSince 2020

Tags

#media-server#go-library#network-protocols#golang#rtp#h264#video-streaming#go#rtsp

Built With

G
Go

Included in

Go169.1k
Auto-fetched 8 hours ago

Related Projects

goavgoav

Golang bindings for FFmpeg (This repository is no longer maintained)

Stars2,137
Forks360
Last commit4 years ago
gmfgmf

Go Media Framework

Stars931
Forks171
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub