如何在PHP中运行ffmpeg命令

时间:2015-03-06 13:25:35

标签: php ffmpeg command-line-interface

我需要在PHP中运行ffmpeg命令。

但是php-ffmpeg不再支持最新版本并且过时了。

我是否知道在webfile中运行ffmpeg命令的替代方法(PHP,Javascript,jQuery)。

我在PHP文件中尝试exec()shell_exec(),但得到空白输出。

echo shell_exec("/usr/local/bin/ffmpeg  -i test.mp3  -codec:a libmp3lame -b:a 128k out.mp3");

 echo shell_exec("ffmpeg  -i test.mp3  -codec:a libmp3lame -b:a 128k  out.mp3");

3 个答案:

答案 0 :(得分:6)

ffmpeg在stderr上输出,因此您需要重定向输出。将2>&1添加到命令行:

echo shell_exec("/usr/local/bin/ffmpeg -i test.mp3 -codec:a libmp3lame -b:a 128k out.mp3 2>&1");

然后你会看到输出。

答案 1 :(得分:0)

使用 FFMpeg \ FFMpeg ,您可以使用编辑器安装:" php-ffmpeg / php-ffmpeg" :" 0.5。* @设备" (FFMpeg\FFMpeg Git Repository

使用 Symfony Process ,您可以使用composer安装:" symfony / process" :" ~2.0" Symfony Process Documentation

使用 proc_open()功能。

FFMpeg \ FFMpeg 使用 Symfony进程 Symfony进程使用 proc_open()函数:)

我更喜欢使用Symfony Process:

require 'vendor/autoload.php';

use Symfony\Component\Process\Process;
$process = new Process('ls -lsa');
$process->run();

答案 2 :(得分:0)

首先,您必须在服务器中安装ffmpeg库。在服务器命令中没有安装ffmpeg的计算机将无法运行。

以下链接将为您提供帮助

https://ffmpeg.org/

https://www.resellerspanel.com/articles/dedicated-servers-articles/dedicated-servers-howtos/how-to-install-ffmpeg-on-a-dedicated-server/

然后运行此命令

 exec("ffmpeg  -i test.mp3  -codec:a libmp3lame -b:a 128k  out.mp3");