markup/wistia-bundle
Symfony bundle for integrating Wistia video hosting into your application, offering Twig helpers and services to embed Wistia videos and configure player options with minimal setup.
WistiaClient (Laravel Http + typed DTOs, 1–3 dev days), not a Symfony-era bundle. This package is best used to scope that work, not to remove it.wistia_hashed_id on your own content records rather than treating Wistia as the system of record. That one decision keeps a future provider migration at "re-point the player + backfill," not "rebuild the CMS." This is a PM-owned data-modeling call, not just an engineering one.Consider it only under narrow conditions:
Look elsewhere — and budget for a thin, owned client — when any of the following hold:
To executives: We evaluated a free, MIT-licensed package for connecting our app to Wistia. It is a Symfony 2 bundle from a framework generation that has been end-of-life for years, with effectively no adoption — two GitHub stars and zero dependent projects. There is no legal obstacle to using it, but there is also no maintainer, no security response, and no evidence of production use anywhere. The recommendation is not to adopt it as a production dependency. The useful finding is that the integration itself is small: roughly a few days of engineering, no licensing cost, and no meaningful lock-in provided we store Wistia's media IDs alongside our own records. That means we can prototype a video feature cheaply and defer the larger platform decision — Wistia vs. alternatives — without either choice blocking the other. Net: low cost, low risk, and we keep our options open.
To engineering: Treat this as a specification, not a dependency. It targets Symfony 2's bundle structure, which does not translate to our Laravel container, and at two stars with zero dependents it is unmaintained — assume incompatibility with current PHP and Laravel versions until a short spike says otherwise. Proposed alternative: a WistiaClient wrapping Laravel's Http facade, with typed DTOs for Project and Media, explicit pagination, retry-with-backoff on 429/5xx, and a cached project list; plus a scheduled wistia:sync command that upserts metadata into a local videos table so page rendering never blocks on Wistia latency or uptime. Handle uploads separately against Wistia's upload host with streamed requests — do not buffer video in PHP memory. Estimate 1–3 days including contract tests against recorded fixtures. Persist wistia_hashed_id on our content table so a future provider swap is a backfill rather than a rewrite. If we lift anything from the bundle, lift the endpoint paths and auth pattern and leave the container wiring behind. Sequence it: confirm required API operations, spike, build the adapter behind a feature flag for one integration path, then expand.
How can I help you explore Laravel packages today?