【发布时间】:2014-01-15 04:18:35
【问题描述】:
hai 我在 php exec() 中使用 ffmpeg 命令将任何类型的视频转换为 flv 格式 我使用的命令在命令提示符下运行良好,但是当我运行相同的命令时,它什么也不返回。输出为 Array(),第三个参数 $result 为 "1"
我在 stackoverflow 上读过类似的问题,但没有帮助
大多数时候我注意到问题在于路径和 php 的安全模式
我使用 .htaccess 禁用了安全模式,语法如下,我使用的是 Windows 7 操作系统
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/>";
?>
关闭安全模式的htaccess:
php_value safe_mode "0"
输出:
starting ffmpeg...
array(0) { } 1
done...
【问题讨论】: