以下命令在终端中有效,但我无法弄清楚如何使用exec()
在PHP脚本中运行它。
ffmpeg -f concat -i <(echo -e "file '/home/1.mp4'\nfile '/home/2.mp4'") -c copy -y /home/output.mp4
我尝试了几个字符转义选项但没有效果。任何帮助将不胜感激。
array_push($files, "file '".$local."'"); //run this twice to get both 1.mp4 and 2.mp4
$command = 'ffmpeg -y -auto_convert 1 -f concat -i <(echo -e "'.implode('\\n', $files).'") -c copy -y /home/output.mp4';
exec($command);
//also tried exec(escapeshellcmd($command));
//also tried $command = 'ffmpeg '.escapeshellarg('-y .... output.mp4');
//also tried array_push($files, "file \'".$local."\'");
我得到的错误:
sh: 1: Syntax error: "(" unexpected
是的,我找到了解决方法。我需要在命令中添加bash -c。