Support default path of ffmpeg and not needing to specify it in the config

This commit is contained in:
Gabe Kangas 2020-07-13 14:32:12 -07:00
parent 5b0eb8834f
commit 51e2e68017
4 changed files with 21 additions and 14 deletions

View file

@ -1,6 +1,5 @@
publicHLSPath: webroot/hls
privateHLSPath: hls
ffmpegPath: /usr/bin/ffmpeg
webServerPort: 8080
instanceDetails:

View file

@ -2,8 +2,9 @@ package config
import (
"errors"
"fmt"
"io/ioutil"
"os/exec"
"strings"
"github.com/gabek/owncast/utils"
log "github.com/sirupsen/logrus"
@ -132,19 +133,26 @@ func (c *config) verifySettings() error {
}
}
// if !fileExists(config.PrivateHLSPath) {
// os.MkdirAll(path.Join(config.PrivateHLSPath, strconv.Itoa(0)), 0777)
// }
return nil
}
// if !fileExists(config.PublicHLSPath) {
// os.MkdirAll(path.Join(config.PublicHLSPath, strconv.Itoa(0)), 0777)
// }
if !utils.DoesFileExists(c.FFMpegPath) {
return fmt.Errorf("ffmpeg does not exist at: %s", c.FFMpegPath)
func (c *config) GetFFMpegPath() string {
if c.FFMpegPath != "" {
return c.FFMpegPath
}
return nil
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))
// Memoize it for future access
c.FFMpegPath = path
return path
}
//Load tries to load the configuration file

View file

@ -72,7 +72,7 @@ func fireThumbnailGenerator(chunkPath string, variantIndex int) error {
mostRecentFile := path.Join(framePath, names[0])
thumbnailCmdFlags := []string{
config.Config.FFMpegPath,
config.Config.GetFFMpegPath(),
"-y", // Overwrite file
"-threads 1", // Low priority processing
"-t 1", // Pull from frame 1

View file

@ -104,7 +104,7 @@ func (t *Transcoder) getString() string {
ffmpegFlags := []string{
"cat", t.input, "|",
config.Config.FFMpegPath,
config.Config.GetFFMpegPath(),
"-hide_banner",
"-i pipe:",
t.getVariantsString(),