RTSP 1.0 client and server library for the Go programming language, written for rtsp-simple-server.
Go ≥ 1.15 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
- client-query
- client-read
- client-read-partial
- client-read-options
- client-read-pause
- client-read-h264
- client-read-h264-convert-to-jpeg
- client-read-h264-save-to-disk
- client-read-aac
- client-read-republish
- client-publish-h264
- client-publish-pcmu
- client-publish-aac
- client-publish-opus
- client-publish-options
- client-publish-pause
- server
- server-tls
https://pkg.go.dev/github.com/Coimbra1984/gortsplib#pkg-index
Related projects
- https://github.com/Coimbra1984/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