Files
stash/pkg/ffmpeg/encoder_screenshot.go
2019-10-09 06:15:00 +02:00

33 lines
666 B
Go

package ffmpeg
import "fmt"
type ScreenshotOptions struct {
OutputPath string
Quality int
Time float64
Width int
Verbosity string
}
func (e *Encoder) Screenshot(probeResult VideoFile, options ScreenshotOptions) {
if options.Verbosity == "" {
options.Verbosity = "quiet"
}
if options.Quality == 0 {
options.Quality = 1
}
args := []string{
"-v " + options.Verbosity,
fmt.Sprintf("-ss %v", options.Time),
"-y",
"-i \"" + probeResult.Path + "\"",
"-vframes 1",
fmt.Sprintf("-q:v %v", options.Quality),
fmt.Sprintf("-vf scale=%v:-1", options.Width),
"-f image2",
options.OutputPath,
}
_, _ = e.run(probeResult, args)
}