package config import ( "time" "github.com/owncast/owncast/models" ) // Defaults will hold default configuration values. type Defaults struct { Name string Title string Summary string ServerWelcomeMessage string Logo string Tags []string PageBodyContent string DatabaseFilePath string WebServerPort int WebServerIP string RTMPServerPort int StreamKey string YPEnabled bool YPServer string SegmentLengthSeconds int SegmentsInPlaylist int StreamVariants []models.StreamOutputVariant FederationUsername string FederationGoLiveMessage string ChatEstablishedUserModeTimeDuration time.Duration } // GetDefaults will return default configuration values. func GetDefaults() Defaults { return Defaults{ Name: "Owncast", Title: "My Owncast Server", Summary: "This is brief summary of whom you are or what your stream is. You can edit this description in the admin.", ServerWelcomeMessage: "", Logo: "logo.svg", Tags: []string{ "owncast", "streaming", }, PageBodyContent: "# This is your page content that can be edited from the admin.", DatabaseFilePath: "data/owncast.db", YPEnabled: false, YPServer: "https://directory.owncast.online", WebServerPort: 8080, WebServerIP: "0.0.0.0", RTMPServerPort: 1935, StreamKey: "abc123", ChatEstablishedUserModeTimeDuration: time.Minute * 15, StreamVariants: []models.StreamOutputVariant{ { IsAudioPassthrough: true, VideoBitrate: 1200, Framerate: 24, CPUUsageLevel: 2, }, }, FederationUsername: "streamer", FederationGoLiveMessage: "I've gone live!", } }