Create hls directories at transcoder start to account for stream output changes. Fixes #940
This commit is contained in:
26
core/core.go
26
core/core.go
@@ -4,7 +4,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
|
||||||
|
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
|
|
||||||
@@ -132,31 +131,6 @@ func resetDirectories() {
|
|||||||
// Remove the previous thumbnail
|
// Remove the previous thumbnail
|
||||||
os.Remove(filepath.Join(config.WebRoot, "thumbnail.jpg"))
|
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
|
// Remove the previous thumbnail
|
||||||
logo := data.GetLogoPath()
|
logo := data.GetLogoPath()
|
||||||
err = utils.Copy(path.Join("data", logo), "webroot/thumbnail.jpg")
|
err = utils.Copy(path.Join("data", logo), "webroot/thumbnail.jpg")
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ func (t *Transcoder) Start() {
|
|||||||
|
|
||||||
command := t.getString()
|
command := t.getString()
|
||||||
log.Infof("Video transcoder started using %s with %d stream variants.", t.codec.DisplayName(), len(t.variants))
|
log.Infof("Video transcoder started using %s with %d stream variants.", t.codec.DisplayName(), len(t.variants))
|
||||||
|
createVariantDirectories()
|
||||||
|
|
||||||
if config.EnableDebugFeatures {
|
if config.EnableDebugFeatures {
|
||||||
log.Println(command)
|
log.Println(command)
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
package transcoder
|
package transcoder
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
"github.com/owncast/owncast/config"
|
||||||
|
"github.com/owncast/owncast/core/data"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -79,3 +84,34 @@ func handleTranscoderMessage(message string) {
|
|||||||
|
|
||||||
_lastTranscoderLogMessage = message
|
_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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user