- Is goncziakos/sonata-media-provider-video-bundle a Laravel package?
- No. It is a Symfony bundle built against sonata-project/media-bundle and the Sonata Admin stack. It has no Laravel service provider, facade, config publishing, or Eloquent/Illuminate coupling. Installing it in a Laravel application will not give you a working video provider.
- How do I install this bundle in a Symfony Sonata Media project?
- Install it with Composer, register the bundle in your Symfony kernel, and configure it as a Sonata Media provider. You also need an FFmpeg binary available on the host. The integration effort is low if you already run Sonata Media and Sonata Admin.
- Which Sonata Media and Symfony versions does it support?
- The repository does not publish a clear, verified compatibility matrix. Sonata Media has had significant major-version churn in provider interfaces, admin forms, and PHP/Symfony baselines. Treat the supported versions as unknown and verify against your installed Sonata Media release before adopting it.
- Can I use this bundle in a Laravel application?
- No. Laravel has no Sonata Media provider registry, no Doctrine-based media entity, and no Symfony bundle kernel registration. Bridging it would cost more than writing the FFmpeg integration directly. Read the source only as a reference for FFmpeg invocation patterns if that is useful.
- Does it support S3, GCS, or other object storage for videos?
- The bundle assumes FFmpeg can work with a local filesystem path, and there is no clear evidence of object-store choreography. S3 or GCS backed media would require an explicit download-to-temp and upload-back step. Bundles of this vintage typically do not implement that, so plan to add it yourself.
- How does it generate video thumbnails or poster frames?
- The provider shells out to FFmpeg to extract metadata and generate a poster frame or thumbnail for the uploaded video. The result is stored as a Sonata Media record alongside the video file. The repository does not document a configurable frame-selection policy in detail.
- Is FFmpeg required, and how should I secure the process execution?
- Yes, an FFmpeg binary must be installed on the host. Because it processes user-supplied file paths and derived parameters, review every invocation for argument injection, path traversal, and resource exhaustion. Prefer escaped arguments or the array form of proc_open, and enforce timeouts and output-size caps outside the bundle if needed.
- Is thumbnail generation synchronous during the upload request?
- The bundle does not clearly document a queue or async hook, and Sonata Media provider flows typically run during the request cycle. Large or malformed uploads can therefore block the request while FFmpeg runs. If that is a problem, wrap generation in your own background job rather than relying on the bundle.
- Is this package actively maintained?
- There is little evidence of active maintenance: it has a single maintainer, zero stars, and no visible downstream dependents or CI matrix. The reported last release date should be reconciled against the repository's actual commit history and tags. Expect to pin versions or fork it if you adopt it.
- What are better alternatives for video handling in Laravel or Symfony?
- For Laravel, use php-ffmpeg/php-ffmpeg for probing and transcoding, and run heavy work through queued jobs; spatie/laravel-medialibrary can also manage conversions. For Symfony with Sonata Media, write a custom provider or extend the existing media providers with your own FFmpeg wrapper. In both cases, build on maintained primitives instead of adopting a zero-adoption bundle.