mhor/mediainfo-bundle
mhor/mediainfo-bundle wraps the MediaInfo library for PHP, making it easy to extract technical metadata from audio and video files—codecs, duration, resolution, bitrate, and more—through a clean, bundle-integrated API. Useful for media catalogs, upload validation, and processing pipelines.
mediainfo binary present on every app/worker/container that touches media. That's a real infrastructure and ops cost (image builds, base image choice, CI parity, autoscaling AMIs) that should be weighed at the platform level, not per feature.php-mediainfo directly and write ~20 lines of service-provider glue" — a useful signal, because it means the bundle itself adds near-zero value outside Symfony.Consider it when:
Look elsewhere / do not adopt when:
mhor/php-mediainfo (or getID3, or php-ffmpeg) directly and write the service binding yourself; the bundle buys you nothing.For executives: MediaInfo is the industry-standard, free tool for reading what's inside a media file — codec, resolution, duration, bitrate, audio and subtitle tracks. This package is a small, MIT-licensed Symfony adapter that lets our application call it as a service. It accelerates the "upload validation" and "asset technical metadata" features by days, not months. The strategic caveat is maintenance: it has essentially no community footprint, so we should treat it as glue code we own, not as a vendor relationship. The real cost isn't the package — it's running the MediaInfo binary in our containers and keeping it patched.
For engineering: mhor/php-mediainfo is the substantive library; this bundle is Symfony DI and configuration sugar on top. Adopt it on Symfony to save a morning of wiring, pin the version, and plan to fork it if upstream goes quiet (it's small enough to own outright). On Laravel or a framework-agnostic service, skip the bundle and bind php-mediainfo yourself. Either way, run inspection on queue workers in a container that includes the mediainfo binary, add parity between local Docker and production images, and wrap calls with timeouts and size limits — a malformed or enormous file should fail the job, not the worker.
Recommendation: Adopt conditionally. Green-light for Symfony services where media inspection is one step in an async pipeline, with the expectation that we own the wrapper. Do not build a strategic dependency on it, and revisit if throughput or compliance requirements push us toward a managed media API.
How can I help you explore Laravel packages today?