0

我正在尝试使用 ffmpeg 在 PHP 中转换音频文件,我通过 post 将音频文件作为 m4a 获取,我想将其转换为 mp3。为此,我执行以下操作:

$commandOutput = shell_exec('ffmpeg -i '.$filePath.' -ar 8000 -ab 16000 '.str_replace('m4a', 'mp3', $filePath));

然而它什么也不做,并且 commandOutput 也不包含任何内容。该文件已正确保存但未转换为 mp3,当我在终端中运行相同的命令时,它会正确转换文件。知道会发生什么吗?

4

2 回答 2

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以便您可以看到任何错误消息。

于 2012-04-27T20:50:20.583 回答
1

您可以使用 ffmpeg-php 扩展:http: //sourceforge.net/projects/ffmpeg-php/

于 2012-04-27T20:51:17.353 回答