我有这个应用程序,我需要将视频文件转换为 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/lampp/lib。
我备份了原始文件并粘贴了新文件和 BOOM!有效! :)
我希望它也适合你。
关于php - FFMPEG 适用于控制台,但不适用于 Ubuntu 上的 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33741194/