U In version 1.19, ffmpeg in the current directory cannot be used automatically, and the path of ffmpeg can be customized

This commit is contained in:
zhangzhonghao
2022-10-31 15:24:09 +08:00
parent f39088dce0
commit a90f7ca856
2 changed files with 18 additions and 11 deletions

22
node.go
View File

@@ -10,11 +10,12 @@ import (
)
type Stream struct {
Node *Node
Label Label
Selector Selector
Type string
Context context.Context
Node *Node
Label Label
Selector Selector
Type string
FfmpegPath string
Context context.Context
}
type RunHook struct {
@@ -27,11 +28,12 @@ type RunHook struct {
func NewStream(node *Node, streamType string, label Label, selector Selector) *Stream {
return &Stream{
Node: node,
Label: label,
Selector: selector,
Type: streamType,
Context: context.Background(),
Node: node,
Label: label,
Selector: selector,
Type: streamType,
FfmpegPath: "ffmpeg",
Context: context.Background(),
}
}

7
run.go
View File

@@ -248,10 +248,15 @@ func SeparateProcessGroup() CompilationOption {
}
}
func (s *Stream) SetFfmpegPath(path string) *Stream {
s.FfmpegPath = path
return s
}
// for test
func (s *Stream) Compile(options ...CompilationOption) *exec.Cmd {
args := s.GetArgs()
cmd := exec.CommandContext(s.Context, "ffmpeg", args...)
cmd := exec.CommandContext(s.Context, s.FfmpegPath, args...)
if a, ok := s.Context.Value("Stdin").(io.Reader); ok {
cmd.Stdin = a
}