2010-07-14 46 views
2

假设我创建了一个类似Camtasia的视频并将其保存为.avi。我将如何通过程序化方式提取一个子片段,比如说从1点到1点50分。这是PHP可以处理的东西吗?PHP可以处理拆分视频

编辑:我不介意使用库,如果PHP不能单独处理,包括ffmpeg。但我并不期待通过命令行获得某些东西。理想情况下,它会通过PHP。

P.S.我认为像Camtasia这样的视频捕捉程序可能有自己的编解码器(我认为Camtiasia称它为TechSmith)。不知道这对PHP脚本有什么影响。

回答

5

我极力阻止您直接使用PHP来执行此操作。有很多视频处理工具可以从命令行运行(例如,ffmpeg),这样做可以更高效地完成。如果你想变得有点花哨(并且想要显着提高网站的响应速度),那么可以将作业弹出到数据库中,并让一个持续运行的服务执行剪辑提取,并在完成后用相关信息更新数据库。

只是一个想法,当然。可能有一个模块用于处理视频的PHP绑定,但您仍然有问题让用户在切断视频时等待(并占用Web服务器资源)。

+0

+1。我在想这对PHP来说是一个糟糕的用例。 – Kalium 2010-07-14 02:36:29

+2

我在服务器上有ffmpeg,所以我不介意使用它,如果它有助于工作,但我正在寻找脚本解决方案,而不是通过命令行 – cooper 2010-07-14 02:55:54

+2

PHP可以调用基于命令行的工具,如果这就是你的意思 - 例如,查看http://us3.php.net/manual/en/function.popen.php。一个问题:您的网站可以不立即返回切片视频(例如,将其放在队列中并让用户稍后再次检查),或者用户是否愿意等待处理?如果他们愿意等待,set_time_limit(0)然后popen()可能是要走的路。 – Faisal 2010-07-14 03:05:51