foxws/laravel-shaka
| Install | |
|---|---|
composer require foxws/laravel-shaka |
|
| Latest Version: | 2.3.2 |
| PHP: | ^8.3 |
| License: | MIT |
| Last Updated: | Oct 2, 2026 |
| Links: | GitHub · Packagist |
Laravel Shaka
Package video and audio into HLS and DASH with Shaka Packager, on top of foxws/laravel-media. Read the source from any Laravel disk, and write the result to any disk.
Shaka Packager packages already-encoded video; it doesn't re-encode. That makes it fast. Encode several qualities first with laravel-media's rendition ladder, then package them together.
See the full documentation: Installation, Usage, Testing, Configuration, Upgrading from 2.x.
Requirements
- PHP 8.4 or higher
- Laravel 13
- foxws/laravel-media 0.3.4 or higher
- The Shaka Packager binary
Installation
composer require foxws/laravel-shaka
Install the packager binary, then check the setup:
php artisan media:info
Quick start
use Foxws\Media\Encryption\ProtectionScheme;
use Foxws\Media\Facades\Media;
$result = Media::fromDisk('media')
->open('videos/clip.mp4')
->shaka()
->addStreamsFrom()
->withHlsPlaylist()
->withDashManifest()
->withEncryption(scheme: ProtectionScheme::Cbcs)
->toDisk('s3')
->save('streams/clip');
This writes one set of encrypted segments with both an HLS playlist and a DASH manifest, and uploads them to streams/clip on the s3 disk. shaka() is laravel-media's packaging builder with the Shaka Packager driver; set MEDIA_PACKAGER=shaka to use it for every package() call.
Shaka Packager's other options, such as DRM systems, key servers and live DASH, are typed methods on ShakaOptions:
use Foxws\Shaka\ProtectionSystem;
use Foxws\Shaka\ShakaOptions;
->withOptions(ShakaOptions::make()->protectionSystems(ProtectionSystem::Widevine)->lowLatencyDashMode())
Testing
composer test
Links
Credits
Used by Stry, a self-hosted video streaming app.
AI, specifically Claude, was used to help build this package. All AI-assisted output is reviewed by me, and I retain final say over everything that is implemented and released.
License
MIT. See License File.
Related Packages
A Laravel package to interact with Shaka Streamer for media packaging.
Larupload is a ORM based file uploader for laravel to upload image, video, audio...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 2.3.2 | ^8.3 | ^12.0| | MIT | |
| 2.3.1 | ^8.3 | ^12.0| | MIT | |
| 2.3.0 | ^8.3 | ^12.0| | MIT | |
| 2.2.1 | ^8.3 | ^12.0| | MIT | |
| 2.2.0 | ^8.3 | ^12.0| | MIT | |
| 2.1.1 | ^8.3 | ^12.0| | MIT | |
| 2.1.0 | ^8.3 | ^12.0| | MIT | |
| 2.0.2 | ^8.3 | ^12.0| | MIT | |
| 2.0.1 | ^8.3 | ^12.0| | MIT | |
| 2.0.0 | ^8.3 | ^12.0| | MIT | |
| 1.9.0 | ^8.3 | ^11.0 | | MIT | |
| 1.8.3 | ^8.3 | ^11.0 | | MIT | |
| 1.8.2 | ^8.3 | ^11.0 | | MIT | |
| 1.8.1 | ^8.3 | ^11.0 | | MIT | |
| 1.8.0 | ^8.3 | ^11.0 | | MIT | |
| 1.7.0 | ^8.3 | ^11.0 | | MIT | |
| 1.6.0 | ^8.3 | ^11.0 | | MIT | |
| 1.5.0 | ^8.3 | ^11.0 | | MIT | |
| 1.4.0 | ^8.3 | ^11.0 | | MIT | |
| 1.3.0 | ^8.3 | ^11.0 | | MIT | |
| 1.2.0 | ^8.3 | ^11.0 | | MIT | |
| 1.1.0 | ^8.3 | ^11.0 | | MIT | |
| 1.0.0 | ^8.3 | ^11.0 | | MIT | |
| 0.9.0 | ^8.3 | ^11.0 | | MIT | |
| 0.8.0 | ^8.3| | ^11.0| | MIT | |
| 0.7.0 | ^8.3| | ^11.0| | MIT | |
| 0.6.0 | ^8.3| | ^11.0| | MIT | |
| 0.5.0 | ^8.3| | ^11.0| | MIT | |
| 0.4.0 | ^8.2| | ^11.0| | MIT | |
| 0.3.0 | ^8.2| | ^11.0| | MIT |
Showing the latest 30 of 32. See every release on Packagist