6ea9affce0
* WIP with new transcoder progress monitor * A whole different WIP in progress monitoring via local PUTs * Use an actual hls playlist parser to rewrite master playlist * Cleanup * Private vs public path for thumbnail generation * Allow each storage provider to make decisions of how to store different types of files * Simplify inbound file writes * Revert * Split out set stream as connected/disconnected state methods * Update videojs * Add comment about the hls handler * Rework of the offline stream state. For #85 * Delete old unreferenced video segment files from disk * Cleanup all segments and revert to a completely offline state after 5min * Stop thumbnail generation on stream stop. Copy logo to thumbnail on cleanup. * Update transcoder test * Add comment * Return http 200 on success to transcoder. Tweak how files are written to disk * Force pixel color format in transcoder * Add debugging info for S3 transfers. Add default ACL. * Fix cleanup timer * Reset session stats when we cleanup the session. * Put log file back * Update test * File should not be a part of this commit * Add centralized shared performance timer for use anywhere * Post-rebase cleanup * Support returning nil from storage provider save * Updates to reflect package changes + other updates in master * Fix storage providers being overwritten * Do not return pointer in save. Support cache headers with S3 providers * Split out videojs + vhs and point to specific working versions of them * Bump vjs and vhs versions * Fix test * Remove unused * Update upload warning message * No longer valid comment * Pin videojs and vhs versions
42 lines
976 B
Go
42 lines
976 B
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.VideoSettings.OfflineContent = "static/offline.m4v"
|
|
defaults.YP.Enabled = false
|
|
defaults.YP.YPServiceURL = "https://yp.owncast.online"
|
|
|
|
defaultQuality := StreamQuality{
|
|
IsAudioPassthrough: true,
|
|
VideoBitrate: 1200,
|
|
EncoderPreset: "veryfast",
|
|
Framerate: 24,
|
|
}
|
|
defaults.VideoSettings.StreamQualities = []StreamQuality{defaultQuality}
|
|
|
|
return defaults
|
|
}
|
|
|
|
func getDefaultFFMpegPath() string {
|
|
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
|
|
}
|