A fluent, chainable API for working with FFmpeg in Laravel applications. Process videos and audio with an elegant, expressive syntax.
composer require ritechoice23/laravel-fluent-ffmpegPublish the configuration:
php artisan vendor:publish --tag=fluent-ffmpeg-configuse Ritechoice23\FluentFFmpeg\Facades\FFmpeg;
// Basic video conversion
FFmpeg::fromPath('video.mp4')
->videoCodec('libx264')
->audioCodec('aac')
->resolution(1920, 1080)
->save('output.mp4');
// Or using the global helper
ffmpeg()->fromPath('video.mp4')
->videoCodec('libx264')
->save('output.mp4');
// Extract audio
FFmpeg::fromPath('video.mp4')
->extractAudio()
->save('audio.mp3');
// Create GIF
FFmpeg::fromPath('video.mp4')
->clip('00:00:05', '00:00:10')
->toGif(['fps' => 15, 'width' => 480])
->save('animation.gif');
// Advanced HLS Streaming (Multi-bitrate)
FFmpeg::fromPath('video.mp4')
->exportForHLS()
->addFormat('1080p')
->addFormat('720p')
->addFormat('480p')
->save('stream.m3u8');
// Extract multiple clips
FFmpeg::fromPath('video.mp4')
->clips([
['start' => '00:00:10', 'end' => '00:00:20'],
['start' => '00:01:30', 'end' => '00:02:00'],
['start' => '00:03:45', 'end' => '00:04:15'],
])
->save('highlight.mp4'); // Outputs: highlight_1.mp4, highlight_2.mp4, highlight_3.mp4
// Video composition with intro, outro, and watermark
FFmpeg::fromPath('video.mp4')
->withIntro('intro.mp4')
->withOutro('outro.mp4')
->withWatermark('logo.png', 'bottom-right')
->save('branded.mp4');- Fluent API - Chainable, expressive syntax
- Multi-Clip Extraction - Extract multiple clips with auto-numbering
- Video Composition - Add intro, outro, and watermarks to clips
- 20+ Filters - Effects, transformations, overlays
- Multiple Formats - MP4, HLS, DASH, GIF, and more
- Media Probing - Get detailed video/audio information
- Laravel Disks - Save to S3, local, or any disk
- Progress Tracking - Real-time progress with broadcasting
- Queue Support - Process videos in background
- Smart Defaults - Sensible defaults from config
- Events - Track processing lifecycle
- Fully Tested - 104+ passing tests
- Installation & Configuration
- Basic Usage
- Clipping - Extract single or multiple video clips
- Video Composition - Add intro/outro/watermark
- Media Probing - Get video/audio information
- Video Options
- Audio Options
- Subtitle Options
- Filters & Effects
- Format Conversion - Convert to MP3, MP4, WebM, and more
- Formats & Streaming
- Advanced HLS
- Cross-Platform Compatibility
- Laravel Integration
- Queue Processing
- Events & Broadcasting
- Helper Methods
- Package Lifecycle
- API Reference
- PHP 8.2+
- Laravel 10.0+
- FFmpeg 4.0+
composer testThe MIT License (MIT). Please see License File for more information.