我正在尝试使用ffmpeg在PHP中转换音频文件,我通过post作为m4a获取音频文件,我想将其转换为mp3。我这样做是为了做到这一点:
$commandOutput = shell_exec('ffmpeg -i '.$filePath.' -ar 8000 -ab 16000 '.str_replace('m4a', 'mp3', $filePath));
然而它什么也没做,而commandOutput也什么都没有。文件保存正确但未转换为mp3,当我在终端中运行相同的命令时,它正确地转换文件。知道可能会发生什么吗?
答案 0 :(得分:2)
尝试包装如下命令:
exec($cmd." 2>&1", $out, $ret);
if ($ret){
echo "There was a problem!\n";
print_r($out);
}else{
echo "Everything went better than expected!\n";
}
exec()
可让您捕获所有输出并获取退出代码。添加2>&1
可确保将STDERR
重定向到STDOUT
,以便您可以看到任何错误消息。
答案 1 :(得分:1)
您可以使用ffmpeg-php扩展名:http://sourceforge.net/projects/ffmpeg-php/