protonemedia / laravel-ffmpeg

This package provides an integration with FFmpeg for Laravel. Laravel's Filesystem handles the storage of the files.
https://protone.media/en/blog/how-to-use-ffmpeg-in-your-laravel-projects
MIT License
1.62k stars 193 forks source link

FFMpeg\Media\Frame::addFilter(): Argument #1 ($filter) must be of type FFMpeg\Filters\Frame\FrameFilterInterface, ProtoneMedia\LaravelFFMpeg\Filters\TileFilter given #515

Closed MittyBoro closed 7 months ago

MittyBoro commented 7 months ago

Laravel 10 laravel-ffmpeg 8.4 php 8.3

FFMpeg::openUrl($src)
      ->getFrameFromSeconds($start)
      ->exportFramesByAmount($count, $width, $height)
      ->save($files);
FFMpeg\Media\Frame::addFilter(): Argument #1 ($filter) must be of type FFMpeg\Filters\Frame\FrameFilterInterface, ProtoneMedia\LaravelFFMpeg\Filters\TileFilter given {"exception":"[object] (TypeError(code: 0): FFMpeg\\Media\\Frame::addFilter(): Argument #1 ($filter) must be of type FFMpeg\\Filters\\Frame\\FrameFilterInterface, ProtoneMedia\\LaravelFFMpeg\\Filters\\TileFilter given at /var/www/html/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Frame.php:61)
[stacktrace]
#0 [internal function]: FFMpeg\\Media\\Frame->addFilter()
#1 /var/www/html/vendor/pbmedia/laravel-ffmpeg/src/Drivers/InteractsWithFilters.php(59): call_user_func_array()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): ProtoneMedia\\LaravelFFMpeg\\Drivers\\PHPFFMpeg->addFilter()
#3 /var/www/html/vendor/pbmedia/laravel-ffmpeg/src/Exporters/MediaExporter.php(299): ProtoneMedia\\LaravelFFMpeg\\Exporters\\MediaExporter->forwardCallTo()
#4 /var/www/html/vendor/pbmedia/laravel-ffmpeg/src/Exporters/MediaExporter.php(113): ProtoneMedia\\LaravelFFMpeg\\Exporters\\MediaExporter->__call()
#5 /var/www/html/vendor/pbmedia/laravel-ffmpeg/src/MediaOpener.php(216): ProtoneMedia\\LaravelFFMpeg\\Exporters\\MediaExporter->addTileFilter()
#6 /var/www/html/vendor/pbmedia/laravel-ffmpeg/src/MediaOpener.php(229): ProtoneMedia\\LaravelFFMpeg\\MediaOpener->exportTile()
#7 /var/www/html/vendor/pbmedia/laravel-ffmpeg/src/MediaOpener.php(224): ProtoneMedia\\LaravelFFMpeg\\MediaOpener->exportFramesByInterval()
#8 /var/www/html/app/Services/FFmpeg/VideoService.php(68): ProtoneMedia\\LaravelFFMpeg\\MediaOpener->exportFramesByAmount()

Without getFrameFromSeconds everything is fine

FFMpeg::openUrl($src)
      ->exportFramesByAmount($count, $width, $height)
      ->save($files);
MittyBoro commented 7 months ago

Sorry, brain bug 🤦