laravel-ffmpeg
laravel-ffmpeg copied to clipboard
Unable to load FFMpeg
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
Hello! Have you resolved this one?
I'm currently experiencing the same issue Unable to load FFMpeg
@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.
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!
which ffmpeg
how did you solve
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 ffprobefor Unixwhere ffmpeg/where ffprobefor windox
Then in your .env
FFMPEG_BINARIES={{ffmpeg_bin_path}
FFPROBE_BINARIES={{ffprobe_bin_path}}
Thank you . It was really helpful