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

Getid3 Laravel Package

phansys/getid3

phansys/getid3 is a PHP wrapper around the getID3 library for extracting metadata from audio and video files, including ID3 tags, duration, bitrate, dimensions, and codec details. Useful for media uploads, cataloging, and validating files in Laravel or any Composer project.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: Poor for a modern Laravel application. phansys/getid3 is a Symfony2-era bundle that wraps the GetId3 library and emulates PSR-0 autoloading. Laravel expects PSR-4 packages, package discovery, and framework-native service providers. The package’s value is almost entirely in the underlying GetId3 media-metadata library, not in the Symfony integration layer. A TPM should treat this as a legacy wrapper, not a strategic Laravel dependency.

Integration feasibility: Composer installation is likely possible, but Laravel will not auto-discover or natively consume the Symfony bundle. Integration would require manual wiring, a custom Laravel service provider, or direct use of the underlying GetId3 classes. Because the package has 30 stars, zero dependents, and an unasserted license (NOASSERTION), both technical and legal diligence are required before adoption.

Technical risk: High. Risks include abandoned or low-maintenance status, unclear PHP/Laravel compatibility, legacy PSR-0 conventions, unknown Symfony2 coupling, and license ambiguity. GetId3 itself parses untrusted media files, so memory exhaustion, timeouts, malformed-file handling, and parser security are real concerns. The package adds little Laravel-specific value and increases dependency surface.

Key questions:

  • What media metadata do we actually need: duration, codec, dimensions, ID3 tags, or all of the above?
  • Can we use the maintained upstream GetId3 library directly instead of this wrapper?
  • What PHP and Laravel versions must be supported, and has this package been tested against them?
  • What is the license status, and has legal approved use?
  • Will metadata parsing run synchronously or in queued jobs?
  • What file-size, timeout, and memory limits are acceptable?
  • Is there an active maintainer or internal owner for this dependency?

Integration Approach

Stack fit: Weak as a Laravel package. The Symfony2 bundle model does not map cleanly to Laravel’s service container, config publishing, or package discovery. If the product needs media metadata extraction, the better fit is the underlying GetId3 library wrapped in a small internal adapter. The phansys/getid3 package should be considered only if it provides a proven wrapper behavior we cannot replicate cheaply.

Migration path: Start with a short technical spike: install the package in a disposable Laravel application, verify autoloading, instantiate the GetId3 analyzer, and test against representative media files. In parallel, test the upstream GetId3 library directly. If both work, prefer the direct library and isolate it behind an internal MediaMetadataExtractor interface. If the package is required, wrap it behind that same interface so it can be replaced without touching product code.

Compatibility: Confirm PHP version constraints, Laravel version support, PSR-0 autoload behavior, and Symfony dependency footprint. Expect manual service-provider registration rather than Laravel auto-discovery. Check whether Composer resolves cleanly alongside current Laravel dependencies and whether the package pulls in legacy Symfony components that conflict with the application.

Sequencing:

  1. Legal review of NOASSERTION license.
  2. Technical spike against real media samples.
  3. Compare direct GetId3 usage vs. the wrapper.
  4. Define an internal adapter interface.
  5. Implement queued, bounded metadata extraction.
  6. Add feature tests for corrupt, large, and unsupported files.
  7. Roll out behind a feature flag with fallback behavior.
  8. Monitor failures and memory usage before broad adoption.

Operational Impact

Maintenance: High burden relative to value. The package has low community validation, no dependents, and a legacy Symfony2 orientation. If adopted, the team should expect to own patching, compatibility testing, and possibly forking. Prefer the upstream GetId3 library, which has broader usage and clearer ownership.

Support: Community support is thin. There is no large dependent ecosystem to surface fixes or compatibility reports. Internal documentation, pinned versions, and a named owner are required. Avoid relying on the package’s Symfony bundle conventions for Laravel support.

Scaling: Metadata extraction is CPU- and I/O-bound and scales with file size and media complexity. Run extraction in background workers, cap file sizes, set timeouts, and avoid parsing untrusted uploads synchronously in web requests. Horizontal scaling is feasible if workers are stateless and storage is shared, but large media can create memory pressure and queue backlog.

Failure modes: Corrupt or malformed media, unsupported containers/codecs, PHP warnings from legacy code, memory exhaustion, execution timeouts, inaccurate or missing metadata, Composer dependency conflicts, and license/compliance blockers. Design for graceful degradation: return a safe “metadata unavailable” result, quarantine suspicious files, and avoid failing the entire upload flow when extraction fails.

Ramp-up: Low conceptual complexity but non-trivial legacy friction. Engineers will spend time on Symfony2 bundle conventions, PSR-0 autoloading, GetId3 API quirks, and Laravel wiring rather than on product differentiation. A small internal adapter and clear test fixtures reduce ramp-up and containment risk.

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