乐趣区

关于php:PHPFFMpeg-安装

装置 FFMPEG

wget http://download.bt.cn/install/ext/ffmpeg.sh && sh ffmpeg.sh

装置完后可输出以下命令是否装置胜利

ffmpeg -version

删除禁用函数

proc_open,exec, system

装置 PHP-FFMpeg

composer require php-ffmpeg/php-ffmpeg

常见问题

Executable not found, proposed : avprobe, ffprobe

php-fpm 在执行 FFMPEG 的时候,没有找到 ffprobeffmpeg 解决办法如下:

命令行解决

  1. 通过 shell 确定文件地位
whereis ffprobe
/usr/local/bin/ffprobe
which ffmpeg
/usr/local/bin/ffmpeg
  1. 在初始化 FFMpeg 的时候将文件地位写入
 $ffmpeg = FFMpeg::create([
            'ffmpeg.binaries' => '/usr/local/bin/ffmpeg',
            'ffprobe.binaries' => '/usr/local/bin/ffprobe',
 ]);

PHP 代码间接解决

// 写入 WWW 用户的环境变量
putenv('PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH');
// 通过 exec 函数找到文件对应地位
$ffmpeg = FFMpeg::create(['ffmpeg.binaries' => exec('which ffmpeg'),
     'ffprobe.binaries' => exec('which ffprobe'),
]);

尽管看似两种方法,其实解决思路是统一的,都是要指定 ffmpegffprobe 文件的地位。实践上间接在服务器上将 www 用户的环境变量退出 ffmpegffprobe 也能够解决此问题(没有测试,不保障无效,有趣味的能够自行验证)。

Reference

PHP-FFMpeg

Executable not found, proposed : avprobe, ffprobe

一键装置 ffmpeg 命令

退出移动版