如何让 ffmpeg 在我的网站上运行?

问题描述 投票:0回答:1

当我提供 ffmpeg 的绝对路径或通过编辑环境变量使其在全局范围内工作时,ffmpeg 可以在我的本地计算机上运行。

但在我的网站上它根本不起作用。我将 ffmpeg.exe、ffplay.exe 和 ffprobe.exe 上传到 public_html/

这是我的代码:

<?php
  ini_set ('display_errors', 1);
  ini_set ('display_startup_errors', 1);
  error_reporting (E_ALL);
  $image1 = "/home/mywebsitename/public_html/uploads2/1.png";
  $image2 = "/home/mywebsitename/public_html/uploads2/2.png";
  $ffmpeg = "/home/mywebsitename/public_html/ffmpeg";
  $command = $ffmpeg." -i ".$image1." -vf scale=100:-2 ".$image2;
  system($command);
?>

它应该使一个图像文件模仿另一个图像文件,同时在大小和质量上有一些差异。

我在 php.ini 文件中启用了系统功能,使其可以工作,并且不再出现错误。

我还将所有涉及的文件和文件夹(uploads2文件夹、1.png、2.png、ffmpeg程序)的权限更改为777,允许读取、写入和执行所有内容。

但是,没有任何输出,文件保持不变。如何让 ffmpeg 在我的网站上运行?

ffmpeg command system
1个回答
0
投票

FFmpeg 需要安装在托管您网站的服务器上,并且您的用户帐户必须有权访问该服务器上的 FFmpeg。

您不能只在系统上上传

.exe
文件并期望它能够工作,因为它是 Windows 可执行文件,并且具有在 Windows 计算机上运行它所需的其他依赖项。您的网站可能在基于 Linux 的计算机上运行。

如果您使用共享网络托管计划,您可以询问您的网络托管提供商,看看他们是否可以为您提供对服务器上安装的 FFmpeg 实例的访问权限(这不太可能),或者您可以租用 VPS 并拥有完整的访问系统来安装和管理您需要的所有软件,包括 FFmpeg。

对于 PHP 中的图像处理,您还可以使用其他替代方案,例如广泛使用的

GD
Imagick
扩展,并且很可能已经安装在您的网站运行的环境中。 更多信息

© www.soinside.com 2019 - 2024. All rights reserved.