ffprobe json输出不在exec中工作,但在CMD中工作

时间:2014-04-05 09:37:46

标签: php json ffmpeg ffprobe

我在Windows 2008服务器上安装了ffmpeg。

我在CMD中使用此字符串,我得到了我想要的内容

PHP文件:

 ffprobe -v quiet -print_format json -show_format -show_streams "C:\wamp\www\uploads\fc30e528b500b26a391ed4f5ed484310.mp4" 

这是我在另一个stackoverflow问题上找到的PHP函数,它有很好的反馈,所以我测试了它。

$file_name = 'fc30e528b500b26a391ed4f5ed484310';
$file_ext = 'mp4';
$ffprobe = 'C:\\ffmpeg\\bin\\ffprobe.exe';
$videoFile = 'C:\\wamp\\www\\uploads\\'.$file_name.'.'.$file_ext;

$cmd = shell_exec($ffprobe .' ffprobe -v quiet -print_format json -show_format -show_streams "'.$videoFile.'"');
$parsed = json_decode($cmd, true);
print_r($parsed);

什么是回来什么都没有。我也尝试使用与ffmpeg相同的功能(我为ffmpeg工作)。

$cmd = $ffprobe.' ffprobe -v quiet -print_format json -show_format -show_streams "'.$videoFile.'" 2>&1';
echo shell_exec($cmd);

这也没有带来什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在包含.exe修复问题后删除了ffprobe:

$file_name = 'fc30e528b500b26a391ed4f5ed484310';
$file_ext = 'mp4';
$ffprobe = 'C:\\ffmpeg\\bin\\ffprobe.exe';
$videoFile = 'C:\\wamp\\www\\uploads\\'.$file_name.'.'.$file_ext;
$cmd = shell_exec($ffprobe .' -v quiet -print_format json -show_format -show_streams "'.$videoFile.'"');
$parsed = json_decode($cmd, true);
print_r($parsed);