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
Laravel Video

Laravel Video Laravel Package

imanghafoori/laravel-video

Laravel Video extracts metadata from video files—duration, dimensions, and more—and generates thumbnails, wrapping ffmpeg/ffprobe behind a clean facade. Grab video info and posters with a single call, no shell commands required.

View on GitHub
Deep Wiki
Context7

imanghafoori/laravel-video is a Laravel package that simplifies handling video uploads and format conversion. It provides a clean API to store uploaded videos, convert them to different formats or resolutions, and generate thumbnails using FFmpeg—all while integrating with Laravel's filesystem and storage disks.

  • Store and manage videos on any Laravel filesystem disk
  • Convert videos between formats and resolutions
  • Generate thumbnails from uploaded videos
  • Queue-friendly conversions for background processing
  • Simple, expressive facade-based API
Frequently asked questions about Laravel Video
How do I install imanghafoori/laravel-video in a Laravel app?
Install it with composer require imanghafoori/laravel-video, then publish the package config if the service provider does not auto-discover. Define the video streaming route and attach the middleware your app needs for authentication and authorization. No database migrations are required, so setup is limited to configuration, routing, and frontend wiring.
Does laravel-video support HTTP range requests for video seeking?
Yes, range request handling is a core purpose of the package, so browsers can seek within MP4 or WebM files instead of downloading the entire video. Validate in your own environment that responses include 206 Partial Content, Accept-Ranges, and Content-Range headers. Pay special attention to iOS and Safari, where broken range handling is a hard failure rather than a minor degradation.
Which Laravel and PHP versions does laravel-video support?
The exact compatibility matrix depends on the package composer.json, so check it before adopting. Confirm that your target Laravel version, including Laravel 11 or 12 if relevant, is explicitly supported rather than assumed. Also verify the minimum PHP version and whether the maintainer tests against your framework version.
How do I stream private or authenticated videos in Laravel with this package?
Put the package streaming route behind your normal auth middleware or a policy check so only entitled users can request the file. The package handles the HTTP byte serving, but entitlement, tenancy, and signed URL logic remain the host application responsibility. Test unauthenticated and unauthorized requests to confirm the route cannot leak protected content.
Can laravel-video stream videos from S3 or remote storage disks?
The package is intended to serve video from local or Laravel-managed external storage disks, but confirm how your chosen disk behaves before relying on it. For remote disks, determine whether bytes are proxied through PHP or redirected, because that affects performance and range-request behavior. Run a proof of concept with your actual S3 or GCS configuration rather than assuming parity with local files.
How do I embed a video player in Blade using laravel-video?
The package provides Blade helpers for embedding players, so you can generate the markup or stream URL without hand-writing all the HTML. Point the player at the authenticated streaming endpoint and use a standard video element or a player like video.js or Plyr. Keep the route protected by middleware so the embedded player still respects your authorization rules.
Is laravel-video suitable for high-traffic or production video streaming?
It is a good fit for low-volume or internal streaming where PHP-mediated delivery is acceptable, but it is not a replacement for a CDN at scale. Each stream holds a PHP-FPM worker for its duration, so concurrency is bounded by your worker pool rather than disk or network capacity. For high traffic, consider offloading delivery with Nginx X-Accel-Redirect, a CDN, or pre-signed object storage URLs.
How do I configure routes and middleware for laravel-video?
Publish the package config, define the streaming route, and attach middleware for auth, authorization, and rate limiting as needed. The package operates at the HTTP response layer, so it composes with Laravel existing middleware stack rather than replacing it. Decide which disks are exposed and confirm that route parameters cannot be manipulated for path traversal.
Does laravel-video handle HEAD requests, ETags, and MIME types?
The package is built for HTTP video serving, but HEAD handling, conditional requests such as If-Range and ETag, and MIME detection are specific behaviors to verify in a proof of concept. Correct MIME types matter because browsers may refuse to play a video served as application/octet-stream. Test with the actual file types you plan to serve, including MP4 and WebM.
Does laravel-video transcode videos or support HLS and adaptive bitrate?
The package streams stored files verbatim; it does not transcode or adapt bitrate. If you need HLS, DASH, DRM, or adaptive bitrate, this package is the wrong layer and you should use a dedicated packaging or streaming service. It can still serve progressive MP4 or WebM files, or individual segments, behind your Laravel authorization.
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.
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
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console