owncast/config/defaults.go
Gabe Kangas 19e86b8c04
First pass at centralized database reference. Closes #282 (#289)
* First pass at centralized database reference. Closes #282

* Add verbose logging option to launch.json

* Clear current broadcaster on stream end. Closes #285

* Fix typo in verbose launch args

* Add support for purging tailwind styles. For #224

* Don't need to pass db as param since it is stored

* Commit updated Javascript packages

Co-authored-by: Owncast <owncast@owncast.online>
2020-10-26 08:55:31 -07:00

50 lines
1.2 KiB
Go

package config
import (
"os/exec"
"strings"
log "github.com/sirupsen/logrus"
)
func getDefaults() config {
defaults := config{}
defaults.WebServerPort = 8080
defaults.FFMpegPath = getDefaultFFMpegPath()
defaults.VideoSettings.ChunkLengthInSeconds = 4
defaults.Files.MaxNumberInPlaylist = 5
defaults.YP.Enabled = false
defaults.YP.YPServiceURL = "https://yp.owncast.online"
defaults.DatabaseFilePath = "data/owncast.db"
defaultQuality := StreamQuality{
IsAudioPassthrough: true,
VideoBitrate: 1200,
EncoderPreset: "veryfast",
Framerate: 24,
}
defaults.VideoSettings.StreamQualities = []StreamQuality{defaultQuality}
return defaults
}
func getDefaultFFMpegPath() string {
// First look to see if ffmpeg is in the current working directory
localCopy := "./ffmpeg"
hasLocalCopyError := verifyFFMpegPath(localCopy)
if hasLocalCopyError == nil {
// No error, so all is good. Use the local copy.
return localCopy
}
cmd := exec.Command("which", "ffmpeg")
out, err := cmd.CombinedOutput()
if err != nil {
log.Panicln("Unable to determine path to ffmpeg. Please specify it in the config file.")
}
path := strings.TrimSpace(string(out))
return path
}