mac 上的 FFMPEG 和 PHP 不起作用
Posted
技术标签:
【中文标题】mac 上的 FFMPEG 和 PHP 不起作用【英文标题】:FFMPEG and PHP on mac does`t work 【发布时间】:2014-09-16 10:38:26 【问题描述】:我需要你的帮助。目前我使用 Mac OS X 10.9.4 和 xampp apache 1.8.3-3。我需要使用 ffmpeg(3.2 版)通过 php exec()
转换视频文件,但我无法使其工作。我做了一些运行终端命令行的测试,系统运行正常。只有在php中它不起作用。
ffmpeg 是通过 brew 编译和安装的。
我运行了以下测试:
exec("/usr/local/Cellar/ffmpeg/2.3/bin/ffmpeg -i /Applications/XAMPP/xamppfiles/htdocs/teste/trailer.mp4 /Applications/XAMPP/xamppfiles/htdocs/teste/trailer2.flv 2>&1", $o, $v);
var_dump($o);
var_dump($v);
得到以下结果:
array(4)
[0]=> string(51) "dyld: Symbol not found: __cg_jpeg_resync_to_restart"
[1]=> string(82) "Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO"
[2]=> string(63) "Expected in: /Applications/XAMPP/xamppfiles/lib/libJPEG.dylib"
[3]=> string(67) " in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO" int(133)
【问题讨论】:
您是否能够以 Web 服务器运行的用户身份从命令行运行 ffmpeg?您的环境和网络服务器的环境可能很容易完全不同。 获取另一个 FFmpeg 二进制文件。 【参考方案1】:问题与 DYLD_LIBRARY_PATH 被设置为 xampp 库文件夹有关
尝试在执行之前取消设置 exec 之前的任何一个都可以工作
exec('unset DYLD_LIBRARY_PATH ;');
putenv('DYLD_LIBRARY_PATH');
putenv('DYLD_LIBRARY_PATH=/usr/bin');
【讨论】:
我来过这里两次。我一直在寻找最终的解决方案。我尝试将xamppfiles/bin/envvars
更改为DYLD_LIBRARY_PATH="/usr/bin:/Applications/XAMPP/xamppfiles/lib"
,但它不起作用。仅当我更改为 /usr/bin
时它才有效,但我认为如果没有 xampp lib,某些东西可能会停止工作。以上是关于mac 上的 FFMPEG 和 PHP 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
将 CEFPython 并入 Mac 上的 Kivy 应用程序——键盘输入不起作用
当我将视频转换为 mp4 时,PHP FFMPEG 不起作用 [关闭]