Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Gif Frame Extractor

Gif Frame Extractor Laravel Package

sybio/gif-frame-extractor

PHP library to extract and split frames from animated GIFs. Read frame durations, colors, dimensions and disposal methods without Imagick, then export frames as separate GIF, JPEG or PNG images for thumbnails, previews or processing.

View on GitHub
Deep Wiki
Context7

PHP class that separates all the frames (and their duration) of an animated GIF

Frequently asked questions about Gif Frame Extractor
What does sybio/gif-frame-extractor do?
sybio/gif-frame-extractor is a single-purpose PHP class that separates an animated GIF into individual frames, exposing frame durations, dimensions, colors, and disposal methods. It also lets you save extracted frames as separate GIF, JPEG, or PNG images. It is framework-agnostic and not a Laravel package, so you call it directly or wrap it in your own service.
How do I install sybio/gif-frame-extractor with Composer?
Install it with composer require sybio/gif-frame-extractor; it lands in vendor/ as the GifFrameExtractor class plus an exception type. There is no Laravel service provider or config to publish. In Laravel, you would typically bind a thin wrapper service in a service provider rather than injecting the vendor class into controllers.
Is sybio/gif-frame-extractor a Laravel package?
No. It is a framework-agnostic PHP library with no service provider, facade, config, or publishable assets. For Laravel, the recommended boundary is an application-level service such as GifFrameExtractorService that hides the vendor class. This keeps the unmaintained dependency swappable and out of your domain code.
Does sybio/gif-frame-extractor require the Imagick PHP extension?
Yes, the technical assessment flags a hard runtime dependency on the Imagick PHP extension and ImageMagick GIF delegates. That is an extension-level constraint on your runtime image, not just a Composer constraint. Verify Imagick availability in every target environment, including shared hosting or restricted PaaS, and have a fallback plan.
Which PHP and Laravel versions work with sybio/gif-frame-extractor?
The library is PHP 5.3-era code, and PHP 8 compatibility is unverified, so you must test against your exact PHP minor version (for example 7.4, 8.1, or 8.2) under E_ALL. Because it is framework-agnostic, Laravel version support depends mainly on your PHP version and integration wrapper. There are no Laravel-specific version constraints in the package itself.
Is sybio/gif-frame-extractor safe for untrusted user-uploaded GIFs?
Treat user-supplied GIFs as attacker-controlled input. ImageMagick coalesces optimized GIFs into full frames in memory, so a small upload can expand into hundreds of MB and cause an uncatchable OOM. Enforce upload size, pixel-dimension, and frame-count limits before decode, run extraction in a queued job with timeouts, and consider disabling extraction behind a feature flag.
How do I use sybio/gif-frame-extractor in a Laravel queued job?
Wrap the library in a service and dispatch an ExtractGifFrames job from your upload flow. The job should validate limits, call extract(), save frames to a configured Laravel Storage disk, and record derived assets for cache invalidation. Set job and process timeouts because extraction is synchronous and in-process, with no async or streaming API.
Can sybio/gif-frame-extractor save frames as PNG or JPEG and read frame durations?
Yes. The API exposes extract(), isAnimated(), getFrames(), getFrameDuration(), getTotalDuration(), and saveFrames(), and it can export frames as separate GIF, JPEG, or PNG images. Frame durations are centisecond-quantized with a 10ms floor, so test accuracy claims rather than assuming them. Use the metadata path if you only need frame count and duration and want to avoid expensive image writes.
What are alternatives to sybio/gif-frame-extractor for GIF frame extraction?
Alternatives include using Imagick directly with coalesceImages, FFmpeg, gifsicle, or a GD-based custom parser. If you only need frame count and duration, a cheaper metadata-only path may be enough. For Laravel teams, a maintained wrapper or a small in-house adapter around FFmpeg or Imagick is often safer than an unmaintained package.
Is sybio/gif-frame-extractor maintained and what license is it under?
It is effectively unmaintained: around 178 GitHub stars, zero Packagist dependents, and no recent meaningful activity, so treat it as vendored code you own. The license is MIT-style, but confirm it from the LICENSE file rather than the README. Pin the version, validate PHP compatibility, and plan a migration path if the library breaks.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource