Categorygithub.com/kuartis/gortsplib_go
modulepackage
0.0.0-20220322123737-684fe4771458
Repository: https://github.com/kuartis/gortsplib_go.git
Documentation: pkg.go.dev

# README

gortsplib

Test Lint Go Report Card CodeCov PkgGoDev

COPIED PROJECT FROM:

Project is copied from user https://github.com/aler9, from project https://github.com/aler9

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

Table of contents

Examples

API Documentation

https://pkg.go.dev/github.com/aler9/gortsplib#pkg-index

Links

Related projects

IETF Standards

Conventions

# Packages

No description provided by the author
No description provided by the author

# Functions

NewServerStream allocates a ServerStream.
NewTrackAAC allocates a TrackAAC.
NewTrackGeneric allocates a generic track.
NewTrackH264 allocates a TrackH264.
NewTrackOpus allocates a TrackOpus.
ReadTracks decodes tracks from the SDP format.

# Constants

standard states.
standard states.
standard states.
standard states.
standard states.
standard transport protocols.
standard transport protocols.
standard transport protocols.

# Structs

Client is a RTSP client.
Server is a RTSP server.
ServerConn is a server-side RTSP connection.
ServerHandlerOnAnnounceCtx is the context of an ANNOUNCE request.
ServerHandlerOnConnCloseCtx is the context of a connection closure.
ServerHandlerOnConnOpenCtx is the context of a connection opening.
ServerHandlerOnDescribeCtx is the context of a DESCRIBE request.
ServerHandlerOnGetParameterCtx is the context of a GET_PARAMETER request.
ServerHandlerOnPacketRTCPCtx is the context of a RTCP packet.
ServerHandlerOnPacketRTPCtx is the context of a RTP packet.
ServerHandlerOnPauseCtx is the context of a PAUSE request.
ServerHandlerOnPlayCtx is the context of a PLAY request.
ServerHandlerOnRecordCtx is the context of a RECORD request.
ServerHandlerOnSessionCloseCtx is the context of a session closure.
ServerHandlerOnSessionOpenCtx is the context of a session opening.
ServerHandlerOnSetParameterCtx is the context of a SET_PARAMETER request.
ServerHandlerOnSetupCtx is the context of a OPTIONS request.
ServerSession is a server-side RTSP session.
ServerSessionAnnouncedTrack is an announced track of a ServerSession.
ServerSessionSetuppedTrack is a setupped track of a ServerSession.
ServerStream represents a single stream.
TrackAAC is an AAC track.
TrackGeneric is a generic track.
TrackH264 is a H264 track.
TrackOpus is a Opus track.

# Interfaces

ServerHandler is the interface implemented by all the server handlers.
ServerHandlerOnAnnounce can be implemented by a ServerHandler.
ServerHandlerOnConnClose can be implemented by a ServerHandler.
ServerHandlerOnConnOpen can be implemented by a ServerHandler.
ServerHandlerOnDescribe can be implemented by a ServerHandler.
ServerHandlerOnGetParameter can be implemented by a ServerHandler.
ServerHandlerOnPacketRTCP can be implemented by a ServerHandler.
ServerHandlerOnPacketRTP can be implemented by a ServerHandler.
ServerHandlerOnPause can be implemented by a ServerHandler.
ServerHandlerOnPlay can be implemented by a ServerHandler.
ServerHandlerOnRecord can be implemented by a ServerHandler.
ServerHandlerOnRequest can be implemented by a ServerHandler.
ServerHandlerOnResponse can be implemented by a ServerHandler.
ServerHandlerOnSessionClose can be implemented by a ServerHandler.
ServerHandlerOnSessionOpen can be implemented by a ServerHandler.
ServerHandlerOnSetParameter can be implemented by a ServerHandler.
ServerHandlerOnSetup can be implemented by a ServerHandler.
Track is a RTSP track.

# Type aliases

ServerSessionState is a state of a ServerSession.
Tracks is a list of tracks.
Transport is a RTSP transport protocol.