php - 需要 exec() ffmpeg 在共享主机、1and1 主机上

标签 php ffmpeg shellexecute

我在这里阅读了很多关于 SO 的相关帖子,并在这里得到了以下想法:

首先,我的网站在 1and1.com 上共享托管。我的目标是在我的 PHP 代码中调用 exec() 来运行 ffmpeg 将短视频(30 秒)从格式 A 转换为格式 B。

1) 现在,由于我的共享主机情况(我的网站运行的 1and1 Web 服务器与其他 1and1 客户共享)——1and1 的管理员可能将他们的服务器置于“安全”模式,所以我希望在 PHP 中执行 exec()对视频进行 ffmpeg 转换 - 将失败。
(假设有一个“安全模式”共享目录,但这是一个可以跳过 1and1 的箍)。

2) 即使 1and1 不介意,如果我从我的 PHP 代码中调用 'exec(ffmpeg -i yada yada)' 来在视频格式之间进行转换——我听说这样做很不合适。我被引导相信我需要一个专用服务器而不是共享服务器。这听起来很奇怪,因为(a)该网站永远不会扩展到大量用户,以及(b)当我在我 2 1/2 岁的笔记本电脑 Windows Vista 上运行 ffmpeg 时,运行 Xampp 作为我的本地主机开发 Web 服务器,转换就像现在一样发生。非常快。

上述限制是否正确(共享虚拟主机上的“安全模式”,运行 ffmpeg 是没有专用框的禁忌)?
我想 1and1 甚至不会注意到我的网站是否每天进行一些(比如 20 次以下)短视频转换。

此外,如果有人可以针对我的情况推荐合适的网络托管公司,我将欠您的债。谢谢。

最佳答案

我相信安全模式将允许您使用 exec,因为 1and1 会让您 chroot,因此您运行的任何程序都无法访问其他用户。但是,您可能需要检查 AUP 以查看是否阻止那些类型的进程(消耗大量资源)。

为了获得最佳性能,您应该使用可以控制 php 环境的 VPS 服务器。 ffmpeg 可能会占用大量资源,因此为了获得最佳性能,最好使用 VPS/专用。此外,在共享主机上使用 ffmpeg 也会影响其他网站的性能。

任何 VPS 都可以,但因为您要求推荐,我会推荐 BlueMileCloud。

PS:你永远不应该直接从 exec 调用进程。您应该将其添加到队列中,这样脚本就不会等待进程完成并导致站点挂起。

关于php - 需要 exec() ffmpeg 在共享主机、1and1 主机上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514815/

相关文章:

php - 如何禁用 Yii2 中的按钮

c++ - 从内存缓冲区处理视频流

ffmpeg - libavcodec 的 AVRational 与 29.9 fps

delphi - 如何shell到另一个应用程序并让它以delphi形式出现

shell - 如何为通过 shell 脚本调用的 Ant 脚本传递参数?

php - Smarty 和 Zend 有什么区别?

php - 使用适用于 PHP 的 AWS 开发工具包上传的 Amazon S3 文件始终为 “application/octet-stream”?

video - FFMPEG select between and setpts 创建流的副本

delphi - Delphi过程执行超过512个字符的程序

php - #1064(42000) INSERT INTO 查询中的 MySQL 错误 PHP MySQL