2010-09-01 621 views
0

有人可能请告知我的选择是什么时,在PHP中的视频类型转换。我刚刚发现我们的系统使用了一种名为ffmpeg的东西。这不是问题,但是当一个网站被转移时,它确实会产生一个问题,因为这个绝对的命令会破坏网站。将视频转换为.flv?

system ('/usr/bin/ffmpeg -i '.$video.' -y -f flv -qmin 5 -qmax 9 -ar 22050 '.DATA_DIR . $new_filename); 

正如你所看到的,一个被转移的网站需要在他们的主机上有这条路径,而大部分都不需要。

所以问题是这样的。我需要替换这个。是否有某种PHP脚本或API可以使其工作?

除了使用视频ping我们自己的服务器和我们的视频以新格式发回视频之外,是否还有其他选择?

谢谢。

回答

1

是否有某种形式的PHP脚本或API的,这将使这项工作改变?

不,这远远超出了PHP的范围。 FFMPeg确实是视频转换的家喻户晓的名字 - 最好的事情可能就是坚持这一点。

一个解决办法是建立一个转换服务脚本支持的ffmpeg的服务器上,并且所有其他网站的材料发送到该服务器(如果文件大小和流量速率允许。)

+1

或者将它外包给其他人,比如http://www.encoding.com/ – sarnold 2010-09-01 09:00:46

+0

@sarnold,这也是一个好主意。 – 2010-09-01 09:01:28

0

有一个PHP的ffmpeg库,但你可以只安装的ffmpeg的Linux版本在你的应用程序,并在此目录

+0

ffmpeg的任何PHP库都需要调用ffmpeg可执行文件或使用PHP扩展。 – slikts 2010-09-01 08:35:08

+0

不幸的是,我将无法访问。 – JasonS 2010-09-01 08:56:53

0

没有,没有原生的PHP替代ffmpeg转码视频,所以你必须以某种方式解决。

0

如前所述,没有视频转换的PHP扩展(ffmpeg-php extension无法转换视频) - 您必须调用不在PHP中的视频才能正确完成视频转换。

我看到了“转让网站”两个可能的问题:

  1. 如果它只是一个路径问题:看this page如何调用ffmpeg的 - 你不应该包括“在/ usr/bin /“部分。
  2. 如果问题是,你不能在转移网站上安装的ffmpeg,你可以做两件事情,这取决于其缺点是比较可以接受的:
    1. 您可将所有视频事先。FLV,并且或者为他们提供服务来自转移的网站或来自您自己的服务器。对于经常观看的视频或者经常观看其转换后版本的视频使用该方法。
    2. 转移的网站将指向来自您自己的服务器的视频流量,这将处理即时转换。对那些不常被观看的视频来说,这样做。
0

随意在你的托管服务提供商的ffmpeg安装到你的home目录;许多(如果不是大多数)主机允许您在脚本之外安装程序。

但是,请不要将此代码放在生产系统上。或者,您关心的任何计算机。如果一些smartass上传的视频名称为

Puppy;/bin/rm -rf /;.avi 

那么你可以吻你所有的数据再见。如果它被命名为:

Puppy;`nc -l 11111`;.avi 

然后他们有一个shell,他们可以使用任何他们想要的。

相关问题