diff --git a/conf.go b/conf.go index f79e1fccb03..ad5398cbe7c 100644 --- a/conf.go +++ b/conf.go @@ -13,37 +13,37 @@ import ( ) type confPath struct { - Source string `yaml:"source"` - sourceUrl *url.URL - SourceProtocol string `yaml:"sourceProtocol"` - sourceProtocolParsed gortsplib.StreamProtocol - SourceOnDemand bool `yaml:"sourceOnDemand"` - PublishUser string `yaml:"publishUser"` - PublishPass string `yaml:"publishPass"` - PublishIps []string `yaml:"publishIps"` - publishIpsParsed []interface{} - ReadUser string `yaml:"readUser"` - ReadPass string `yaml:"readPass"` - ReadIps []string `yaml:"readIps"` - readIpsParsed []interface{} - RunOnDemand string `yaml:"runOnDemand"` - RunOnPublish string `yaml:"runOnPublish"` - RunOnRead string `yaml:"runOnRead"` + Source string `yaml:"source"` + sourceUrl *url.URL `` + SourceProtocol string `yaml:"sourceProtocol"` + sourceProtocolParsed gortsplib.StreamProtocol `` + SourceOnDemand bool `yaml:"sourceOnDemand"` + RunOnDemand string `yaml:"runOnDemand"` + RunOnPublish string `yaml:"runOnPublish"` + RunOnRead string `yaml:"runOnRead"` + PublishUser string `yaml:"publishUser"` + PublishPass string `yaml:"publishPass"` + PublishIps []string `yaml:"publishIps"` + publishIpsParsed []interface{} `` + ReadUser string `yaml:"readUser"` + ReadPass string `yaml:"readPass"` + ReadIps []string `yaml:"readIps"` + readIpsParsed []interface{} `` } type conf struct { - Protocols []string `yaml:"protocols"` - protocolsParsed map[gortsplib.StreamProtocol]struct{} - RtspPort int `yaml:"rtspPort"` - RtpPort int `yaml:"rtpPort"` - RtcpPort int `yaml:"rtcpPort"` - RunOnConnect string `yaml:"runOnConnect"` - ReadTimeout time.Duration `yaml:"readTimeout"` - WriteTimeout time.Duration `yaml:"writeTimeout"` - AuthMethods []string `yaml:"authMethods"` - authMethodsParsed []gortsplib.AuthMethod - Pprof bool `yaml:"pprof"` - Paths map[string]*confPath `yaml:"paths"` + Protocols []string `yaml:"protocols"` + protocolsParsed map[gortsplib.StreamProtocol]struct{} `` + RtspPort int `yaml:"rtspPort"` + RtpPort int `yaml:"rtpPort"` + RtcpPort int `yaml:"rtcpPort"` + RunOnConnect string `yaml:"runOnConnect"` + ReadTimeout time.Duration `yaml:"readTimeout"` + WriteTimeout time.Duration `yaml:"writeTimeout"` + AuthMethods []string `yaml:"authMethods"` + authMethodsParsed []gortsplib.AuthMethod `` + Pprof bool `yaml:"pprof"` + Paths map[string]*confPath `yaml:"paths"` } func loadConf(fpath string, stdin io.Reader) (*conf, error) { diff --git a/rtsp-simple-server.yml b/rtsp-simple-server.yml index 80496b015f9..6d53b9f6413 100644 --- a/rtsp-simple-server.yml +++ b/rtsp-simple-server.yml @@ -34,6 +34,19 @@ paths: # is connected, saving bandwidth sourceOnDemand: no + # command to run when this path is requested. + # This can be used, for example, to publish a stream on demand. + # This is terminated with SIGINT when the path is not requested anymore. + runOnDemand: + + # command to run when a client starts publishing. + # This is terminated with SIGINT when a client stops publishing. + runOnPublish: + + # command to run when a clients starts reading. + # This is terminated with SIGINT when a client stops reading. + runOnRead: + # username required to publish publishUser: # password required to publish @@ -47,16 +60,3 @@ paths: readPass: # IPs or networks (x.x.x.x/24) allowed to read readIps: [] - - # command to run when this path is requested. - # This can be used, for example, to publish a stream on demand. - # This is terminated with SIGINT when the path is not requested anymore. - runOnDemand: - - # command to run when a client starts publishing. - # This is terminated with SIGINT when a client stops publishing. - runOnPublish: - - # command to run when a clients starts reading. - # This is terminated with SIGINT when a client stops reading. - runOnRead: