php - 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 上给出的例子。如果我调用终点,我会收到上述错误。有没有人知道出了什么问题或如何调试?日志没有给我更多信息!
解决方案
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
来安装所有东西,它可以处理其他依赖项
推荐阅读
- excel - 如何在excel中将JPEG粘贴为gif?
- python - Openpyxl Vlookup - Python
- java - 使用 Android Studio 在特定时间显示通知
- java - 使用 java Spring 从 Oracle 数据库返回创建的 ID
- firebase - Firebase Firestore 分页最佳实践/优化与否?
- scala - [Mockito][withObjectMocked]NoSuchFieldException: MODULE$
- apache - apache httpd 在 root 用户下运行良好,但在非 root 用户下运行失败
- kubernetes - 使用 cert-manager/Traefik 动态添加/删除域 TLS 证书
- c++ - 将节点按降序插入链表 C++
- apache-beam - PeriodicSequence 不会耗尽