用户上传视频后使用HandbrakeCLI

时间:2012-10-28 08:50:42

标签: php encode

我希望能够在用户上传视频后使用手刹CLI对视频进行编码。我不知道怎么做这个,我猜想我可以想到的是使用php的exec()命令并从那里执行程序。但是不存在风险吗?

或者还有其他办法吗?我基本上需要将视频编码为具有基线3编码的网络可播放格式,以便在所有设备上通过JWPlayer播放。

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:0)

只要你小心处理你正在执行的操作,

exec()就不必是不安全的。

或者,更好的解决方案是使用生产者 - 消费者模型。每次上传视频时,都会将对它的引用添加到队列中。有一个监视队列的CLI脚本,只要队列中有需要处理的视频,脚本就会进行编码。

您可以使用数据库,甚至只使用目录作为队列。例如,将所有新视频上传到目录unprocessed。消费者脚本可以从那里获取视频,对其进行编码并将它们放在名为processed的文件夹中。

这允许您控制应同时处理的视频数量(通过改变消费者数量)。关于用户上传的exec()不允许这样做,您冒着将服务器降到最低的风险。

编辑:

如果您打算使用多个消费者,我建议不要使用目录为队列模型,因为您冒着竞争条件的风险。