cgnetwork/simple-video-api
Lightweight Laravel/PHP wrapper for a simple video API. Provides straightforward methods to upload, fetch, and manage videos, with clean request handling and easy integration into your app or services. Ideal for quick prototypes and small backends.
ffprobe (FFmpeg) for video info (requires CLI tool installation).ffmpeg-thumbnailer or similar (may need customization for high-res thumbnails).fileinfo, gd (for thumbnails), and curl (for HTTP uploads) are likely needed..php files disguised as .mp4) could slip through without additional validation (e.g., league/flysystem policies)./api/videos/upload) in a non-production environment.Video model for database records.VideoUploadController for HTTP endpoints.VideoService for business logic (e.g., metadata extraction).simple-video-api:generate-thumbnail) to avoid blocking requests.use Illuminate\Bus\Queueable;
use cgnetwork\SimpleVideoApi\Jobs\GenerateThumbnail;
GenerateThumbnail::dispatch($video)->onQueue('video-processing');
filesystems.php to use your preferred driver (e.g., S3, local).StorageAdapter if needed for custom logic (e.g., signed URLs).composer.json for exact requirements).ffmpeg -version
jrottenberg/ffmpeg).videos table.libav).php artisan vendor:publish --provider="cgnetwork\SimpleVideoApi\ServiceProvider"
.env for storage (e.g., AWS_S3_BUCKET).Route::post('/videos', [VideoUploadController::class, 'store']);
VideoService for metadata extraction.cgnetwork/simple-video-api for updates (check GitLab for changelogs).simple-video-api).$metadata = Video::extractMetadata($filePath, ['log' => storage_path('logs/ffmpeg.log')]);
debugbar to inspect queue jobs and storage operations.How can I help you explore Laravel packages today?