使用ffmpeg将视频转换为flv格式在本地工作,但在服务器中不起作用

时间:2010-05-08 06:15:50

标签: php ffmpeg

我想将视频转换为flv格式。我正在使用ffmpeg转换视频。我正在使用以下代码。

exec("C:/wamp/www/newtip/ffmpeg/ffmpeg -i C:/wamp/www/newtip/ffmpeg/videos/".$name." -ar 22050 -ab 32 -f flv -s 320x240 C:/wamp/www/newtip/ffmpeg/players/".$name_s.".flv");

它在本地系统中正常工作。但是在服务器中它无法正常工作。

在服务器中我更改了以下代码

exec("http://www.mydomain.com/newtip/ffmpeg/ffmpeg -i http://www.mydomain.com/newtip/ffmpeg/videos/".$name." -ar 22050 -ab 32 -f flv -s 320x240 http://www.mydomain.com/newtip/ffmpeg/players/".$name_s.".flv");

在本地我已经将源路径指定为C:/ wamp / www / newtip /但是在服务器中我已经将路径指定为http://www.mydomain.com/newtip/。我认为在服务器中路径是错误的。谁能告诉我如何在服务器中提供路径?

4 个答案:

答案 0 :(得分:0)

尝试指定正确的目录,并使用以下命令指定文档根目录:

$path = $_SERVER['DOCUMENT_ROOT'] . "your required folder path here";

确保:

  • 文件夹已设置所需权限,chmod为755
  • exec未停用。

答案 1 :(得分:0)

你混淆了路径和网址。代替http://www.mydomain.com/newtip/ffmpeg/ffmpeg,使用完整路径(类似于...... /home/username/mydomain.com/newtip/ffmpeg/ffmpeg)。正如Sarfraz建议的那样,您可以使用$_SERVER['DOCUMENT_ROOT']找到路径的根。

答案 2 :(得分:0)

exec()在运行在服务器上的PHP上运行,因此请使用该路径,就好像您真正在具有本地路径的服务器上运行它一样。

答案 3 :(得分:0)

我有完全同样的问题,结果证明是编解码器。

-acodec mp3正在本地工作,但服务器需要-acodec libmp3lame