我已经使用Ubuntu安装了ffmpeg,
sudo apt-get install ffmpeg
ffmpeg安装在根目录“ / usr / bin / ffmpeg”上。
在终端中工作正常,但是当我使用php执行该操作时,我没有任何输出。
shell_exec(/usr/bin/ffmpeg -y -i ./upload/1535531595first.mp3 -i ./upload/1535531595second.mp3 -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ./download/1535531595outputnow1.mp3)
并在“ opt / lampp / htdocs / project-Name / sub-directory / test.php”文件中使用此命令。
任何帮助将是可贵的。提前致谢。
找到附件Test data get,但对于php无法正常工作
答案 0 :(得分:0)
它在任何地方都能完美运行!我也在我的PHP项目中使用了FFMPEG,最常见的问题是:
首先,检查您的路径,最好像这样/user/foo/bar.mp3
从根目录访问文件,并对输出执行相同的操作。
$input_file = "/user/foo/bar.mp3";
$output_file = "/user/foo/out.mp3";
shell_exec("ffmpeg -i \"{$input_file}\" \"{$output_file}\");
顺便说一句,Web应用程序存在问题在PHP项目中使用FFMPEG时,您可能会遇到timeout
错误,因为处理时间太长了。
我建议您使用以下脚本,它在后台进程中执行命令行命令
function Execute($CMD)
{
$OS = strtoupper(PHP_OS_FAMILY);
if ($OS == 'WINDOWS') {
return pclose(popen("start /B {$CMD}", "r"));
} else {
return shell_exec("{$CMD} > /dev/null 2>/dev/null &");
}
}