我正在尝试从 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");
我还尝试在命令中定义绝对扩展位置:
exec(/usr/local/bin/ffmpeg-i input.avi output.avi);
同样,这在终端中有效,但使用 php exec() 仍然返回相同的错误代码。
有人有什么想法吗?
谢谢。
如果您加载了模块,请使用php-ffmpeg api而不是执行。仅当模块未加载时才运行 exec,否则您已无缘无故地加载了该模块(意味着您根本没有使用该模块)。
您收到的错误来自 ffmpeg 二进制文件(不是扩展名,尽管您根本没有使用扩展名),因此搜索ffmpeg status 127 error
解决与ffmpeg相关的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)