commit 273e706b49b5ab8fb5f89e7dbc988a441882280a
parent 2fd50cd77ccdb32dcb67917594e395a8fc6f816c
Author: Jack Mordaunt <jackmordaunt@gmail.com>
Date: Wed, 21 Nov 2018 15:30:46 +1300
[+] Use Engine instead of Transcoder.
Diffstat:
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/cmd/cli/main.go b/cmd/cli/main.go
@@ -59,15 +59,20 @@ func main() {
}
videofile = downloaded
}
- t := giffer.Transcoder{
- FFmpeg: "ffmpeg",
- Debug: debug,
- Out: os.Stdout,
+ t := giffer.Engine{
+ FFmpeg: "ffmpeg",
+ Convert: "convert",
+ Debug: debug,
+ Out: os.Stdout,
}
- gif, err := t.Convert(videofile, fps, width, height, "gif", "gif")
+ gif, err := t.Transcode(videofile, 0, 0, width, height, fps)
if err != nil {
log.Fatalf("converting to gif: %v", err)
}
+ if err := t.Crush(gif, 4); err != nil {
+ log.Fatalf("optimising gif: %v", err)
+ }
+ defer t.Clean()
var out io.WriteCloser
if terminal.IsTerminal(int(os.Stdout.Fd())) {
out = os.Stdout
@@ -78,7 +83,12 @@ func main() {
}
}
defer out.Close()
- if _, err := io.Copy(out, gif); err != nil {
+ gifFile, err := os.Open(gif)
+ if err != nil {
+ log.Fatalf("opening gif file: %v", err)
+ }
+ defer gifFile.Close()
+ if _, err := io.Copy(out, gifFile); err != nil {
log.Fatalf("writing gif to file: %v", err)
}
}