首页 > 解决方案 > Laravel FFMpeg - 无法在文件错误中加载 FFMpeg

问题描述

我正在尝试将 FFMpeg 集成到 Laravel 项目中,但是当我调用端点时出现错误:

FFMpeg\Exception\ExecutableNotFoundException: Unable to load FFMpeg in file /Users/me/Desktop/video/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFMpegDriver.php on line 55

我做了什么:

brew install ffmpeg- 本地安装FFMEG,使用终端时可以确认这工作

新鲜的 Laravel 安装composer create-project laravel/laravel example-app

安装 php ffmpegcomposer require php-ffmpeg/php-ffmpeg

安装 Laravel ffmpegcomposer require pbmedia/laravel-ffmpeg

将 FFMPEG 添加到提供程序和别名中 app.php

'providers' => [
    ...
    ProtoneMedia\LaravelFFMpeg\Support\ServiceProvider::class,
    ...
];

'aliases' => [
    ...
    'FFMpeg' => ProtoneMedia\LaravelFFMpeg\Support\FFMpeg::class
    ...
];

然后我的控制器是

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use FFMpeg;

class VideoController extends Controller
{
    public function makeVideo()
    {

        FFMpeg::fromDisk('songs')
    ->open('yesterday.mp3')
    ->export()
    ->toDisk('converted_songs')
    ->inFormat(new \FFMpeg\Format\Audio\Aac)
    ->save('yesterday.aac');
        return "hello";
    }
}

这是他们在 git 上给出的例子。如果我调用终点,我会收到上述错误。有没有人知道出了什么问题或如何调试?日志没有给我更多信息!

标签: phplaravelvideoffmpeg

解决方案


FFmpeg可能未安装在您的操作系统上。如果您使用的是 Ubuntu 或 Linux,请运行以下命令以确保已安装FFmpeg

ffmpeg -protocols

如果你得到

Command 'ffmpeg' not found, but can be installed with:

sudo apt install ffmpeg

然后通过运行安装FFmpeg

sudo apt update
sudo apt install ffmpeg

注意文件路径。

FFMpeg::open('') 的默认路径是storage\app

我能够在不设置二进制文件或进行提取配置设置的情况下使其工作

此外,您只需要它composer require pbmedia/laravel-ffmpeg来安装所有东西,它可以处理其他依赖项


推荐阅读