43 lines
1.8 KiB
Go
43 lines
1.8 KiB
Go
package mediaserver
|
|
|
|
// Config represents the MediaMTX configuration file.
|
|
type Config struct {
|
|
LogLevel string `yaml:"logLevel,omitempty"`
|
|
LogDestinations []string `yaml:"logDestinations,omitempty"`
|
|
ReadTimeout string `yaml:"readTimeout,omitempty"`
|
|
WriteTimeout string `yaml:"writeTimeout,omitempty"`
|
|
WriteQueueSize int `yaml:"writeQueueSize,omitempty"`
|
|
UDPMaxPayloadSize int `yaml:"udpMaxPayloadSize,omitempty"`
|
|
AuthMethod string `yaml:"authMethod,omitempty"`
|
|
AuthInternalUsers []User `yaml:"authInternalUsers,omitempty"`
|
|
Metrics bool `yaml:"metrics,omitempty"`
|
|
MetricsAddress string `yaml:"metricsAddress,omitempty"`
|
|
API bool `yaml:"api,omitempty"`
|
|
APIAddr bool `yaml:"apiAddress,omitempty"`
|
|
RTMP bool `yaml:"rtmp,omitempty"`
|
|
RTMPAddress string `yaml:"rtmpAddress,omitempty"`
|
|
HLS bool `yaml:"hls"`
|
|
RTSP bool `yaml:"rtsp"`
|
|
WebRTC bool `yaml:"webrtc"`
|
|
SRT bool `yaml:"srt"`
|
|
Paths map[string]Path `yaml:"paths,omitempty"`
|
|
}
|
|
|
|
// Path represents a path configuration in MediaMTX.
|
|
type Path struct {
|
|
Source string `yaml:"source,omitempty"`
|
|
}
|
|
|
|
// UserPermission represents a user permission in MediaMTX.
|
|
type UserPermission struct {
|
|
Action string `yaml:"action,omitempty"`
|
|
}
|
|
|
|
// User represents a user configuration in MediaMTX.
|
|
type User struct {
|
|
User string `yaml:"user,omitempty"`
|
|
Pass string `yaml:"pass,omitempty"`
|
|
IPs []string `yaml:"ips,omitempty"`
|
|
Permissions []UserPermission `yaml:"permissions,omitempty"`
|
|
}
|