Popularity
6.2
Growing
Activity
9.5
Growing
270
9
82
Programming language: Go
License: MIT License
Tags:
Video
gortsplib alternatives and similar packages
Based on the "Video" category.
Alternatively, view gortsplib alternatives based on common mentions on social networks and blogs.
-
M3U8
Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema: -
go-astisub
Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.) -
libvlc-go
Go bindings for libVLC and high-level media player interface -
gst
Go bindings for GStreamer (retired: currently I don't use/develop this package) -
go-m3u8
Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Golang (ported from gem https://github.com/sethdeckard/m3u8) -
go-mpd
Go library for parsing and generating MPEG-DASH Media Presentation Description (MPD) files -
golibnotify
Go bindings for libnotify -- Create and update OS notifications in linux
Clean code begins in your IDE with SonarLint
Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
Promo
www.sonarlint.org
Do you think we are missing an alternative of gortsplib or a related project?
Popular Comparisons
README
gortsplib
RTSP 1.0 client and server library for the Go programming language, written for rtsp-simple-server.
Go ≥ 1.16 is required.
Features:
- Client
- Query servers about available streams
- Read
- Read streams from servers with the UDP, UDP-multicast or TCP transport protocols
- Read streams encrypted with TLS
- Switch protocol automatically (switch to TCP in case of server error or UDP timeout)
- Read only selected tracks of a stream
- Pause or seek without disconnecting from the server
- Generate RTCP receiver reports automatically
- Publish
- Publish streams to servers with the UDP or TCP transport protocols
- Publish streams encrypted with TLS
- Switch protocol automatically (switch to TCP in case of server error)
- Pause without disconnecting from the server
- Generate RTCP sender reports automatically
- Server
- Handle requests from clients
- Sessions and connections are independent
- Write streams to clients with the UDP, UDP-multicast or TCP transport protocols
- Write streams to clients encrypted with TLS
- Read streams from clients with the UDP or TCP transport protocols
- Write streams to clients encrypted with TLS
- Provide SSRC, RTP-Info to clients automatically
- Generate RTCP receiver reports automatically
- Utilities
- Encode and decode RTSP primitives, RTP/H264, RTP/AAC, SDP
Table of contents
Examples
- [client-query](examples/client-query/main.go)
- [client-read](examples/client-read/main.go)
- [client-read-partial](examples/client-read-partial/main.go)
- [client-read-options](examples/client-read-options/main.go)
- [client-read-pause](examples/client-read-pause/main.go)
- [client-read-h264](examples/client-read-h264/main.go)
- [client-read-h264-convert-to-jpeg](examples/client-read-h264-convert-to-jpeg/main.go)
- [client-read-h264-save-to-disk](examples/client-read-h264-save-to-disk/main.go)
- [client-read-aac](examples/client-read-aac/main.go)
- [client-read-republish](examples/client-read-republish/main.go)
- [client-publish-h264](examples/client-publish-h264/main.go)
- [client-publish-pcmu](examples/client-publish-pcmu/main.go)
- [client-publish-aac](examples/client-publish-aac/main.go)
- [client-publish-opus](examples/client-publish-opus/main.go)
- [client-publish-options](examples/client-publish-options/main.go)
- [client-publish-pause](examples/client-publish-pause/main.go)
- [server](examples/server/main.go)
- [server-tls](examples/server-tls/main.go)
API Documentation
https://pkg.go.dev/github.com/aler9/gortsplib#pkg-index
Links
Related projects
- https://github.com/aler9/rtsp-simple-server
- https://github.com/pion/sdp (SDP library used internally)
- https://github.com/pion/rtcp (RTCP library used internally)
- https://github.com/pion/rtp (RTP library used internally)
IETF Standards
- RTSP 1.0 https://tools.ietf.org/html/rfc2326
- RTSP 2.0 https://tools.ietf.org/html/rfc7826
- HTTP 1.1 https://tools.ietf.org/html/rfc2616
Conventions