ffmpeg的php exec()不工作
hai我在php exec()中使用ffmpeg命令将任何类型的视频转换为flv格式我使用的命令在命令提示符下运行良好,但当我运行相同的命令时,它不会返回任何结果。实际上,输出是Array(),第三个参数$result是“1” 我在stackoverflow上读过类似的问题,但没有帮助 大多数时候,我注意到问题在于php的路径和安全模式 我使用.htaccess禁用了安全模式。语法如下,我使用的是Windows7操作系统 ffmpeg应用程序的目录是c:\ffmpeg\bin\ffmpeg 完整的脚本和输出如下所示: ffmpeg命令:ffmpeg的php exec()不工作,php,video,ffmpeg,exec,Php,Video,Ffmpeg,Exec,hai我在php exec()中使用ffmpeg命令将任何类型的视频转换为flv格式我使用的命令在命令提示符下运行良好,但当我运行相同的命令时,它不会返回任何结果。实际上,输出是Array(),第三个参数$result是“1” 我在stackoverflow上读过类似的问题,但没有帮助 大多数时候,我注意到问题在于php的路径和安全模式 我使用.htaccess禁用了安全模式。语法如下,我使用的是Windows7操作系统 ffmpeg应用程序的目录是c:\ffmpeg\bin\ffmpeg 完整
ffmpeg -i c:\xampp\htdocs\video\original\robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\xampp\htdocs\video\vids\robot.flv
php脚本:
echo "starting ffmpeg...<br/>";
echo exec("ffmpeg -i c:\xampp\htdocs\video\original\robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\xampp\htdocs\video\vids\robot.flv",$out,$r);
var_dump($out);
echo $r."<br/>";
echo "done...<br/>";
?>
输出:
starting ffmpeg...
array(0) { } 1
done...
尝试下面的方法,而不是使用exec(ffmpeg-i“inputfile”“outputfile”) $cmd=“ffmpeg-ic:\xampp\htdocs\video\original\robot.mp4-c:v libx264-ar 44100-crf 17 c:\xampp\htdocs\video\vides\robot.flv” ob_start() passthru($cmd) $cmd_retr=ob_get_contents() 打印($cmd\u retr)
starting ffmpeg...
array(0) { } 1
done...
<?php
echo exec("cmd /c ffmpeg -i c:\\xampp\htdocs\video\original\robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\\xampp\htdocs\video\vids\robot.flv",$out,$r");
?>