node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

gif-explode

gif-explode Flattr this!experimental

Pipe a GIF buffer in, get its individual frames out.

Currently using gifsicle to explode the frames, and as such it has to write them to disk before they're read out as streams again. Certainly not ideal, but it works!

Usage

gif-explode

require('gif-explode')(frameCreated)

Returns a writable stream. Pipe your GIF file into this, and frameCreated will be called with readable stream instances for each frame:

var gif = require('gif-explode')
var fs = require('fs')
 
fs.createReadStream('doge.gif')
  .pipe(gif(function(frame) {
    frame.pipe(fs.createWriteStream(
      'doge-frame-' + i + '.gif'
    ))
  }))

License

MIT. See LICENSE.md for details.