15

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

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

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

  3. 后来FFMpeg从这里安装了 64 位的共享版本

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

并形成此文件夹,将 bin 文件夹复制到我的目录中,以在这样的ffmpeg过程中设置ffprobe路径create()

$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".

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

4

5 回答 5

1

您需要FFmpeg在您的机器上安装(如果您在 PC 上工作),否则您需要FFmpeg在您的服务器上安装

安装FFmpegUbuntu

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

Mac

brew install ffmpeg
于 2018-03-08T08:01:01.723 回答
1

好吧,我前段时间遇到过这个问题,这就是我解决它的方法。

  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 文件,则可以像这样直接引用

$ffmpeg = FFMpeg::create(
  array(
    'ffmpeg.binaries'  => "/home/.../usr/bin/ffmpeg/ffmpeg",
    'ffprobe.binaries' => "/home/.../usr/bin/ffmpeg/ffprobe",
    'timeout'          => 10,
    'ffmpeg.threads'   => 12,
   )
);
于 2021-08-11T21:43:40.677 回答
1

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

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

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

这是二进制文件的链接。下载你需要的。如果不清楚您的服务器是 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

你都准备好了!

`

于 2021-06-26T17:14:28.020 回答
0

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

(D:\二进制文件\ffmpeg\ffmpeg.exe)

所以你应该使用正斜杠

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

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

于 2016-02-04T08:34:54.210 回答
-1

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

于 2015-10-30T16:18:45.237 回答