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"` }