giffer

Create .gif images from sites like youtube.com
Log | Files | Refs | LICENSE

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:
Mcmd/cli/main.go | 22++++++++++++++++------
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) } }