我不能在exec()
中使用此命令ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4
我如何将它放在exec()中?
这不起作用:
exec(ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4);
答案 0 :(得分:2)
找出问题的方法很少。
如果它在命令提示符下运行正常,它应该工作cli
然后检查是否安装并启用了exec()命令。
<?php if(function_exists('exec')) { echo "exec is installed"; } ?>
<?php function exec_enabled() { $disabled = explode(',', ini_get('disable_functions')); return !in_array('exec', $disabled); } ?>
echo "ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \ "[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \ -codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4";
也可以用引号
来试试exec("ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4");