您的位置:首页 > 运维架构 > Linux

PHP使用ffmpeg实现视频截图(Linux系统和windows系统)

2018-03-28 10:47 597 查看
环境:php5.6,apache2.2
windows7:
ffmpeg-windows下载地址:https://download.csdn.net/download/qq_39545346/10312836

说明:
将ffmpeg中的所有dll文件和ext文件扔到C盘下的system32文件夹。
执行下面的代码:
$name = md5(date('YmdHis')).".png";  
        $from = "E:\\1.mp4";  
        $to = "E:\\cover_images\\";  
        $str = "ffmpeg -i ".$from." -y -f mjpeg -ss 3 -t 1 -s 740x500 ".$to.$name;  
        system($str);
Linux(centos6.8):

根据安装教程在linux上安装完ffmpeg
直接使用exec函数,在php代码中执行linux命令,即可进行截图:
exec('/usr/local/bin/ffmpeg -ss 00:00:01  -i ./1.mp4 ./pic/423.jpg  -r 1 -vframes 1 -an -f mjpeg 1>/dev/null');
注意,运行时应保证以下几点:
1.保存截图文件的文件夹有相关权限,
2.截取的视频文件有相关权限,
3.php没有禁用exec()函数,在php.ini中可以查看disabled_function
4.web访问用户,即apache服务默认用户有执行ffmepg的权限,
apache默认用户在httpd.conf中查看。
5.修改etc下的sudoers文件,新增加
Defaults visiblepw
%apache ALL=(ALL) NOPASSWD:/usr/bin/sudo, /usr/local/bin/MP4Box, /usr/local/bin/ffmpeg
给予apache用户相关权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php ffmpeg linux 截图