FFmpeg - PHP错误代码127

时间:2011-01-28 12:14:20

标签: php ffmpeg

我正在尝试从php执行FFmpeg。我已经安装了FFmpeg-php,扩展名在modules目录中,它显示在phpinfo中。 FFmpeg工作正常,因为我可以在终端中运行命令并输出视频。但是,当我尝试使用以下脚本从php运行命令时:

exec(ffmpeg -i input.avi output.avi);

但我得到一个'127'错误代码。

使用以下命令加载扩展名:

$extension      = "ffmpeg";
$extension_soname   = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;

// Locate Extension
define('FFMPEG_LIBRARY', '/usr/local/bin/ffmpeg');

// Load Extension
if (!extension_loaded($extension))
    echo dl($extension_soname) or die("Can't load extension $extension_fullname\n");

我也尝试在命令中定义aboslute扩展位置:

exec(/usr/local/bin/ffmpeg-i input.avi output.avi);

同样,这在终端中有效,但仍然使用php exec()返回相同的错误代码。

有没有人有任何想法?

谢谢。

2 个答案:

答案 0 :(得分:3)

如果您加载了模块,请使用php-ffmpeg api而不是exec。只有在没有加载模块的情况下运行exec,或者你没有加载模块(意味着你根本没有使用模块)。

您收到的错误来自ffmpeg二进制文件(不是扩展程序,但您根本没有使用扩展程序),因此请搜索ffmpeg status 127 error以解决与ffmpeg相关的问题。

答案 1 :(得分:1)

我遇到了同样的问题(ffmpeg没有通过exec / system运行)

我使用/usr/bin/ffmpeg而非ffmpeg

对其进行了排序