|
|
|
@ -46,6 +46,7 @@ type ServerManager struct {
|
|
|
|
|
hlsServerHandler *hls.ServerHandler
|
|
|
|
|
|
|
|
|
|
rtmpServer *rtmp.Server
|
|
|
|
|
rtmpsServer *rtmp.Server
|
|
|
|
|
rtspServer *rtsp.Server
|
|
|
|
|
httpApiServer *HttpApiServer
|
|
|
|
|
pprofServer *http.Server
|
|
|
|
@ -123,6 +124,9 @@ Doc: %s
|
|
|
|
|
if sm.config.RtmpConfig.Enable {
|
|
|
|
|
sm.rtmpServer = rtmp.NewServer(sm.config.RtmpConfig.Addr, sm)
|
|
|
|
|
}
|
|
|
|
|
if sm.config.RtmpsConfig.Enable {
|
|
|
|
|
sm.rtmpsServer = rtmp.NewServer(sm.config.RtmpsConfig.Addr, sm)
|
|
|
|
|
}
|
|
|
|
|
if sm.config.RtspConfig.Enable {
|
|
|
|
|
sm.rtspServer = rtsp.NewServer(sm.config.RtspConfig.Addr, sm, sm.config.RtspConfig.ServerAuthConfig)
|
|
|
|
|
}
|
|
|
|
@ -210,14 +214,8 @@ func (sm *ServerManager) RunLoop() error {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if sm.rtmpServer != nil {
|
|
|
|
|
if sm.config.RtmpConfig.EnableRtmps {
|
|
|
|
|
if err := sm.rtmpServer.ListenWithTLS(sm.config.RtmpConfig.RtmpsCertFile, sm.config.RtmpConfig.RtmpsKeyFile); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if err := sm.rtmpServer.Listen(); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
if err := sm.rtmpServer.Listen(); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
go func() {
|
|
|
|
|
if err := sm.rtmpServer.RunLoop(); err != nil {
|
|
|
|
@ -226,6 +224,17 @@ func (sm *ServerManager) RunLoop() error {
|
|
|
|
|
}()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if sm.rtmpsServer != nil {
|
|
|
|
|
if err := sm.rtmpServer.ListenWithTLS(sm.config.RtmpsConfig.CertFile, sm.config.RtmpsConfig.KeyFile); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
go func() {
|
|
|
|
|
if err := sm.rtmpsServer.RunLoop(); err != nil {
|
|
|
|
|
Log.Error(err)
|
|
|
|
|
}
|
|
|
|
|
}()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if sm.rtspServer != nil {
|
|
|
|
|
if err := sm.rtspServer.Listen(); err != nil {
|
|
|
|
|
return err
|
|
|
|
|