muhammadkazimsadiq / filament-video-importer
This is my package filament-video-importer
Package info
github.com/MuhammadKazimSadiq/filament-video-importer
pkg:composer/muhammadkazimsadiq/filament-video-importer
Fund package maintenance!
Requires
- php: ^8.2
- filament/filament: ^5.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0|^10.0
- pestphp/pest: ^3.7|^4.0
- pestphp/pest-plugin-arch: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- pestphp/pest-plugin-livewire: ^3.0|^4.0
README
The Filament Video Importer is a filament plugin that allows you to seamlessly import videos from YouTube, Vimeo, and Bunny.net directly into your Laravel database.
It features a modern, user-friendly 4-step wizard with field mapping intelligence and field discovery.
🚀 Key Features
- Multi-Platform: Full support for YouTube, Vimeo, and Bunny.net (Stream).
- Flexible Fetching: Import entire playlists, folders, or specific video IDs.
- Custom Mapping: Customize mapping of API fields (Title, Duration, URL, etc.) to your custom database columns.
- Background Imports: Native support for Laravel Queues via a simple
->queue()method.
📦 Installation
Install the package via composer:
composer require muhammadkazimsadiq/filament-video-importer
1. Configuration
Publish the configuration file:
php artisan vendor:publish --tag="filament-video-importer-config"
⚙️ Configuration
API Keys
Add your credentials to your .env file:
YOUTUBE_API_KEY=your_youtube_key VIMEO_ACCESS_TOKEN=your_vimeo_token BUNNY_API_KEY=your_bunny_key BUNNY_LIBRARY_ID=your_bunny_library_id
Map Your Model
In config/video-importer.php, set the model where videos should be imported:
'model' => \App\Models\Video::class,
🛠️ Usage
Register the ImportVideosAction in your Filament Resource's headerActions() or inside any Table/Page action list.
use MuhammadKazimSadiq\FilamentVideoImporter\Actions\ImportVideosAction; public static function table(Table $table): Table { return $table ->headerActions([ ImportVideosAction::make() ->label('Import Videos') ->queue(), // Enable background processing (Recommended for large playlists) ]); }
🌍 Translations
The plugin supports multi-language setups. You can publish translations to customize them:
php artisan vendor:publish --tag="filament-video-importer-translations"
🤝 Credits
📄 License
The MIT License (MIT). Please see License File for more information.