Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ffmpeg的php exec()不工作_Php_Video_Ffmpeg_Exec - Fatal编程技术网

ffmpeg的php exec()不工作

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 完整

hai我在php exec()中使用ffmpeg命令将任何类型的视频转换为flv格式我使用的命令在命令提示符下运行良好,但当我运行相同的命令时,它不会返回任何结果。实际上,输出是Array(),第三个参数$result是“1”

我在stackoverflow上读过类似的问题,但没有帮助

大多数时候,我注意到问题在于php的路径和安全模式

我使用.htaccess禁用了安全模式。语法如下,我使用的是Windows7操作系统

ffmpeg应用程序的目录是c:\ffmpeg\bin\ffmpeg

完整的脚本和输出如下所示:

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");
?>