laravel-ffmpeg icon indicating copy to clipboard operation
laravel-ffmpeg copied to clipboard

Unable to load FFMpeg

Open vladislavzubetcs opened this issue 2 years ago • 6 comments

use ProtoneMedia\LaravelFFMpeg\Support\FFMpeg;

Route::get('/test', function () {
    $image = \App\Models\Product\ProductImage::where('type', \App\Enums\MediaTypes::VIDEO)->firstOrFail();

    FFMpeg::fromDisk('s3')
        ->open($image->url) // products/{hash}.mp4
        ->export()
        ->toDisk('s3')
        ->inFormat(\App\Enums\VideoFormats::WEBM->getFFMpegFormat()) // new \FFMpeg\Format\Video\WebM
        ->save(sprintf('%s%s', $image->url, \App\Enums\VideoFormats::WEBM->value)); // .webm
});

Returns:

FFMpeg\ Exception\ExecutableNotFoundException PHP 8.2.12 Laravel 10.33.0

Unable to load FFMpeg

root@e1f6f4a83d02:/var/www# which ffmpeg
/usr/bin/ffmpeg
root@e1f6f4a83d02:/var/www# which ffprobe
/usr/bin/ffprobe

.env:

FFMPEG_BINARIES=/usr/bin/ffmpeg
FFPROBE_BINARIES=/usr/bin/ffprobe

ProtoneMedia\LaravelFFMpeg\Support\ServiceProvider::class, published 'FFMpeg' => ProtoneMedia\LaravelFFMpeg\Support\FFMpeg::class added

ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers

vladislavzubetcs avatar Nov 22 '23 16:11 vladislavzubetcs

Hello! Have you resolved this one? I'm currently experiencing the same issue Unable to load FFMpeg

cy-alonzo avatar May 10 '24 08:05 cy-alonzo

@0xCyyy3000 Yeah, I resolved that. But it's been so long, I honestly don't remember how, coz I haven't worked on this project in a long time. But I can give you something.

Packages:

"pbmedia/laravel-ffmpeg": "^8.3",
"php-ffmpeg/php-ffmpeg": "^1.1",

Usage:

use ProtoneMedia\LaravelFFMpeg\Support\FFMpeg;

FFMpeg::fromDisk('s3')
      ->open($this->url)
      ->export()
      ->toDisk('s3')
      ->inFormat($this->videoFormat->getFFMpegFormat()) // new \FFMpeg\Format\Video\WebM()
      ->save(sprintf(
          '%s%s',
          $this->url,
          $this->videoFormat->value
      ));

Try giving permissions to:

FFMPEG_BINARIES=/usr/bin/ffmpeg
FFPROBE_BINARIES=/usr/bin/ffprobe

Also check if you have ffmpeg and ffprobe installed and PHP has access to them.

That's all I have and all I remember, unfortunately.

vladislavzubetcs avatar May 16 '24 09:05 vladislavzubetcs

I already resolved my problem, I just ran this command to retrieve the bin path which ffmpeg But thanks for sharing mate, appreciate your response!

cy-alonzo avatar May 17 '24 11:05 cy-alonzo

which ffmpeg

how did you solve

AbelGoncalo avatar Jul 13 '24 08:07 AbelGoncalo

You should add the bin path of your ffmpeg to your .env file. You can identify it by running this command from your terminal:

  • which ffmpeg / which ffprobe for Unix
  • where ffmpeg / where ffprobe for windox

Then in your .env FFMPEG_BINARIES={{ffmpeg_bin_path} FFPROBE_BINARIES={{ffprobe_bin_path}}

cy-alonzo avatar Jul 15 '24 11:07 cy-alonzo

Thank you . It was really helpful

Marziul01 avatar Oct 04 '24 19:10 Marziul01