无法为FFmpeg加载FFProbe驱动程序

时间:2015-09-30 06:41:33

标签: php ffmpeg ffprobe

您好我正在尝试安装php-ffmpeg。
有人可以指导我或在我的步骤中纠正我。

  1. 我在Windows上安装了作曲家,然后遍历到我创建的文件夹以运行install ffmpeg cmd

  2. 运行此命令后,创建了composer.jsoncomposer.lock文件以及供应商文件夹。

  3. 稍后从此处安装了64位的共享FFMpeg版本

      

    http://ffmpeg.zeranoe.com/builds/

  4. 并形成此文件夹将bin文件夹复制到我的目录,以便在ffmpeg期间设置ffprobecreate()路径

    $ffmpeg = \FFMpeg\FFMpeg::create([
        'ffmpeg.binaries'  => '/vendor/bin/ffmpeg.exe',
        'ffprobe.binaries' => '/vendor/bin/ffprobe.exe' 
    ]);
    

    目前我收到的错误是:

    "Fatal error: Uncaught exception 'Alchemy\BinaryDriver\Exception\ExecutableNotFoundException' with message 'Executable not found, proposed : /vendor/bin/' in D:\xampp\htdocs\health\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\AbstractBinary.php:160 Stack trace: #0 D:\xampp\htdocs\health\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFProbeDriver.php(48): Alchemy\BinaryDriver\AbstractBinary::load('/vendor/bin/', NULL, Object(Alchemy\BinaryDriver\Configuration)) #1 D:\xampp\htdocs\health\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe.php(207): FFMpeg\Driver\FFProbeDriver::create(Array, NULL) #2 D:\xampp\htdocs\health\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFMpeg.php(117): FFMpeg\FFProbe::create(Array, NULL, NULL) #3 D:\xampp\htdocs\health\ff.php(6): FFMpeg\FFMpeg::create(Array) #4 {main} Next exception 'FFMpeg\Exception\ExecutableNotFoundException' with message 'Unable to load FFProbe' in D:\xampp\htdocs\health\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFProbeDriver.php:50 Stack trace: #0 D:\xampp\htdocs\he in D:\xampp\htdocs\health\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFProbeDriver.php on line 50".
    

    那么我可能做错了什么,或者我错过了任何步骤。有人能指出我正确的方向。

5 个答案:

答案 0 :(得分:0)

您需要在自己的计算机上安装FFmpeg(如果您使用的是PC),否则您需要在服务器上安装FFmpeg

FFmpeg中安装Ubuntu

sudo add-apt-repository ppa:mc3man/trusty-media  
sudo apt-get update  
sudo apt-get install ffmpeg  
sudo apt-get install frei0r-plugins  

不能在此处提供其他机器的完整详细信息,请按照指定的链接进行操作 以下是解释如何执行此操作的链接。

https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg

答案 1 :(得分:0)

以防万一有人在他们的网络服务器上看到这个 PHP 错误并使用 Composer 安装了 FFMPEG,我遇到了同样的错误,这是我解决它的方法。

由于某种原因(我不知道)FFMPEG 二进制文件没有到达 /usr/local/bin

我通过运行检查了这是终端:ls /usr/local/bin 没有 ffmpeg 或 ffprobe 存在!

Here's a link to the binaries。下载你需要的。如果不清楚您的服务器是 32 位还是 64 位,请运行 uname -m 如果您的系统运行的是 32 位(i686 或 i386)或 64 位(x86_64)。

我刚刚将 ffmpeg 和 ffprobe 二进制文件下载到我的本地机器,然后通过 FTP 将它们上传到 public_html/,但您显然可以将它们放在任何地方。

接下来,在终端中,将二进制文件移动到正确的位置:

sudo cp -f public_html/ffmpeg /usr/local/bin

sudo cp -f public_html/ffprobe /usr/local/bin

确保他们已经到达 ls /usr/local/bin 您应该会看到两者,它们将显示为白色文本。

之后,您需要使两个二进制文件都可执行。 在终端:

sudo chmod +x /usr/local/bin/ffmpeg

sudo chmod +x /usr/local/bin/ffprobe

你已经准备好了!

`

答案 2 :(得分:0)

嗯,我前段时间遇到过这个问题,我就是这样解决的。

  1. 确保您在机器上安装了正确的 ffmpeg 文件; ei linux 服务器或 mac/windows,如果您在本地运行。您可以从 ffmpeg.org 下载确保为您的 CPU 下载正确的静态构建(我的是 64 位,所以我下载了 64 位静态构建)

  2. 在您的服务器上提取 tar 文件...并像这样引用它,如果您使用的是 env 文件(不要忘记引号)

  3. 确保在您的参考路径中有引用。

    FFMPEG_PATH = "/home/.../usr/bin/ffmpeg/ffmpeg"

    FFPROBE_PATH = "/home/.../usr/bin/ffmpeg/ffprobe"

如果你不使用env文件,你可以像这样直接引用

for line in lines:
    print(line, end = '')

答案 3 :(得分:-1)

可能正确修改“ffmpeg.binaries”和“ffprobe.binaries”上ffmpeg.exe / ffprobe.exe的路径

答案 4 :(得分:-1)

以防万一有人在Windows上遇到类似的问题。该库删除了反斜杠

(D:\ binaries \ ffmpeg \ ffmpeg.exe)

所以你应该使用正斜杠

(D:/binaries/ffmpeg/ffmpeg.exe)

这将适用于寡妇。希望这有帮助