php - 如何在资源/访问受限的共享主机上使用 ffmpeg 和 laravel 5.7

标签 php ffmpeg hosting shared laravel-5.7

我在不同的论坛和在线资源中搜索了如何在共享主机上的 laravel 5.7 应用程序上使用 ffmpeg,但没有得到任何解决方案。我实际上按照此链接 How to Install FFMPEG in Laravel. 中的说明在我的项目中安装了 ffmpeg
我还下载了二进制文件并将它们保存到我使用 Windows 8.1 操作系统的系统中的本地驱动器 C://。然后我连接了我的二进制文件,如下所示;

  $ffprobe = FFMpeg\FFProbe::create([
        'ffmpeg.binaries'  => 'C:/FFmpeg/bin/ffmpeg.exe', // the path to the FFMpeg binary
        'ffprobe.binaries' => 'C:/FFmpeg/bin/ffprobe.exe', // the path to the FFProbe binary
        'timeout'          => 3600, // the timeout for the underlying process
        'ffmpeg.threads'   => 12,   // the number of threads that FFMpeg should use
    ]);
我还在系统环境变量设置中进行了路径设置,从 XAMPP Server 为网站提供服务时一切正常。
我遇到的问题是我已将项目上传到一个共享主机,我无权检查他们是否在服务器上安装了 ffmpeg,并且主机提供商无法真正为我提供有用的信息。因此,我将二进制文件上传到 cpanel 上我的文件管理器中的一个文件夹中,并将其命名为“二进制文件”。然后我改变了我的代码,如下所示;
$ffmpeg = FFMpeg\FFMpeg::create([
        'ffmpeg.binaries'  => '/home/username/binary_files/bin/ffmpeg.exe', // the path to the FFMpeg binary
        'ffprobe.binaries' => '/home/username/binary_files/bin/ffprobe.exe',  // the path to the FFProbe binary
        'timeout'          => 3600, // the timeout for the underlying process
        'ffmpeg.threads'   => 1,   // the number of threads that FFMpeg should use
    ]);
但我仍然收到无法加载 FFProbe 的错误,如 this Image 中所示从代码
    public static function create($configuration, LoggerInterface $logger = null)
{
    if (!$configuration instanceof ConfigurationInterface) {
        $configuration = new Configuration($configuration);
    }

    $binaries = $configuration->get('ffprobe.binaries', array('avprobe', 'ffprobe'));

    try {
        return static::load($binaries, $logger, $configuration);
    } catch (BinaryDriverExecutableNotFound $e) {
        throw new ExecutableNotFoundException('Unable to load FFProbe', $e->getCode(), $e);
    }
}
我在我的项目中做的主要事情是将视频转换为适当的编码流视频,并在上传时自动从视频生成 .png 或 .jpg 缩略图。因此,如果有除 ffmpeg 之外的替代方案来解决此问题,或者之前在共享主机上使用过 ffmpeg 库的任何人都应该提供帮助。
请!

最佳答案

不幸的是,并非所有托管服务提供商都允许将 FFmpeg 安装到他们的共享托管计划中。

带宽可能是无限的,但一旦您的视频流量过多,CPU 就无法应付。这可能会给托管在同一台服务器上的其他网站带来风险。

我的建议是你应该使用VPS服务器,你会休息的!

否则检查下面的文字,只有 梦想主机 已在共享主机上安装 ffmpeg

HostGator

Hostgator 不允许将 FFmpeg 安装到您的共享主机计划中。带宽可能是无限的,但一旦您的视频流量过多,CPU 就无法应付。这可能会给托管在同一台服务器上的其他网站带来风险。如果您要购买他们的 VPS 和专用主机,您只能安装该软件。

GoDaddy

由于 FFmpeg 使用的资源,GoDaddy 不允许将 FFmpeg 安装到其共享主机帐户,但您可以使用其 VPS 和专用服务器安装它。

蓝主机

根据 Bluehost 的说法,FFmpeg 模块对于共享主机环境来说是处理器密集型的,这就是为什么他们不支持它。

梦想主机

如果您的托管服务是 DreamHost 并且您非常需要 FFmpeg 模块,那么您很幸运。 Dreamhost 已经在他们的共享主机服务器上安装了 FFmpeg。绝对路径是/usr/local/dh/bin/ffmpeg。您也可以手动安装自己的,但请注意 Dreamhost 支持不涵盖任何中断。

查看全文:Article Link

关于php - 如何在资源/访问受限的共享主机上使用 ffmpeg 和 laravel 5.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53529796/

相关文章:

php - 使用 PHP 销毁所有 session 变量

php - PDO + MsSQL + freetds = INSERT 查询中的错误字符

ffmpeg 将图像和音频组合成视频并循环播放图像直到音频结束

android - Picasso 和 Glide,从 Dropbox 下载图片

ruby-on-rails - 非 ruby​​ 站点上的 ruby​​ 错误

redirect - Web 转发或 CNAME 解决方案 - 哪个是正确的?

php - 使用 smarty php 的 SEO 友好 URL?

php - $函数() 和 $$变量

video - 在 ffmpeg 中重复单帧填充视频中间

ffmpeg - Emscripten:将库链接到项目