Как использовать ffmpeg с laravel 5.7 на виртуальном хостинге с ограниченными ресурсами / доступом - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть поиск по различным форумам и онлайн-ресурсам о том, как я могу использовать ffmpeg в своем приложении laravel 5.7 на общем хосте, но я не нашел никакого решения.Я фактически установил ffmpeg в свой проект, следуя инструкциям по этой ссылке Как установить FFMPEG в Laravel.

Я также загрузил двоичные файлы и сохранил их на свой локальный диск C: // inмоя система с операционной системой 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.

у меня проблема в том, что я загрузил проект на общий хост, к которому у меня нет доступа, чтобы проверить, есть ли на сервере 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, как показано в этом изображении из кода

    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 в общедоступном общедоступном ранее, это должно помочь.Пожалуйста!

1 Ответ

0 голосов
/ 29 ноября 2018

К сожалению, не все хостинг-провайдеры допускают установку FFmpeg для своих планов общего хостинга.

Пропускная способность может быть неограниченной, но ЦП не справляется, когда ваши видео получают слишком большой трафик.Это может угрожать другим веб-сайтам, размещенным на том же сервере.

Я предлагаю вам воспользоваться VPS-сервером, и вы будете отдыхать!

В противном случае проверьте текст ниже, только DreamHost установил ffmpeg на виртуальном хостинге

HostGator

Hostgator не разрешает установку FFmpegна ваш общий хостинг-план.Пропускная способность может быть неограниченной, но процессор не справляется, когда ваши видео получают слишком большой трафик.Это может угрожать другим веб-сайтам, размещенным на том же сервере.Вы можете установить программное обеспечение, только если вы купите их VPS и выделенный хостинг.

GoDaddy

Из-за ресурсов, используемых FFmpeg, GoDaddy не разрешает установку FFmpeg дляего учетные записи общего хостинга, но вы можете установить его с их VPS и выделенными серверами.

Bluehost

Согласно Bluehost, модуль FFmpeg требует много ресурсов процессора для среды общего хостингавот почему они не поддерживают его.

DreamHost

Если ваш хостинг - DreamHost и вам очень нужен модуль FFmpeg, то вам повезло.Dreamhost уже установил FFmpeg на своих серверах общего хостинга.Абсолютный путь - / usr / local / dh / bin / ffmpeg.Вы также можете установить свою собственную вручную, но учтите, что перерыв не покрывается поддержкой Dreamhost.

Проверьте статью полностью: Ссылка на статью

...