我编写了一个 php 程序,它使用 ffmpeg 从图像序列创建视频。
<?php
$res = shell_exec("ffmpeg -framerate 50 -i image/image%d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 2>&1");
echo "$res";
当我运行它时,
它说 GLIBCXX_3.4.15
、GLIBCXX_3.4.9
、GLIBCXX_3.4.11
未找到。
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.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 -framerate 50 -i image/image%d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
命令工作正常。 为什么 php 找不到库 而在终端上运行正常?我应该怎么做才能解决 php 中的问题?提前致谢。
最佳答案
我在从 PHP 脚本执行 ffmpeg 命令时也遇到了类似的问题。我通过从终端执行以下命令找到了解决方案。我在此处粘贴该命令,以便有人从中获得帮助。
sudo mv /opt/lampp/lib/libstdc++.so.6 /opt/lampp/lib/libstdc++.so.6.orig
现在只需运行您的 php 脚本,希望它会起作用。
关于php - 在 lampp 服务器中从 php 运行 ffmpeg 时找不到 GLIBCXX_3.4.9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353604/