2014-07-22 109 views
0

我正在尝试一个简单的测试,以了解如何通过PHP转换视频与ffmpeg,因为他们上传到我的网站(到.mp4)。然而 我是失去了一些东西,因为我的简单测试无所事事....转换视频与PHP和ffmpeg

代码(简体)

$videoFile = '/home/xxx/public_html/dev/videos/1746/sample.avi'; 
exec("ffmpeg -i $videoFile -vcodec h264 -acodec aac -strict -2 /home/xxx/public_html/dev/videos/1746/test.mp4"); 

我也有trired

system("ffmpeg -i $videoFile -vcodec h264 -acodec aac -strict -2 /home/xxx/public_html/dev/videos/1746/test.mp4"); 

shell_exec("ffmpeg -i $videoFile -vcodec h264 -acodec aac -strict -2 /home/xxx/public_html/dev/videos/1746/test.mp4"); 

另外,如果我尝试

echo exec('ffmpeg -formats'); 

我没有得到任何输出

以上都不是皈依的测试工作,并没有创建test.mp4文件。 我有错误报告打开,但没有得到任何错误。

任何建议将受到欢迎请

+0

好,安装在所有的ffmpeg?它是否在shell会话中起作用? – mario

+0

我没有shell访问,但它安装(好吧,我认为),如果我尝试echo('ffmpeg - 版本');我得到很多库和版本号 – Ford

+0

echo exec('ffmpeg -version');给我这个“libpostproc 51. 2. 0/51. 2. 0” – Ford

回答

0

试图改变这样的 EXEC(“ffmpeg的 - 格式>> out.log”)输出 并查看它。

+0

重定向stderr将是有道理的。 – mario

+0

刚刚尝试过这一点,我没有得到日志文件(我认为它会把out.log放在与php页面相同的位置,但我也检查了根目录) – Ford

+0

@mario“重定向stderr”是什么意思? (对不起) – Ford

0

指定ffmpeg可执行文件的完整路径并解决该问题。

如:在/ usr/local/bin目录/ ffmpeg的