ffmpeg not working with php exec. Error: 133
ffmpeg not working with php exec. Error: 133
我正在尝试使用 ffmpeg 从视频文件生成缩略图。
当我 运行 从我的 Mac 终端执行以下命令时,它工作正常:
ffmpeg -i video.mp4 -ss 00:00:01.000 -vframes 1 out.png
当我尝试使用来自 php exec 的相同命令时,它不起作用:
exec('/usr/local/bin/ffmpeg -i video.mp4 -ss 00:00:01.000 -vframes 1 test.png 2>&1', $output, $return_var);
$输出:
Array
(
[0] => dyld: Symbol not found: _sqlite3_intarray_bind
[1] => Referenced from: /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
[2] => Expected in: /Applications/XAMPP/xamppfiles/lib/libsqlite3.dylib
[3] => in /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
)
$return_var:
133
请帮忙
这可能是因为 DYLD_LIBRARY_PATH
链接到 XAMPP 库文件夹。在 exec
命令之前添加以下行,它应该可以工作:
putenv('DYLD_LIBRARY_PATH');
我正在尝试使用 ffmpeg 从视频文件生成缩略图。
当我 运行 从我的 Mac 终端执行以下命令时,它工作正常:
ffmpeg -i video.mp4 -ss 00:00:01.000 -vframes 1 out.png
当我尝试使用来自 php exec 的相同命令时,它不起作用:
exec('/usr/local/bin/ffmpeg -i video.mp4 -ss 00:00:01.000 -vframes 1 test.png 2>&1', $output, $return_var);
$输出:
Array
(
[0] => dyld: Symbol not found: _sqlite3_intarray_bind
[1] => Referenced from: /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
[2] => Expected in: /Applications/XAMPP/xamppfiles/lib/libsqlite3.dylib
[3] => in /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
)
$return_var:
133
请帮忙
这可能是因为 DYLD_LIBRARY_PATH
链接到 XAMPP 库文件夹。在 exec
命令之前添加以下行,它应该可以工作:
putenv('DYLD_LIBRARY_PATH');