Fixed config handler

This commit is contained in:
frr
2019-01-15 14:36:52 +01:00
parent e29085bab4
commit 33bbff0197
3 changed files with 23 additions and 12 deletions

View File

@@ -2,7 +2,6 @@ package ffmpeg
import ( import (
"bytes" "bytes"
"os/exec"
"strings" "strings"
"github.com/xfrr/goffmpeg/utils" "github.com/xfrr/goffmpeg/utils"
@@ -22,18 +21,12 @@ func Configure() (Configuration, error) {
execFFmpegCommand := utils.GetFFmpegExec() execFFmpegCommand := utils.GetFFmpegExec()
execFFprobeCommand := utils.GetFFprobeExec() execFFprobeCommand := utils.GetFFprobeExec()
cmdFFmpeg := exec.Command(execFFmpegCommand[0], execFFmpegCommand[1]) outFFmpeg, err := utils.TestCmd(execFFmpegCommand[0], execFFmpegCommand[1])
cmdProbe := exec.Command(execFFprobeCommand[0], execFFprobeCommand[1])
cmdFFmpeg.Stdout = &outFFmpeg
cmdProbe.Stdout = &outProbe
err := cmdFFmpeg.Run()
if err != nil { if err != nil {
return Configuration{}, err return Configuration{}, err
} }
err = cmdProbe.Run() outProbe, err = utils.TestCmd(execFFprobeCommand[0], execFFprobeCommand[1])
if err != nil { if err != nil {
return Configuration{}, err return Configuration{}, err
} }

View File

@@ -90,7 +90,6 @@ func (t *Transcoder) Initialize(inputPath string, outputPath string) error {
if len(cfg.FfmpegBin) == 0 || len(cfg.FfprobeBin) == 0 { if len(cfg.FfmpegBin) == 0 || len(cfg.FfprobeBin) == 0 {
cfg, err = ffmpeg.Configure() cfg, err = ffmpeg.Configure()
if err != nil { if err != nil {
fmt.Println(err)
return err return err
} }
} }
@@ -111,7 +110,7 @@ func (t *Transcoder) Initialize(inputPath string, outputPath string) error {
err = cmd.Run() err = cmd.Run()
if err != nil { if err != nil {
return fmt.Errorf("Failed FFPROBE (%s) with %s, message %s", command, err, out.String()) return fmt.Errorf("error executing (%s) | error: %s", command, err)
} }
if err = json.Unmarshal([]byte(out.String()), &Metadata); err != nil { if err = json.Unmarshal([]byte(out.String()), &Metadata); err != nil {

View File

@@ -1,10 +1,13 @@
package utils package utils
import ( import (
"github.com/xfrr/goffmpeg/models" "bytes"
"os/exec"
"runtime" "runtime"
"strconv" "strconv"
"strings" "strings"
"github.com/xfrr/goffmpeg/models"
) )
func DurToSec(dur string) (sec float64) { func DurToSec(dur string) (sec float64) {
@@ -72,3 +75,19 @@ func LineSeparator() string {
return "\n" return "\n"
} }
} }
// TestCmd ...
func TestCmd(command string, args string) (bytes.Buffer, error) {
var out bytes.Buffer
cmd := exec.Command(command, args)
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
return out, err
}
return out, nil
}