FFMPEG可以在控制台上工作,但不能;我不能在Ubuntu上使用PHP脚本


FFMPEG works on Console but doesn't work in PHP script on Ubuntu

我有这个应用程序,我需要将视频文件转换为MP4,然后压缩它。我正在尝试使用FFMPEG来实现这一点。尝试了控制台中的命令行,它工作得很好

转换

ffmpeg -i teste.avi teste.mp4

压缩

ffmpeg -i teste.mp4 -acodec mp2 teste.mp4

但当我在PHP脚本中执行同样的操作时,它开始大喊没有安装GLIBCXX。这就是错误:

ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libzmq.so.3)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/libzmq.so.3)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4)
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4)

这是我的脚本

$r = shell_exec("ffmpeg -i $file_path $output_path 2>&1"); //convert
$r = shell_exec("ffmpeg -i $file_path -acodec mp2 $file_path 2>&1"); //compress

我正在Ubuntu 上运行脚本

@编辑例如,我可以运行shell_exec('ls')

为了解决这个问题,我去了/usr/lib,搜索了libstdc++(这个目录有更新的版本),并将其复制到/opt/lamp/lib。

我备份了原始文件,粘贴了新文件和BOOM!成功了!:)

我希望它也适用于你。