【问题标题】:How to use ffmpeg with laravel 5.7 on a shared hosting with limited resources/access如何在资源/访问受限的共享主机上使用 ffmpeg 和 laravel 5.7
【发布时间】:2018-11-29 09:38:20
【问题描述】:

我在不同的论坛和在线资源中搜索了如何在共享主机上的 laravel 5.7 应用程序上使用 ffmpeg,但没有得到任何解决方案。我实际上按照此链接How to Install FFMPEG in Laravel.的说明在我的项目上安装了ffmpeg

我还下载了二进制文件并将它们保存到我的本地驱动器 C:// 在我的带有 windows 8.1 操作系统的系统中。然后我连接了我的二进制文件,如下所示;

  $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 库的任何人都应该提供帮助。 请!

【问题讨论】:

    标签: php ffmpeg hosting shared laravel-5.7


    【解决方案1】:

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

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

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

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

    HostGator

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

    GoDaddy

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

    Bluehost

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

    DreamHost

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

    查看全文:Article Link

    【讨论】:

    • 非常感谢@Lasha!您是否可以建议任何其他库来代替适用于共享主机的 ffmpeg。
    • @DestinyB 正如我所说,一旦您的视频流量过多,CPU 就无法应对。这可能会给同一服务器上托管的其他网站带来风险,并且您的托管服务提供商不会让您使用 ffmpeg 或其他库来执行此操作,但我发现 ffmpeg 托管,它可能会帮助您hostupon.com/ffmpeg-hosting.php,如果没有,请使用 VPS , google 上便宜的 VPS 太多了,对你来说很容易。
    猜你喜欢
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多