mirror of
https://github.com/u2takey/ffmpeg-go.git
synced 2025-09-26 20:11:17 +08:00
get ffprobe error from stderr
Signed-off-by: lee <lixiang12407@gmail.com>
This commit is contained in:
5
probe.go
5
probe.go
@@ -3,6 +3,7 @@ package ffmpeg_go
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"time"
|
||||
)
|
||||
@@ -33,13 +34,15 @@ func ProbeWithTimeoutExec(fileName string, timeOut time.Duration, kwargs KwArgs)
|
||||
}
|
||||
cmd := exec.CommandContext(ctx, "ffprobe", args...)
|
||||
buf := bytes.NewBuffer(nil)
|
||||
stdErrBuf := bytes.NewBuffer(nil)
|
||||
cmd.Stdout = buf
|
||||
cmd.Stderr = stdErrBuf
|
||||
for _, option := range GlobalCommandOptions {
|
||||
option(cmd)
|
||||
}
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
return "", err
|
||||
return "", fmt.Errorf("[%s] %w", string(stdErrBuf.Bytes()), err)
|
||||
}
|
||||
return string(buf.Bytes()), nil
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ package ffmpeg_go
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"os/exec"
|
||||
"time"
|
||||
@@ -37,10 +38,12 @@ func ProbeReaderWithTimeoutExec(r io.Reader, timeOut time.Duration, kwargs KwArg
|
||||
cmd := exec.CommandContext(ctx, "ffprobe", args...)
|
||||
cmd.Stdin = r
|
||||
buf := bytes.NewBuffer(nil)
|
||||
stdErrBuf := bytes.NewBuffer(nil)
|
||||
cmd.Stdout = buf
|
||||
cmd.Stderr = stdErrBuf
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
return "", err
|
||||
return "", fmt.Errorf("[%s] %w", string(stdErrBuf.Bytes()), err)
|
||||
}
|
||||
return string(buf.Bytes()), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user