mirror of
https://github.com/xfrr/goffmpeg.git
synced 2025-10-17 05:20:45 +08:00
Fixed config handler
This commit is contained in:
@@ -2,7 +2,6 @@ package ffmpeg
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/xfrr/goffmpeg/utils"
|
||||
@@ -22,18 +21,12 @@ func Configure() (Configuration, error) {
|
||||
execFFmpegCommand := utils.GetFFmpegExec()
|
||||
execFFprobeCommand := utils.GetFFprobeExec()
|
||||
|
||||
cmdFFmpeg := exec.Command(execFFmpegCommand[0], execFFmpegCommand[1])
|
||||
cmdProbe := exec.Command(execFFprobeCommand[0], execFFprobeCommand[1])
|
||||
|
||||
cmdFFmpeg.Stdout = &outFFmpeg
|
||||
cmdProbe.Stdout = &outProbe
|
||||
|
||||
err := cmdFFmpeg.Run()
|
||||
outFFmpeg, err := utils.TestCmd(execFFmpegCommand[0], execFFmpegCommand[1])
|
||||
if err != nil {
|
||||
return Configuration{}, err
|
||||
}
|
||||
|
||||
err = cmdProbe.Run()
|
||||
outProbe, err = utils.TestCmd(execFFprobeCommand[0], execFFprobeCommand[1])
|
||||
if err != nil {
|
||||
return Configuration{}, err
|
||||
}
|
||||
|
@@ -90,7 +90,6 @@ func (t *Transcoder) Initialize(inputPath string, outputPath string) error {
|
||||
if len(cfg.FfmpegBin) == 0 || len(cfg.FfprobeBin) == 0 {
|
||||
cfg, err = ffmpeg.Configure()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -111,7 +110,7 @@ func (t *Transcoder) Initialize(inputPath string, outputPath string) error {
|
||||
|
||||
err = cmd.Run()
|
||||
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 {
|
||||
|
@@ -1,10 +1,13 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/xfrr/goffmpeg/models"
|
||||
"bytes"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/xfrr/goffmpeg/models"
|
||||
)
|
||||
|
||||
func DurToSec(dur string) (sec float64) {
|
||||
@@ -72,3 +75,19 @@ func LineSeparator() string {
|
||||
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
|
||||
}
|
||||
|
Reference in New Issue
Block a user