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

Get Id3 Laravel Package

nass600/get-id3

nass600/get-id3 is a Laravel/PHP wrapper around the getID3 library that makes it easy to extract metadata and ID3 tags from audio and video files. Use it to read duration, bitrate, codecs, artwork, and other media details in Laravel apps.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Media upload enrichment as a feature, not a project. Adding automatic metadata extraction (duration, bitrate, codec, artist/album/title, artwork, chapter markers, GPS/location for video) to any user-generated media flow — this is the enabling capability for a "smart uploads" experience without commissioning a bespoke parser.
  • Roadmap items this unblocks: podcast/audio library features (episode duration, ID3 tags, show artwork extraction), video gallery UX (thumbnails, resolution badges, playback readiness flags), digital asset management (searchable/filterable media by codec, duration, tags), moderation and compliance triage (detect malformed or mislabeled files before they hit the CDN), and bulk-import pipelines from third-party sources where metadata arrives embedded in files.
  • Build vs. buy signal: this is a "buy" (OSS adoption), not a build. Writing a container-format parser (MP3/ID3v1/v2, MP4/QuickTime atoms, OGG, FLAC, WAV, AVI, MKV) in-house is a multi-quarter, never-finished maintenance burden. The honest comparison is not "build vs. this package" but "this package vs. an external service (Mux, Cloudinary, AWS MediaConvert/Elemental) vs. shelling out to ffprobe." That framing is the actual product decision.
  • Architecture decision it informs: in-process PHP extraction (cheap, synchronous-adjacent, no vendor, no per-minute billing) versus managed media APIs (better for transcoding, streaming, and scale, but introduces per-asset cost and a vendor dependency). If the product only needs metadata — not transcoding — a PHP library is materially cheaper at modest volume and removes an external dependency from the critical path.
  • Licensing decision it forces. GPL-2.0 is the headline product risk, not a footnote. If the product is distributed (on-prem, self-hosted, desktop/sync client, appliance, or a shipped Docker image customers run), copyleft obligations on derived works need a legal read before the roadmap commits. If the product is SaaS-only and the library is never distributed, the calculus is far more comfortable — but that determination should be documented as a deliberate decision, not assumed.
  • Opportunity to standardize a metadata contract. Whatever the extraction layer, the durable product asset is a normalized media-metadata schema (duration, dimensions, codecs, tags, checksums) that the rest of the product consumes. Choosing a backend is reversible; letting every team parse ad hoc is not.

When to Consider This Package

Consider it when:

  • You need read-side metadata extraction inside a PHP/Laravel process, and avoiding an external service call or a ffprobe/exiftool binary dependency on every app server is genuinely valuable (simpler deploys, no container tooling, no subprocess overhead on shared hosting or constrained environments).
  • Your media surface is broad but shallow — many formats, metadata only, no transcoding. getID3's format coverage is its core strength and it is a genuinely mature, long-lived codebase.
  • Volume is moderate and file sizes are modest, so doing the work in PHP request/queue workers is acceptable; you are not CPU-bound at the request layer.
  • Licensing is resolved for your distribution model (SaaS-only, or a legal sign-off on GPL-2.0 obligations), and your team accepts copyleft or isolates the library behind a service boundary.
  • You want a fast prototype or a backfill job to tag an existing library before committing to a long-term media platform.

Look elsewhere when:

  • Distribution matters and GPL is unacceptable. Do not ship this in a closed-source distributed product without counsel; the pragmatic alternatives are a permissively licensed extractor wrapper, ffprobe via a permissively licensed PHP binding, or a managed API.
  • Maintenance posture matters more than capability. 58 stars and zero dependents is a thin adoption signal for a fork; the wrapper itself is unlikely to have a support community. Prefer the upstream getID3 directly, or a wrapper you are prepared to own and fork internally.
  • You need more than metadata. Transcoding, HLS/DASH packaging, adaptive bitrate, watermarking, captions, DRM — a metadata reader is the wrong tool and you should evaluate a media platform rather than extend this.
  • Scale or latency is central. Repeated in-PHP parsing of large video files is CPU- and memory-hungry; at high volume, dedicated services or pre-compute-at-ingest patterns will beat this decisively.
  • Security surface is a concern. Parsing untrusted, adversarial uploads is a historically rich vulnerability class; weigh the library's disclosure cadence and your sandboxing story before exposing it to arbitrary public uploads.

How to Pitch It (Stakeholders)

For executives: There is a mature, open-source PHP library that reads the metadata baked into audio and video files — duration, resolution, codecs, tags, artwork. Adopting it would let us ship a credible media experience (smart uploads, library filtering, playback readiness checks) in weeks rather than building a media parser from scratch. The cost is essentially zero in licensing fees and infrastructure. The two real considerations are: (1) its open-source license is copyleft, which is fine for our SaaS delivery but needs a legal sign-off before we ever ship a distributed/on-prem version; and (2) it is a thin fork of a well-known project, so we should treat it as code we are prepared to maintain ourselves rather than a turnkey vendor product. My recommendation is to adopt it for the near-term metadata need, behind a clean interface, and revisit only if we move into transcoding or distribution.

For engineering: The value is breadth of format coverage and in-process execution — no subprocess, no external API, no per-asset cost. The risks are GPL-2.0 (isolate it behind a boundary and confirm the distribution model), maintenance (pin a version, vendor it, be ready to fork or fall back to upstream getID3), and resource behavior on large video files (do extraction in queued workers, enforce file-size and timeout limits, and never parse untrusted uploads on the request path). I want the integration to expose a single internal MediaMetadata interface — duration, dimensions, codecs, tags, artwork — so that swapping in ffprobe or a managed service later is a one-adapter change, not a rewrite. Treat parsing untrusted files as a security-sensitive surface: sandbox the worker and cap memory and runtime.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums