php - 无法在 laravel 项目的文件中加载 FFMpeg

标签 php laravel audio ffmpeg

我正在尝试将各种音频文件转换为我在 laravel 项目中选择的特定音频类型。
在我的搜索中,我找到了一个名为 Laravel FFMpeg 的包,我从 laravel 6.2 的全新安装开始,并按照它在 github 上显示的那样进行了安装,当我开始使用它时,我遇到了这个错误:

FFMpeg\Exception\ExecutableNotFoundException: Unable to load FFMpeg in file C:\Users\Hatim\Desktop\Projects\Audio\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFMpegDriver.php on line 55 #0 C:\Users\Hatim\Desktop\Projects\Audio\vendor\pbmedia\laravel-ffmpeg\src\Support\ServiceProvider.php(61): FFMpeg\Driver\FFMpegDriver::create(Object(Illuminate\Log\LogManager), Object(Alchemy\BinaryDriver\Configuration))


我目前只是在做一件简单的事情:
FFMpeg::fromDisk('s3');
是的,我称它为我的 Controller :use ProtoneMedia\LaravelFFMpeg\Support\FFMpeg;我也试过安装PHP-FFMpeg打包并尝试在我的设备上安装 FFmpeg 并使用我的 config\laravel-FFmpeg 中的路径链接它
这就是它现在看起来没有任何修改的样子,我去了我的 .env 文件夹,但它与 FFmpeg 没有任何关系,所以它采用默认值,这就是为什么我尝试在我的设备上安装它并用 FFmpeg 的路径替换默认值在我的设备上。
return [
'ffmpeg' => [
    'binaries' => env('FFMPEG_BINARIES', 'ffmpeg'),
    'threads'  => 12,
],

'ffprobe' => [
    'binaries' => env('FFPROBE_BINARIES', 'ffprobe'),
],

'timeout' => 3600,
'enable_logging' => true
];
我目前正在我的本地环境中工作,但这必须在服务器上工作。

最佳答案

我已经解决了这个问题,这个回复是给 future 开发者对包有问题的。
首先你必须在你的设备上安装 FFmpeg,[点击我][1]
选择你的操作系统并下载它,解压缩它重命名为 FFmpeg,然后复制文件夹并将其放在你的 c: 文件夹中。
之后只需转到项目中的 config\laravel-FFmpeg 文件并将默认值更改为 c: 文件夹中的确切路径

'ffmpeg' => [
    'binaries' => env('FFMPEG_BINARIES', 'C:\ffmpeg\bin\ffmpeg.exe'),
    'threads'  => 12,
],
'ffprobe' => [
    'binaries' => env('FFPROBE_BINARIES', 'C:\ffmpeg\bin\ffprobe.exe'),
],

关于php - 无法在 laravel 项目的文件中加载 FFMpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62816472/

相关文章:

php - 导入 140 万行 800mb 制表符分隔文件的最佳方法是什么?

PHP 用数组中的字符串替换字符

php - 用户名或电子邮件已存在

php - 测试 Laravel 5.2 时不要移动原始文件

php - 将音频从 Swift 应用程序发送到 PHP 服务器,但音频在某处丢失

PHP - 帮助编写正则表达式?

javascript - Laravel 中的 RecordRTC

php - 拉维尔 5 : How to saveMany() based on value

android - 如何在 Android 开发板上测试音频 HAL

c++ - 如何提取音频/视频文件的持续时间?