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

setInitialParameters and exportForHLS #483

Open slushpuppy opened 1 year ago

slushpuppy commented 1 year ago

Hi,

I am trying to add options to the ffmpeg command before saving, but no matter which permutation i am using, it refuses to prepend the options https://www.bannerbear.com/blog/how-to-overlay-an-animated-gif-on-a-video-using-ffmpeg/

` $lowBitrate = (new X264)->setKiloBitrate(250); $vidConfig = (new X264); $vidConfig->setInitialParameters(['-ignore_loop']); \var_dump( FFMpeg::open('seeders/IMG_3968.mp4')

        ->exportForHLS()
            ->addFormat($lowBitrate, function(HLSVideoFilters $media) {
            $media->resize(640, 480);

            /*
            '-stream_loop',
                '-filter_complex [0]overlay=x=0:y=0:shortest=1[out]'
            );*/
            $media->addWatermark(function(WatermarkFactory $watermark) {
                $watermark->fromDisk('local')
                    ->open('ffmpeg/watermark.gif')
                    ->right(5)

                    ->bottom(5);
            });
        })
        ->addFilter(
    function(ComplexFilters $filters) {
        // $filters->watermark(...);

        //  $filters->custom(' -i '.\storage_path('app/ffmpeg/watermark.gif').' ','','');
        //  new \FFMpeg\Filters\Audio\SimpleFilter(array('-i',\storage_path('app/ffmpeg/watermark.gif')))
    }

    )

  //  ->save('videos/adaptive.m3u8');
      ->inFormat($vidConfig)

    ->getCommand('videos/adaptive.m3u8'));`

where am I going wrong? Thanks!