【发布时间】:2011-06-06 01:56:52
【问题描述】:
我正在尝试让 FFMPEG 在 php 中工作。我刚刚安装了 ffmpeg 和 x264 并在我的终端中运行了以下命令:
$command = 'ffmpeg -i /home/gman/Desktop/cave.wmv -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 -threads 0 /home/gman/Desktop/newvideo.flv
它运行良好,并从初始视频创建了一个新的 flv 视频,就像我想要的那样。
现在当我在 php 中尝试同样的事情时,什么也没有发生......
$safe_path = escapeshellarg("/home/gman/Desktop/newvideo.flv");
$command = 'ffmpeg -i /home/gman/Desktop/cave.wmv -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 -threads 0 ' . $safe_path;
exec($command);
有人有什么想法吗?我能以某种方式看到 exec 在做什么并看到某种输出吗?会很感激的。
【问题讨论】:
-
您可以将变量作为第二个参数传递给
exec(),并将输出分配给它。 -
使用php.net/shell_exec 代替以字符串形式返回输出。
-
Alex 和 Brad 说了什么,然后回来发布结果,以便我们提供帮助! :)
-
如果这是一个 shell 脚本,那么
system()是另一个不错的选择,它可以将所有输出直接打印到标准输出而无需任何额外的努力。 -
不,没有错误对话,我试了shell_exec,像这样,一无所获 $command = shell_exec('ffmpeg -i /home/geoff/Desktop/cave.wmv -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 -threads 0 ' . $safe_path);回声 $command;