amjadiqbal/laravel-media-viewer
A Laravel package for browsing and displaying media files such as images, video, and audio directly in your app. It provides simple Blade components and helpers to render responsive media viewers with minimal setup, making it easy to add file previews to admin panels or front-end pages.
Content-Security-Policy: sandbox and Cross-Origin-Resource-Policy headers as all other files — removes a real inconsistency that could have caused security review friction or inconsistent browser behavior between playlist and segment requests.redirect mode works with any disk exposing temporary URLs. This directly informs whether S3-backed media is served as a redirect (cheaper, offloads egress from the app) or proxied (needed for non-seekable sources or where temporary URLs are unavailable).Consider adoption when:
response()->download().redirect mode available where temporary URLs exist.Look elsewhere when:
For executives: This is a small, low-cost dependency that lets us deliver private video, audio, and files correctly — including range requests and HLS — without building and maintaining that plumbing ourselves. It has a cost angle: redirect mode lets S3-compatible storage serve bytes directly, reducing app bandwidth. The v0.1.1 patch closes a header-consistency gap for HLS playlists and clarifies auth and redirect behavior in the docs. Risk is modest but real: it is a 0.x package on a security-relevant path, so we should pin the version and gate adoption behind a limited rollout.
For engineering: Adopt it to avoid bespoke Range/HLS handling and to get uniform Content-Security-Policy: sandbox and Cross-Origin-Resource-Policy headers across all file responses, now including playlists. Use redirect mode for S3 or any disk with temporary URLs to keep bytes off the app; use proxied delivery where sources are non-seekable, accepting that reads go up to the requested offset. Validate the signed-in-only URL binding assumption against our auth model, pin to a specific 0.x version, and re-review on minor releases since the API is not yet frozen.
How can I help you explore Laravel packages today?