如何使用PHP& amp;拆分和转换视频FFMPEG

时间:2011-05-11 12:48:07

标签: php ffmpeg flv mp4 video-conversion

我希望用户上传视频,然后编写将此视频拆分为用户定义细分的代码,然后将这些细分转换为.flv.mp4视频。

我有什么方法可以做到吗?

3 个答案:

答案 0 :(得分:6)

我认为在PHP中没有任何方法可以直接执行此操作。即使有,也不是最明智的事情。

最好的办法是将Web应用程序挂钩到命令行程序,例如ffmpeg,然后从PHP脚本中调用系统命令。

我将通过构建一个作业队列来实现这一点,您的Web应用程序将作业添加到队列中,专用工作进程从队列中拉出,执行任务并在其他位置记录任务的完成。

这意味着您的用户无需等待视频实时重新编码。

答案 1 :(得分:1)

我无法将视频分割成片段。对于转换视频,请查看此处的示例 - http://www.ffmpeg.org/ffmpeg-doc.html#SEC18

答案 2 :(得分:1)

实际上,您可以检查FFMPEG-PHP是否在$movie->getFrame()对象上使用ffmpeg_movie方法在定义的时间从视频中抓取静态照片,甚至允许用户访问调整时间。

一旦您知道要分割视频的关键帧,就可以从PHP应用程序中execute the ffmpeg command

我建议整合PHP Resque(基于我经常使用的Ruby的Resque)来排队ffmpeg命令的实际执行,因为否则会拖延你的应用程序。只需使用perform()方法设置一个类来执行ffmpeg,您就可以使用PHP Resque来监控作业状态。