ffmpeg-php exec无法在服务器上运行

时间:2015-04-11 12:56:46

标签: ffmpeg-php

我在我的本地xampp中使用FFmpeg并且它工作正常。但是在我的服务器上(安装了FFmpeg)exec不起作用,FFmpeg不会创建输出文件。

这是我的代码:

<?php

extension_loaded('ffmpeg') or die('Error in loading ffmpeg');

$vid = realpath('test.mp4');

$ffmpegInstance = new ffmpeg_movie($vid);
echo "getDuration: " . $ffmpegInstance->getDuration() . "<br />".
"getFrameCount: " . $ffmpegInstance->getFrameCount() . "<br />".

$cmd = "ffmpeg -i $vid -s 640x360 -vcodec libx264 -preset medium -crf 23 -acodec libmp3lame -ar 44100 -q:a 5 out.flv  1> block.txt 2>&1";

//$cmd = "ffmpeg -i $vid -vcodec libvpx -cpu-used -5 -deadline realtime out.mp4 1> block.txt 2>&1";

exec($cmd);
?>

1 个答案:

答案 0 :(得分:0)

我不确定你为什么要加载扩展名ffmpeg但是调用shell来运行ffmpeg。如果你想在php中调用ffmpeg或使用exec / shell,也许你混淆了。

你能先用echo system('which ffmpeg');来验证服务器上是否可以找到ffmpeg吗? 还要以类似的方式检查ffmpeg的版本。 请使用systemexec命令的输出和返回值来查看真正的问题。有关详细信息,请参阅exec()system()