gifduration.py
This script takes one or more animated GIF files as input and calculates their total durations, returning zero for non-animated GIF files.
Requirements
Just run pip install -r requirements.txt
, preferably outside a virtual environment if you want this script available system-wide.
Installation
Clone the repository to some appropriate folder and symlink gifduration.py
into your PATH, for example:
ln -s ~/Code/gifduration/gifduration.py /usr/local/bin/gifduration
You may also have to make it executable:
chmod +x /usr/local/bin/gifduration
Usage
To get the duration of an animated GIF file, supply it as an argument:
gifduration atom-heart-mother.gif
This will return something like:
atom-heart-mother.gif:
Total duration: 2000 ms (2.00 seconds)
---
To also get the duration of each frame, use the --verbose
(or -v
) flag:
gifduration --verbose atom-heart-mother.gif
This will return something like:
atom-heart-mother.gif:
Frame 1: 30 ms (0.03 seconds)
Frame 2: 80 ms (0.08 seconds)
Frame 3: 30 ms (0.03 seconds)
[…]
Total duration: 2000 ms (2.00 seconds)
---
You can get the durations of several animated GIF files at once just by supplying all of them as arguments, for example:
gifduration atom-heart-mother.gif meddle.gif a-saucerful-of-secrets.gif
This will return something like:
atom-heart-mother.gif:
Total duration: 2000 ms (2.00 seconds)
---
meddle.gif:
Total duration: 100 ms (0.10 seconds)
---
a-saucerful-of-secrets.gif:
Total duration: 0 ms (0.00 seconds)
---
GIF files that are not animated will return a duration of zero. All other file types will return the message Not a GIF image
.
Website
Go here for a simple web service carrying out pretty much the same thing.