FFMPEG无法在PHP
问题描述:
中使用exec()或shell_exec()运行所以我一直在努力让FFMPEG对上传到我的网站的视频进行编码。上传脚本调用PHP程序执行exec()来运行一个脚本调用encode.php,看起来像这样:FFMPEG无法在PHP
include("include/config.inc.php");
$videoID = $argv[1];
exec("ffmpeg -i " . $_SERVER['DOCUMENT_ROOT'] . "/processing/" . $videoID. ".mp4 -vcodec libx264 -vpre normal -s 1280x720 -r 30 -acodec libfaac " . $_SERVER['DOCUMENT_ROOT'] . "/videos/" . $videoID . ".mp4");
$connect = mysql_connect($dbhost, $dbusername, $dbpassword);
mysql_select_db($dbname, $connect);
$query = mysql_query("UPDATE `videos` SET `isProcessing` = 0 WHERE `id` = '$videoID' LIMIT 1");
然而,什么也没有发生到视频都没有。我试过使用FFMPEG的完整路径,但这也不起作用。我知道该脚本正在执行,因为isProcessing在数据库中设置为0。
也许我只是无知,但我似乎无法弄清楚这一点。任何帮助将不胜感激。
答
+0
请参阅此问题,因为它可能与DYLD有关http://stackoverflow.com/questions/10107671/ffmpeg-mamp-dyld-library-not-loaded-error – ojreadmore 2013-05-03 18:51:54
有一个看的error_log文件,看看是否有一些信息从FFmpeg的命令执行的输出来。您还可以执行捕获其输出的命令,并显示此类输出(用于调试目的)。 – jap1968 2013-03-27 06:40:44
你的视频有多长?由于FFmpeg仅在转换结束时使您的视频可用。也许你的FFmpeg转换速度非常慢并且挂起,因为你使用的是libx264,大小为1280x720。您可以使用'-t 10'设置10秒的时间捕捉来缩短视频。只需测试一下,看看会发生什么。 – 2013-03-27 08:01:44