我在不同的论坛和在线资源中搜索了如何在共享主机上的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上filemanger中的文件夹中,并将其命名为“ binary files”。然后我按照下面的代码更改了密码;
$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
]);
但是仍然出现错误,提示无法从代码
加载this Image中所示的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 :(得分:0)
不幸的是,并非所有托管服务提供商都允许将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