php - 有没有办法使用远程机器的 CPU 在 ffmpeg 中进行转换?

标签 php ffmpeg

我的网站是用 PHP 构建的。我有一个 WWW 服务器,所有上传的内容最终都会在其中进行处理,然后它们会重新同步到 4 个媒体服务器之一。如果上传的流缓慢而稳定,WWW 服务器会相当快地将它们全部转换,但如果一群人同时上传一些东西,他们就会排队,处理一个文件可能需要几个小时。

媒体服务器通常是空闲的,因为从 SSD 驱动器上提供文件会导致没有 iowait,所以 CPU 只是坐在那里,我想利用它进行转换。

有什么好的(简单)方法可以做到这一点?

最佳答案

让 WWW 服务器将文件复制到媒体服务器,并在那里运行一个连续的过程来转换它们,然后以某种方式通知 Web 服务器。

这是一个使用数据库进行状态通信的示例:

  • Web服务器接收上传
  • Web 服务器将文件复制到其中一台媒体服务器并创建状态为“NEW”的数据库条目,并将其分配给媒体服务器
  • 有问题的媒体服务器会在每 10 秒左右轮询一次数据库时注意到新条目
  • 媒体服务器转换视频并将数据库条目更新为“已处理”状态
  • 视频现在可以在网站上看到。

  • 分配可以通过以循环方式将文件移交给媒体服务器来处理,或者您甚至可以让它们报告其当前的工作量,以便可以使用最不繁忙的服务器。

    (您还有用于视频的 SSD 存储空间吗?我想要其中的一些……)

    关于php - 有没有办法使用远程机器的 CPU 在 ffmpeg 中进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730658/

    相关文章:

    php - 将变量从选择元素传递到 JSON 更新函数 - PHP

    php - 从下面的php+mysql表代码中显示总计

    php - Magento - 显示缺货产品时间执行

    php - FFMpeg - 为视频文件创建缩略图

    ffmpeg mp4 从正确的点剪切 |无编码

    windows - ffmpeg : "Unable to BindToObject" 中无法列出捕获卡的选项

    ffmpeg - 在 .ts 文件调整大小时维护 PTS

    php - 如何检查给定日期是否晚于 3 天?

    docker - 在 docker 容器内运行 pulseaudio 以记录系统音频

    php - Ratchet session 存储