我需要在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");
答案 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的计算机将无法运行。
以下链接将为您提供帮助
然后运行此命令
exec("ffmpeg -i test.mp3 -codec:a libmp3lame -b:a 128k out.mp3");