我正在尝试使用ffmpeg将一些视频转换为不同的格式。
我有这门课,
<?php
define('FFMPEG', 'C:\\cygwin\\usr\\local\\bin\\ffmpeg.exe');
class VideoEncoder {
public function multicodeFileIntoDir($file, $directory) {
$parts = explode('/', $file);
$filename = $parts[count($parts)-1];
$encode_android = FFMPEG.' -i "'.$file.'" -s 480x320 -vcodec mpeg4 -acodec aac -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 "'.$directory.$filename.'.g1.mp4"';
$encode_windows = FFMPEG.' -y -i "'.$file.'" "'.$directory.$filename.'.avi"';
$out = shell_exec($encode_android);
$out = shell_exec($encode_windows);
}
}
在调试将要运行的命令时,它们按预期工作,并生成正确的文件。我正在调用此代码的目录的权限具有777的权限,$out
是null
,并且该命令无效。
我error_reporting
为E_ALL
,display_errors
为TRUE
。
命令的一个例子(执行前$encode_windows
的值)是
C:\cygwin\usr\local\bin\ffmpeg.exe -y -i "C:\xampp\htdocs\cams/../front/vid20110623_122802.mp4" "C:\xampp\htdocs\cams/../front/vid20110623_122802.mp4.avi"
编辑:看起来它正在写入STDERR,不知何故该命令的输出在apache错误日志中。仍然,输出似乎没问题。
有什么想法吗? 感谢