Как использовать ffmpeg с laravel 5.7 на виртуальном хостинге с ограниченными ресурсами / доступом

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

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

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

0

Решение

К сожалению, не все хостинг-провайдеры допускают установку 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.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]