Detect animated GIFs from JavaScript buffers.
npm i animated-gif-detector
Given a readable stream or a buffer directly, determine if a buffer of data is an animated GIF. This helps determine if a document contains cat pics or LOLz.
This module is intended to be used as a Writable stream:
var fs = require('fs')
, animated = require('animated-gif-detector')
;
fs.createReadStream('file.gif')
.pipe(animated())
.on('animated', function() {
console.log('detected animation!');
});
;
Particularly, you may want to determine animate as early as possible in a given HTTP request, and abort the request as soon as you know:
var http = require('http')
, animated = require('animated-gif-detector')
;
var req = http.get('http://domain.com/file.gif')
.pipe(animated())
.once('animated', function() {
req.abort();
// do something else!
})
;
If an img is loaded as a buffer directly, a sync function is also available:
var fs = require('fs')
, animated = require('animated-gif-detector')
;
animated(fs.readFileSync('file.gif')) // => true!
This should work as a client-side package if Browersified.
npm test
runs the tests.
Please contribute weird animated GIFs to the repository to add to the test cases.