Create hls directories at transcoder start to account for stream output changes. Fixes #940

This commit is contained in:
Gabe Kangas 2021-04-15 21:34:51 -07:00
parent 05c3c9c7f7
commit 543577c2e0
3 changed files with 37 additions and 26 deletions

View File

@ -4,7 +4,6 @@ import (
"os"
"path"
"path/filepath"
"strconv"
log "github.com/sirupsen/logrus"
@ -132,31 +131,6 @@ func resetDirectories() {
// Remove the previous thumbnail
os.Remove(filepath.Join(config.WebRoot, "thumbnail.jpg"))
// Create private hls data dirs
if len(data.GetStreamOutputVariants()) != 0 {
for index := range data.GetStreamOutputVariants() {
err = os.MkdirAll(path.Join(config.PrivateHLSStoragePath, strconv.Itoa(index)), 0777)
if err != nil {
log.Fatalln(err)
}
err = os.MkdirAll(path.Join(config.PublicHLSStoragePath, strconv.Itoa(index)), 0777)
if err != nil {
log.Fatalln(err)
}
}
} else {
err = os.MkdirAll(path.Join(config.PrivateHLSStoragePath, strconv.Itoa(0)), 0777)
if err != nil {
log.Fatalln(err)
}
err = os.MkdirAll(path.Join(config.PublicHLSStoragePath, strconv.Itoa(0)), 0777)
if err != nil {
log.Fatalln(err)
}
}
// Remove the previous thumbnail
logo := data.GetLogoPath()
err = utils.Copy(path.Join("data", logo), "webroot/thumbnail.jpg")

View File

@ -87,6 +87,7 @@ func (t *Transcoder) Start() {
command := t.getString()
log.Infof("Video transcoder started using %s with %d stream variants.", t.codec.DisplayName(), len(t.variants))
createVariantDirectories()
if config.EnableDebugFeatures {
log.Println(command)

View File

@ -1,9 +1,14 @@
package transcoder
import (
"os"
"path"
"strconv"
"strings"
"sync"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/data"
log "github.com/sirupsen/logrus"
)
@ -79,3 +84,34 @@ func handleTranscoderMessage(message string) {
_lastTranscoderLogMessage = message
}
func createVariantDirectories() {
// Create private hls data dirs
if len(data.GetStreamOutputVariants()) != 0 {
for index := range data.GetStreamOutputVariants() {
err := os.MkdirAll(path.Join(config.PrivateHLSStoragePath, strconv.Itoa(index)), 0777)
if err != nil {
log.Fatalln(err)
}
dir := path.Join(config.PublicHLSStoragePath, strconv.Itoa(index))
log.Traceln("Creating", dir)
err = os.MkdirAll(dir, 0777)
if err != nil {
log.Fatalln(err)
}
}
} else {
dir := path.Join(config.PrivateHLSStoragePath, strconv.Itoa(0))
log.Traceln("Creating", dir)
err := os.MkdirAll(dir, 0777)
if err != nil {
log.Fatalln(err)
}
dir = path.Join(config.PublicHLSStoragePath, strconv.Itoa(0))
log.Traceln("Creating", dir)
err = os.MkdirAll(dir, 0777)
if err != nil {
log.Fatalln(err)
}
}
}