如何在PHP中运行ffmpeg命令


How to run ffmpeg command in PHP

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

但是php-fmpeg不再支持最新版本并且已经过时。

我想知道在web文件中运行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");

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

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

然后您将看到输出。

使用FFMpeg''FFMpeg,您可以使用composer安装:"php FFMpeg/php FFMpeg":"0.5.*@dev"(FFMpeg'' FFMpeg Git Repository)

使用Symfony Process,您可以使用composer安装:"Symfony/Process":"~2.0"(Symfony流程文档)

使用proc_open()函数。

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

我更喜欢使用Symfony流程:

require 'vendor/autoload.php';
use Symfony'Component'Process'Process;
$process = new Process('ls -lsa');
$process->run();

首先必须在服务器中安装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");