gif2cast

package module
v0.0.0-...-c9adafc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2018 License: MIT Imports: 8 Imported by: 0

README

gif2cast - Convert animated gif into asciicast session

What it does

Basically does the opposite of asciicast2gif - turning an animated gif into asciicast file, which also uploading to the asciinema site.

Preview

asciicast

Original file

Usage

Bundled tool
> AC_APIKEY=abcdef-123445 gif2cast animated.gif
or
> gif2cast -o out.cast animated.gif
Library
fp, err := os.Open(fileName)
...
gifImage, err := gif.DecodeAll(fp)
...
width := 80
height := 24
gc := gif2cast.NewGif2Cast(gifImage, 80, 24, "title")
out, err := os.OpenFile(outFilename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
gc.Write(out)
//or
url, err := gc.Upload(APIKEY)
if err != nil {
    fmt.Println("Cannot upload:", err)
    os.Exit(1)
}
fmt.Println(url)

Note

This library is some hobby project I wrote over the weekend so it has a lot of rough edges, e.g.

  • No support on partial frame refresh, it takes every frame in the gif as a full refresh.
  • Does not support disposal methods
  • Does not support loop
  • Bundled tool does not find API automatically
  • Rudimentary optimization to reduce asciicast file size

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Gif2Cast

type Gif2Cast struct {
	// contains filtered or unexported fields
}

Gif2Cast helps with image conversion(resize) and controlling the virtual screen

func NewGif2Cast

func NewGif2Cast(gif *gif.GIF, w, h int, title string) *Gif2Cast

NewGif2Cast creates a new Gif2Cast object

func (*Gif2Cast) Upload

func (gc *Gif2Cast) Upload(apiKey string) (string, error)

Upload the written file to asciinema server

func (*Gif2Cast) Write

func (gc *Gif2Cast) Write(w io.Writer) (err error)

Write writes file content to writer

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL