Documentation ¶
Overview ¶
Package gortsplib is a RTSP 1.0 library for the Go programming language, written for rtsp-simple-server.
Examples are available at https://github.com/bluenviron/gortsplib/tree/main/examples
Index ¶
- type Client
- func (c *Client) Announce(u *url.URL, medias media.Medias) (*base.Response, error)
- func (c *Client) Close() error
- func (c *Client) Describe(u *url.URL) (media.Medias, *url.URL, *base.Response, error)
- func (c *Client) OnPacketRTCP(medi *media.Media, cb func(rtcp.Packet))
- func (c *Client) OnPacketRTCPAny(cb func(*media.Media, rtcp.Packet))
- func (c *Client) OnPacketRTP(medi *media.Media, forma formats.Format, cb func(*rtp.Packet))
- func (c *Client) OnPacketRTPAny(cb func(*media.Media, formats.Format, *rtp.Packet))
- func (c *Client) Options(u *url.URL) (*base.Response, error)
- func (c *Client) Pause() (*base.Response, error)
- func (c *Client) Play(ra *headers.Range) (*base.Response, error)
- func (c *Client) Record() (*base.Response, error)
- func (c *Client) Seek(ra *headers.Range) (*base.Response, error)
- func (c *Client) Setup(media *media.Media, baseURL *url.URL, rtpPort int, rtcpPort int) (*base.Response, error)
- func (c *Client) SetupAll(medias media.Medias, baseURL *url.URL) error
- func (c *Client) Start(scheme string, host string) error
- func (c *Client) StartRecording(address string, medias media.Medias) error
- func (c *Client) Wait() error
- func (c *Client) WritePacketRTCP(medi *media.Media, pkt rtcp.Packet) error
- func (c *Client) WritePacketRTP(medi *media.Media, pkt *rtp.Packet) error
- func (c *Client) WritePacketRTPWithNTP(medi *media.Media, pkt *rtp.Packet, ntp time.Time) error
- type ClientLogFuncdeprecated
- type LogLeveldeprecated
- type Server
- type ServerConn
- type ServerHandler
- type ServerHandlerOnAnnounce
- type ServerHandlerOnAnnounceCtx
- type ServerHandlerOnConnClose
- type ServerHandlerOnConnCloseCtx
- type ServerHandlerOnConnOpen
- type ServerHandlerOnConnOpenCtx
- type ServerHandlerOnDecodeError
- type ServerHandlerOnDecodeErrorCtx
- type ServerHandlerOnDescribe
- type ServerHandlerOnDescribeCtx
- type ServerHandlerOnGetParameter
- type ServerHandlerOnGetParameterCtx
- type ServerHandlerOnPacketLost
- type ServerHandlerOnPacketLostCtx
- type ServerHandlerOnPause
- type ServerHandlerOnPauseCtx
- type ServerHandlerOnPlay
- type ServerHandlerOnPlayCtx
- type ServerHandlerOnRecord
- type ServerHandlerOnRecordCtx
- type ServerHandlerOnRequest
- type ServerHandlerOnResponse
- type ServerHandlerOnSessionClose
- type ServerHandlerOnSessionCloseCtx
- type ServerHandlerOnSessionOpen
- type ServerHandlerOnSessionOpenCtx
- type ServerHandlerOnSetParameter
- type ServerHandlerOnSetParameterCtx
- type ServerHandlerOnSetup
- type ServerHandlerOnSetupCtx
- type ServerHandlerOnWarningdeprecated
- type ServerHandlerOnWarningCtxdeprecated
- type ServerSession
- func (ss *ServerSession) AnnouncedMedias() media.Medias
- func (ss *ServerSession) BytesReceived() uint64
- func (ss *ServerSession) BytesSent() uint64
- func (ss *ServerSession) Close() error
- func (ss *ServerSession) OnPacketRTCP(medi *media.Media, cb func(rtcp.Packet))
- func (ss *ServerSession) OnPacketRTCPAny(cb func(*media.Media, rtcp.Packet))
- func (ss *ServerSession) OnPacketRTP(medi *media.Media, forma formats.Format, cb func(*rtp.Packet))
- func (ss *ServerSession) OnPacketRTPAny(cb func(*media.Media, formats.Format, *rtp.Packet))
- func (ss *ServerSession) SetUserData(v interface{})
- func (ss *ServerSession) SetuppedMedias() media.Medias
- func (ss *ServerSession) SetuppedTransport() *Transport
- func (ss *ServerSession) State() ServerSessionState
- func (ss *ServerSession) UserData() interface{}
- func (ss *ServerSession) WritePacketRTCP(medi *media.Media, pkt rtcp.Packet)
- func (ss *ServerSession) WritePacketRTP(medi *media.Media, pkt *rtp.Packet)
- type ServerSessionState
- type ServerStream
- func (st *ServerStream) Close() error
- func (st *ServerStream) Medias() media.Medias
- func (st *ServerStream) WritePacketRTCP(medi *media.Media, pkt rtcp.Packet)
- func (st *ServerStream) WritePacketRTP(medi *media.Media, pkt *rtp.Packet)
- func (st *ServerStream) WritePacketRTPWithNTP(medi *media.Media, pkt *rtp.Packet, ntp time.Time)
- type Transport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { // // RTSP parameters (all optional) // // timeout of read operations. // It defaults to 10 seconds. ReadTimeout time.Duration // timeout of write operations. // It defaults to 10 seconds. WriteTimeout time.Duration // a TLS configuration to connect to TLS (RTSPS) servers. // It defaults to nil. TLSConfig *tls.Config // disable being redirected to other servers, that can happen during Describe(). // It defaults to false. RedirectDisable bool // enable communication with servers which don't provide server ports or use // different server ports than the ones announced. // This can be a security issue. // It defaults to false. AnyPortEnable bool // transport protocol (UDP, Multicast or TCP). // If nil, it is chosen automatically (first UDP, then, if it fails, TCP). // It defaults to nil. Transport *Transport // If the client is reading with UDP, it must receive // at least a packet within this timeout, otherwise it switches to TCP. // It defaults to 3 seconds. InitialUDPReadTimeout time.Duration // read buffer count. // If greater than 1, allows to pass buffers to routines different than the one // that is reading frames. // It defaults to 256. ReadBufferCount int // write buffer count. // It allows to queue packets before sending them. // It defaults to 256. WriteBufferCount int // user agent header // It defaults to "gortsplib" UserAgent string // disable automatic RTCP sender reports. DisableRTCPSenderReports bool // pointer to a variable that stores received bytes. BytesReceived *uint64 // pointer to a variable that stores sent bytes. BytesSent *uint64 // // system functions (all optional) // // function used to initialize the TCP client. // It defaults to (&net.Dialer{}).DialContext. DialContext func(ctx context.Context, network, address string) (net.Conn, error) // function used to initialize UDP listeners. // It defaults to net.ListenPacket. ListenPacket func(network, address string) (net.PacketConn, error) // // callbacks (all optional) // // called before every request. OnRequest func(*base.Request) // called after every response. OnResponse func(*base.Response) // called when the transport protocol changes. OnTransportSwitch func(err error) // called when the client detects lost packets. OnPacketLost func(err error) // called when a non-fatal decode error occurs. OnDecodeError func(err error) // Deprecated: replaced by OnTransportSwitch, OnPacketLost, OnDecodeError Log ClientLogFunc // contains filtered or unexported fields }
Client is a RTSP client.
func (*Client) OnPacketRTCP ¶
OnPacketRTCP sets the callback that is called when a RTCP packet is read.
func (*Client) OnPacketRTCPAny ¶
OnPacketRTCPAny sets the callback that is called when a RTCP packet is read from any setupped media.
func (*Client) OnPacketRTP ¶
OnPacketRTP sets the callback that is called when a RTP packet is read.
func (*Client) OnPacketRTPAny ¶
OnPacketRTPAny sets the callback that is called when a RTP packet is read from any setupped media.
func (*Client) Pause ¶
Pause writes a PAUSE request and reads a Response. This can be called only after Play() or Record().
func (*Client) Play ¶
Play writes a PLAY request and reads a Response. This can be called only after Setup().
func (*Client) Record ¶
Record writes a RECORD request and reads a Response. This can be called only after Announce() and Setup().
func (*Client) Setup ¶
func (c *Client) Setup( media *media.Media, baseURL *url.URL, rtpPort int, rtcpPort int, ) (*base.Response, error)
Setup writes a SETUP request and reads a Response. rtpPort and rtcpPort are used only if transport is UDP. if rtpPort and rtcpPort are zero, they are chosen automatically.
func (*Client) StartRecording ¶
StartRecording connects to the address and starts publishing given media.
func (*Client) Wait ¶
Wait waits until all client resources are closed. This can happen when a fatal error occurs or when Close() is called.
func (*Client) WritePacketRTCP ¶
WritePacketRTCP writes a RTCP packet to the media stream.
func (*Client) WritePacketRTP ¶
WritePacketRTP writes a RTP packet to the media stream.
type ClientLogFunc
deprecated
added in
v3.1.0
type Server ¶
type Server struct { // // RTSP parameters (all optional except RTSPAddress) // // the RTSP address of the server, to accept connections and send and receive // packets with the TCP transport. RTSPAddress string // a port to send and receive RTP packets with the UDP transport. // If UDPRTPAddress and UDPRTCPAddress are filled, the server can support the UDP transport. UDPRTPAddress string // a port to send and receive RTCP packets with the UDP transport. // If UDPRTPAddress and UDPRTCPAddress are filled, the server can support the UDP transport. UDPRTCPAddress string // a range of multicast IPs to use with the UDP-multicast transport. // If MulticastIPRange, MulticastRTPPort, MulticastRTCPPort are filled, the server // can support the UDP-multicast transport. MulticastIPRange string // a port to send RTP packets with the UDP-multicast transport. // If MulticastIPRange, MulticastRTPPort, MulticastRTCPPort are filled, the server // can support the UDP-multicast transport. MulticastRTPPort int // a port to send RTCP packets with the UDP-multicast transport. // If MulticastIPRange, MulticastRTPPort, MulticastRTCPPort are filled, the server // can support the UDP-multicast transport. MulticastRTCPPort int // timeout of read operations. // It defaults to 10 seconds ReadTimeout time.Duration // timeout of write operations. // It defaults to 10 seconds WriteTimeout time.Duration // a TLS configuration to accept TLS (RTSPS) connections. TLSConfig *tls.Config // read buffer count. // If greater than 1, allows to pass buffers to routines different than the one // that is reading frames. // It also allows to buffer routed frames and mitigate network fluctuations // that are particularly relevant when using UDP. // It defaults to 256. ReadBufferCount int // write buffer count. // It allows to queue packets before sending them. // It defaults to 256. WriteBufferCount int // disable automatic RTCP sender reports. DisableRTCPSenderReports bool // // handler (optional) // // an handler to handle server events. // It may implement one or more of the ServerHandler* interfaces. Handler ServerHandler // // system functions (all optional) // // function used to initialize the TCP listener. // It defaults to net.Listen. Listen func(network string, address string) (net.Listener, error) // function used to initialize UDP listeners. // It defaults to net.ListenPacket. ListenPacket func(network, address string) (net.PacketConn, error) // contains filtered or unexported fields }
Server is a RTSP server.
func (*Server) StartAndWait ¶
StartAndWait starts the server and waits until a fatal error.
type ServerConn ¶
type ServerConn struct {
// contains filtered or unexported fields
}
ServerConn is a server-side RTSP connection.
func (*ServerConn) BytesReceived ¶
func (sc *ServerConn) BytesReceived() uint64
BytesReceived returns the number of read bytes.
func (*ServerConn) BytesSent ¶
func (sc *ServerConn) BytesSent() uint64
BytesSent returns the number of written bytes.
func (*ServerConn) NetConn ¶
func (sc *ServerConn) NetConn() net.Conn
NetConn returns the underlying net.Conn.
func (*ServerConn) SetUserData ¶
func (sc *ServerConn) SetUserData(v interface{})
SetUserData sets some user data associated to the connection.
func (*ServerConn) UserData ¶
func (sc *ServerConn) UserData() interface{}
UserData returns some user data associated to the connection.
type ServerHandler ¶
type ServerHandler interface{}
ServerHandler is the interface implemented by all the server handlers.
type ServerHandlerOnAnnounce ¶
type ServerHandlerOnAnnounce interface { // called when receiving an ANNOUNCE request. OnAnnounce(*ServerHandlerOnAnnounceCtx) (*base.Response, error) }
ServerHandlerOnAnnounce can be implemented by a ServerHandler.
type ServerHandlerOnAnnounceCtx ¶
type ServerHandlerOnAnnounceCtx struct { Server *Server Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string Medias media.Medias }
ServerHandlerOnAnnounceCtx is the context of OnAnnounce.
type ServerHandlerOnConnClose ¶
type ServerHandlerOnConnClose interface { // called when a connection is closed. OnConnClose(*ServerHandlerOnConnCloseCtx) }
ServerHandlerOnConnClose can be implemented by a ServerHandler.
type ServerHandlerOnConnCloseCtx ¶
type ServerHandlerOnConnCloseCtx struct { Conn *ServerConn Error error }
ServerHandlerOnConnCloseCtx is the context of OnConnClose.
type ServerHandlerOnConnOpen ¶
type ServerHandlerOnConnOpen interface { // called when a connection is opened. OnConnOpen(*ServerHandlerOnConnOpenCtx) }
ServerHandlerOnConnOpen can be implemented by a ServerHandler.
type ServerHandlerOnConnOpenCtx ¶
type ServerHandlerOnConnOpenCtx struct {
Conn *ServerConn
}
ServerHandlerOnConnOpenCtx is the context of OnConnOpen.
type ServerHandlerOnDecodeError ¶ added in v3.1.0
type ServerHandlerOnDecodeError interface { // called when a non-fatal decode error occurs. OnDecodeError(*ServerHandlerOnDecodeErrorCtx) }
ServerHandlerOnDecodeError can be implemented by a ServerHandler.
type ServerHandlerOnDecodeErrorCtx ¶ added in v3.1.0
type ServerHandlerOnDecodeErrorCtx struct { Session *ServerSession Error error }
ServerHandlerOnDecodeErrorCtx is the context of OnDecodeError.
type ServerHandlerOnDescribe ¶
type ServerHandlerOnDescribe interface { // called when receiving a DESCRIBE request. OnDescribe(*ServerHandlerOnDescribeCtx) (*base.Response, *ServerStream, error) }
ServerHandlerOnDescribe can be implemented by a ServerHandler.
type ServerHandlerOnDescribeCtx ¶
type ServerHandlerOnDescribeCtx struct { Conn *ServerConn Request *base.Request Path string Query string }
ServerHandlerOnDescribeCtx is the context of OnDescribe.
type ServerHandlerOnGetParameter ¶
type ServerHandlerOnGetParameter interface { // called when receiving a GET_PARAMETER request. OnGetParameter(*ServerHandlerOnGetParameterCtx) (*base.Response, error) }
ServerHandlerOnGetParameter can be implemented by a ServerHandler.
type ServerHandlerOnGetParameterCtx ¶
type ServerHandlerOnGetParameterCtx struct { Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string }
ServerHandlerOnGetParameterCtx is the context of OnGetParameter.
type ServerHandlerOnPacketLost ¶ added in v3.1.0
type ServerHandlerOnPacketLost interface { // called when the server detects lost packets. OnPacketLost(*ServerHandlerOnPacketLostCtx) }
ServerHandlerOnPacketLost can be implemented by a ServerHandler.
type ServerHandlerOnPacketLostCtx ¶ added in v3.1.0
type ServerHandlerOnPacketLostCtx struct { Session *ServerSession Error error }
ServerHandlerOnPacketLostCtx is the context of OnPacketLost.
type ServerHandlerOnPause ¶
type ServerHandlerOnPause interface { // called when receiving a PAUSE request. OnPause(*ServerHandlerOnPauseCtx) (*base.Response, error) }
ServerHandlerOnPause can be implemented by a ServerHandler.
type ServerHandlerOnPauseCtx ¶
type ServerHandlerOnPauseCtx struct { Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string }
ServerHandlerOnPauseCtx is the context of OnPause.
type ServerHandlerOnPlay ¶
type ServerHandlerOnPlay interface { // called when receiving a PLAY request. OnPlay(*ServerHandlerOnPlayCtx) (*base.Response, error) }
ServerHandlerOnPlay can be implemented by a ServerHandler.
type ServerHandlerOnPlayCtx ¶
type ServerHandlerOnPlayCtx struct { Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string }
ServerHandlerOnPlayCtx is the context of OnPlay.
type ServerHandlerOnRecord ¶
type ServerHandlerOnRecord interface { // called when receiving a RECORD request. OnRecord(*ServerHandlerOnRecordCtx) (*base.Response, error) }
ServerHandlerOnRecord can be implemented by a ServerHandler.
type ServerHandlerOnRecordCtx ¶
type ServerHandlerOnRecordCtx struct { Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string }
ServerHandlerOnRecordCtx is the context of OnRecord.
type ServerHandlerOnRequest ¶
type ServerHandlerOnRequest interface { // called before every request. OnRequest(*ServerConn, *base.Request) }
ServerHandlerOnRequest can be implemented by a ServerHandler.
type ServerHandlerOnResponse ¶
type ServerHandlerOnResponse interface { // called after every response. OnResponse(*ServerConn, *base.Response) }
ServerHandlerOnResponse can be implemented by a ServerHandler.
type ServerHandlerOnSessionClose ¶
type ServerHandlerOnSessionClose interface { // called when a session is closed. OnSessionClose(*ServerHandlerOnSessionCloseCtx) }
ServerHandlerOnSessionClose can be implemented by a ServerHandler.
type ServerHandlerOnSessionCloseCtx ¶
type ServerHandlerOnSessionCloseCtx struct { Session *ServerSession Error error }
ServerHandlerOnSessionCloseCtx is the context of ServerHandlerOnSessionClose.
type ServerHandlerOnSessionOpen ¶
type ServerHandlerOnSessionOpen interface { // called when a session is opened. OnSessionOpen(*ServerHandlerOnSessionOpenCtx) }
ServerHandlerOnSessionOpen can be implemented by a ServerHandler.
type ServerHandlerOnSessionOpenCtx ¶
type ServerHandlerOnSessionOpenCtx struct { Session *ServerSession Conn *ServerConn }
ServerHandlerOnSessionOpenCtx is the context OnSessionOpen.
type ServerHandlerOnSetParameter ¶
type ServerHandlerOnSetParameter interface { // called when receiving a SET_PARAMETER request. OnSetParameter(*ServerHandlerOnSetParameterCtx) (*base.Response, error) }
ServerHandlerOnSetParameter can be implemented by a ServerHandler.
type ServerHandlerOnSetParameterCtx ¶
type ServerHandlerOnSetParameterCtx struct { Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string }
ServerHandlerOnSetParameterCtx is the context of OnSetParameter.
type ServerHandlerOnSetup ¶
type ServerHandlerOnSetup interface { // called when receiving a SETUP request. // must return a Response and a stream. // the stream is needed to // - add the session the the stream's readers // - send the stream SSRC to the session OnSetup(*ServerHandlerOnSetupCtx) (*base.Response, *ServerStream, error) }
ServerHandlerOnSetup can be implemented by a ServerHandler.
type ServerHandlerOnSetupCtx ¶
type ServerHandlerOnSetupCtx struct { Server *Server Session *ServerSession Conn *ServerConn Request *base.Request Path string Query string Transport Transport }
ServerHandlerOnSetupCtx is the context of OnSetup.
type ServerHandlerOnWarning
deprecated
type ServerHandlerOnWarning interface {
OnWarning(*ServerHandlerOnWarningCtx)
}
ServerHandlerOnWarning can be implemented by a ServerHandler.
Deprecated: replaced by OnPacketLost, OnDecodeError.
type ServerHandlerOnWarningCtx
deprecated
type ServerHandlerOnWarningCtx struct { Session *ServerSession Error error }
ServerHandlerOnWarningCtx is the context of OnWarning.
Deprecated: ServerHandlerOnWarning is deprecated.
type ServerSession ¶
type ServerSession struct {
// contains filtered or unexported fields
}
ServerSession is a server-side RTSP session.
func (*ServerSession) AnnouncedMedias ¶
func (ss *ServerSession) AnnouncedMedias() media.Medias
AnnouncedMedias returns the announced medias.
func (*ServerSession) BytesReceived ¶
func (ss *ServerSession) BytesReceived() uint64
BytesReceived returns the number of read bytes.
func (*ServerSession) BytesSent ¶
func (ss *ServerSession) BytesSent() uint64
BytesSent returns the number of written bytes.
func (*ServerSession) Close ¶
func (ss *ServerSession) Close() error
Close closes the ServerSession.
func (*ServerSession) OnPacketRTCP ¶
func (ss *ServerSession) OnPacketRTCP(medi *media.Media, cb func(rtcp.Packet))
OnPacketRTCP sets the callback that is called when a RTCP packet is read.
func (*ServerSession) OnPacketRTCPAny ¶
func (ss *ServerSession) OnPacketRTCPAny(cb func(*media.Media, rtcp.Packet))
OnPacketRTCPAny sets the callback that is called when a RTCP packet is read from any setupped media.
func (*ServerSession) OnPacketRTP ¶
OnPacketRTP sets the callback that is called when a RTP packet is read.
func (*ServerSession) OnPacketRTPAny ¶
OnPacketRTPAny sets the callback that is called when a RTP packet is read from any setupped media.
func (*ServerSession) SetUserData ¶
func (ss *ServerSession) SetUserData(v interface{})
SetUserData sets some user data associated to the session.
func (*ServerSession) SetuppedMedias ¶
func (ss *ServerSession) SetuppedMedias() media.Medias
SetuppedMedias returns the setupped medias.
func (*ServerSession) SetuppedTransport ¶
func (ss *ServerSession) SetuppedTransport() *Transport
SetuppedTransport returns the transport negotiated during SETUP.
func (*ServerSession) State ¶
func (ss *ServerSession) State() ServerSessionState
State returns the state of the session.
func (*ServerSession) UserData ¶
func (ss *ServerSession) UserData() interface{}
UserData returns some user data associated to the session.
func (*ServerSession) WritePacketRTCP ¶
func (ss *ServerSession) WritePacketRTCP(medi *media.Media, pkt rtcp.Packet)
WritePacketRTCP writes a RTCP packet to the session.
func (*ServerSession) WritePacketRTP ¶
func (ss *ServerSession) WritePacketRTP(medi *media.Media, pkt *rtp.Packet)
WritePacketRTP writes a RTP packet to the session.
type ServerSessionState ¶
type ServerSessionState int
ServerSessionState is a state of a ServerSession.
const ( ServerSessionStateInitial ServerSessionState = iota ServerSessionStatePrePlay ServerSessionStatePlay ServerSessionStatePreRecord ServerSessionStateRecord )
states.
func (ServerSessionState) String ¶
func (s ServerSessionState) String() string
String implements fmt.Stringer.
type ServerStream ¶
type ServerStream struct {
// contains filtered or unexported fields
}
ServerStream represents a data stream. This is in charge of - distributing the stream to each reader - allocating multicast listeners - gathering infos about the stream in order to generate SSRC and RTP-Info
func NewServerStream ¶
func NewServerStream(medias media.Medias) *ServerStream
NewServerStream allocates a ServerStream.
func (*ServerStream) Medias ¶
func (st *ServerStream) Medias() media.Medias
Medias returns the medias of the stream.
func (*ServerStream) WritePacketRTCP ¶
func (st *ServerStream) WritePacketRTCP(medi *media.Media, pkt rtcp.Packet)
WritePacketRTCP writes a RTCP packet to all the readers of the stream.
func (*ServerStream) WritePacketRTP ¶
func (st *ServerStream) WritePacketRTP(medi *media.Media, pkt *rtp.Packet)
WritePacketRTP writes a RTP packet to all the readers of the stream.
func (*ServerStream) WritePacketRTPWithNTP ¶
WritePacketRTPWithNTP writes a RTP packet to all the readers of the stream. ntp is the absolute time of the packet, and is needed to generate RTCP sender reports that allows the receiver to reconstruct the absolute time of the packet.
Source Files ¶
- async_processor.go
- client.go
- client_conn_closer.go
- client_format.go
- client_media.go
- client_reader.go
- client_udp_listener.go
- constants.go
- empty_timer.go
- loglevel.go
- restrict_network.go
- server.go
- server_conn.go
- server_conn_reader.go
- server_handler.go
- server_multicast_writer.go
- server_session.go
- server_session_format.go
- server_session_media.go
- server_stream.go
- server_stream_format.go
- server_stream_media.go
- server_tcp_listener.go
- server_udp_listener.go
- transport.go
Directories ¶
Path | Synopsis |
---|---|
examples
|
|
pkg
|
|
auth
Package auth contains utilities to perform authentication.
|
Package auth contains utilities to perform authentication. |
base
Package base contains the primitives of the RTSP protocol.
|
Package base contains the primitives of the RTSP protocol. |
bytecounter
Package bytecounter contains a io.ReadWriter wrapper that allows to count read and written bytes.
|
Package bytecounter contains a io.ReadWriter wrapper that allows to count read and written bytes. |
conn
Package conn contains a RTSP connection implementation.
|
Package conn contains a RTSP connection implementation. |
formats
Package formats contains RTP format definitions, decoders and encoders.
|
Package formats contains RTP format definitions, decoders and encoders. |
formats/rtpav1
Package rtpav1 contains a RTP/AV1 decoder and encoder.
|
Package rtpav1 contains a RTP/AV1 decoder and encoder. |
formats/rtph264
Package rtph264 contains a RTP/H264 decoder and encoder.
|
Package rtph264 contains a RTP/H264 decoder and encoder. |
formats/rtph265
Package rtph265 contains a RTP/H265 decoder and encoder.
|
Package rtph265 contains a RTP/H265 decoder and encoder. |
formats/rtplpcm
Package rtplpcm contains a RTP/LPCM decoder and encoder.
|
Package rtplpcm contains a RTP/LPCM decoder and encoder. |
formats/rtpmjpeg
Package rtpmjpeg contains a RTP/M-JPEG decoder and encoder.
|
Package rtpmjpeg contains a RTP/M-JPEG decoder and encoder. |
formats/rtpmjpeg/headers
Package headers contains RTP/M-JPEG headers.
|
Package headers contains RTP/M-JPEG headers. |
formats/rtpmpeg2audio
Package rtpmpeg2audio contains a RTP/MPEG-1/2 Audio decoder and encoder.
|
Package rtpmpeg2audio contains a RTP/MPEG-1/2 Audio decoder and encoder. |
formats/rtpmpeg4audio
Package rtpmpeg4audio contains a RTP/MPEG-4 Audio decoder and encoder.
|
Package rtpmpeg4audio contains a RTP/MPEG-4 Audio decoder and encoder. |
formats/rtpmpeg4audiogeneric
Package rtpmpeg4audiogeneric contains a RTP/MPEG-4 Audio decoder and encoder.
|
Package rtpmpeg4audiogeneric contains a RTP/MPEG-4 Audio decoder and encoder. |
formats/rtpmpeg4audiolatm
Package rtpmpeg4audiolatm contains a RTP/MPEG-4 Audio decoder and encoder.
|
Package rtpmpeg4audiolatm contains a RTP/MPEG-4 Audio decoder and encoder. |
formats/rtpmpeg4video
Package rtpmpeg4video contains a RTP/MPEG-4 Video decoder and encoder.
|
Package rtpmpeg4video contains a RTP/MPEG-4 Video decoder and encoder. |
formats/rtpsimpleaudio
Package rtpsimpleaudio contains a RTP decoder and encoder for audio codecs that fit in a single packet.
|
Package rtpsimpleaudio contains a RTP decoder and encoder for audio codecs that fit in a single packet. |
formats/rtpvp8
Package rtpvp8 contains a RTP/VP8 decoder and encoder.
|
Package rtpvp8 contains a RTP/VP8 decoder and encoder. |
formats/rtpvp9
Package rtpvp9 contains a RTP/VP9 decoder and encoder.
|
Package rtpvp9 contains a RTP/VP9 decoder and encoder. |
headers
Package headers contains various RTSP headers.
|
Package headers contains various RTSP headers. |
liberrors
Package liberrors contains errors returned by the library.
|
Package liberrors contains errors returned by the library. |
media
Package media contains the media stream definition.
|
Package media contains the media stream definition. |
multibuffer
Package multibuffer contains a buffer with multiple levels.
|
Package multibuffer contains a buffer with multiple levels. |
ringbuffer
Package ringbuffer contains a ring buffer.
|
Package ringbuffer contains a ring buffer. |
rtcpreceiver
Package rtcpreceiver contains a utility to generate RTCP receiver reports.
|
Package rtcpreceiver contains a utility to generate RTCP receiver reports. |
rtcpsender
Package rtcpsender contains a utility to generate RTCP sender reports.
|
Package rtcpsender contains a utility to generate RTCP sender reports. |
rtplossdetector
Package rtplossdetector implements an algorithm that detects lost packets.
|
Package rtplossdetector implements an algorithm that detects lost packets. |
rtpreorderer
Package rtpreorderer implements a filter to reorder incoming RTP packets.
|
Package rtpreorderer implements a filter to reorder incoming RTP packets. |
rtptime
Package rtptime contains a RTP timestamp decoder and encoder.
|
Package rtptime contains a RTP timestamp decoder and encoder. |
sdp
Package sdp contains a SDP encoder/decoder compatible with most RTSP implementations.
|
Package sdp contains a SDP encoder/decoder compatible with most RTSP implementations. |
url
Package url contains the URL structure.
|
Package url contains the URL structure. |