mirror of
https://github.com/xfrr/goffmpeg.git
synced 2025-10-18 22:04:32 +08:00
Fixed config handler
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user