PHP使用FFMPEG

windows安装:

https://ffmpeg.zeranoe.com/builds/

linux(ubuntu)安装:

1
2
3
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg

PHP配置:

配置文件中safe_mode=off,然后去掉disable_functions中的exec命令

exec调试:

exec原型
1
string exec( string $command [, array &$output [, int &$return_var]])
调试 在bash中0,1,2三个数字分代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制台),标准错误(出错信息输出) 0:标准输入 STDIN_FILENO 1:标准输出 STDOUT_FILENO 2:标准错误 STDERR_FILENO 将2和重定向到1可以使用:2>&1
1
2
exec(command+'" 2>&1",$res);
print_r($res);//这样就可以看到标准错误流的内容了

权限相关:

要确保php所属的web用户能够执行,最好使用完整路径,windows下使用"C:/Program Files/.../ffmpeg.exe",linux下使用"/usr/bin/ffmpeg"

前台js程序:

直接设置video标签的poster属性为截图的图片即可