Documentation
¶
Index ¶
- func ListenRtsp(addr string) error
- func NewG711Track(payloadType uint8, law string) *gortsplib.Track
- func NewH265Track(payloadType uint8, sprop [][]byte) *gortsplib.Track
- type AACPayloader
- type H265Payloader
- type RTSPClient
- type RTSPServer
- func (sh *RTSPServer) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx) (*base.Response, error)
- func (sh *RTSPServer) OnConnClose(ctx *gortsplib.ServerHandlerOnConnCloseCtx)
- func (sh *RTSPServer) OnConnOpen(ctx *gortsplib.ServerHandlerOnConnOpenCtx)
- func (sh *RTSPServer) OnDescribe(ctx *gortsplib.ServerHandlerOnDescribeCtx) (*base.Response, *gortsplib.ServerStream, error)
- func (sh *RTSPServer) OnPacketRTP(ctx *gortsplib.ServerHandlerOnPacketRTPCtx)
- func (sh *RTSPServer) OnPlay(ctx *gortsplib.ServerHandlerOnPlayCtx) (*base.Response, error)
- func (sh *RTSPServer) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*base.Response, error)
- func (sh *RTSPServer) OnSessionClose(ctx *gortsplib.ServerHandlerOnSessionCloseCtx)
- func (sh *RTSPServer) OnSessionOpen(ctx *gortsplib.ServerHandlerOnSessionOpenCtx)
- func (sh *RTSPServer) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) (*base.Response, *gortsplib.ServerStream, error)
- type RTSPSubscriber
- type RTSPublisher
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListenRtsp ¶
func NewG711Track ¶
return &gortsplib.Track{
Media: &psdp.MediaDescription{
MediaName: psdp.MediaName{
Media: "audio",
Protos: []string{"RTP", "AVP"},
Formats: []string{typ},
},
Attributes: []psdp.Attribute{
{
Key: "rtpmap",
Value: typ + " mpeg4-generic/" + strconv.FormatInt(int64(conf.SampleRate), 10) +
"/" + strconv.FormatInt(int64(conf.ChannelCount), 10),
},
{
Key: "fmtp",
Value: typ + " profile-level-id=1; " +
"mode=AAC-hbr; " +
"sizelength=6; " +
"indexlength=2; " +
"indexdeltalength=2; " +
"config=" + hex.EncodeToString(mpegConf),
},
},
},
}, nil
}
Types ¶
type H265Payloader ¶
type H265Payloader struct{}
type RTSPClient ¶
type RTSPClient struct {
RTSPublisher
Transport gortsplib.Transport
*gortsplib.Client `json:"-"`
}
func (*RTSPClient) PullStream ¶
func (rtsp *RTSPClient) PullStream(streamPath string, rtspUrl string) (err error)
PullStream 从外部拉流
func (*RTSPClient) PushStream ¶
func (rtsp *RTSPClient) PushStream(streamPath string, rtspUrl string) (err error)
type RTSPServer ¶
接收RTSP推流:OnConnOpen->OnAnnounce->OnSetup->OnSessionOpen 接收RTSP拉流:OnConnOpen->OnDescribe->OnSetup->OnSessionOpen
func (*RTSPServer) OnAnnounce ¶
func (sh *RTSPServer) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx) (*base.Response, error)
called after receiving an ANNOUNCE request.
func (*RTSPServer) OnConnClose ¶
func (sh *RTSPServer) OnConnClose(ctx *gortsplib.ServerHandlerOnConnCloseCtx)
called after a connection is closed.
func (*RTSPServer) OnConnOpen ¶
func (sh *RTSPServer) OnConnOpen(ctx *gortsplib.ServerHandlerOnConnOpenCtx)
called after a connection is opened.
func (*RTSPServer) OnDescribe ¶
func (sh *RTSPServer) OnDescribe(ctx *gortsplib.ServerHandlerOnDescribeCtx) (*base.Response, *gortsplib.ServerStream, error)
called after receiving a DESCRIBE request.
func (*RTSPServer) OnPacketRTP ¶
func (sh *RTSPServer) OnPacketRTP(ctx *gortsplib.ServerHandlerOnPacketRTPCtx)
called after receiving a frame.
func (*RTSPServer) OnPlay ¶
func (sh *RTSPServer) OnPlay(ctx *gortsplib.ServerHandlerOnPlayCtx) (*base.Response, error)
called after receiving a PLAY request.
func (*RTSPServer) OnRecord ¶
func (sh *RTSPServer) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*base.Response, error)
called after receiving a RECORD request.
func (*RTSPServer) OnSessionClose ¶
func (sh *RTSPServer) OnSessionClose(ctx *gortsplib.ServerHandlerOnSessionCloseCtx)
called after a session is closed.
func (*RTSPServer) OnSessionOpen ¶
func (sh *RTSPServer) OnSessionOpen(ctx *gortsplib.ServerHandlerOnSessionOpenCtx)
called after a session is opened.
func (*RTSPServer) OnSetup ¶
func (sh *RTSPServer) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) (*base.Response, *gortsplib.ServerStream, error)
called after receiving a SETUP request.
type RTSPSubscriber ¶
type RTSPSubscriber struct {
engine.Subscriber
// contains filtered or unexported fields
}
type RTSPublisher ¶
type RTSPublisher struct {
*Stream `json:"-"`
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.