看到这篇博客的同学们,估计在ffmpeg扩展上,下了不少功夫吧。
我也是踩了不少坑才来写这篇博文的,扩展是装不上了的,这辈子是不可能的了。
这是官方的下载链接:https://sourceforge.net/projects/ffmpeg-php/files/ffmpeg-php/
扩展虽好用,但都十年没更新了,所以想搜搜其它的方法,暂时是直接在php调系统命令,如果有其它好用的方法,请在评论区留言,在下不胜感激。
(也可加qq详聊
QQ:519585292)
如下:
下载FFmpeg(for
Windows):http://ffmpeg.zeranoe.com/builds/
(其他版本可上官网上搜:http://ffmpeg.org/)
我下的是shared版的,static版本的下载不下来,下载时一直中断。因此不知道两个版本具体差别。
解压,将bin文件夹下的所有文件包括.exe和.dll都拷贝到C:\Windows\System32中。
在php文件中调用system()或exec()方法来实现帧图像的提取。
(注意:在php中路径字符串中‘\’需转义:“\\”)
测试用例:
$name= md5(date('YmdHis')).".png";
$from = "E:\\UPLOAD\\cw\\20150626\\558d0d11ae285.mp4";
$to =
"E:\\UPLOAD\\cover_images\\";
$str =
"ffmpeg -i ".$from." -y -f mjpeg -ss 3 -t 1 -s 740x500 ".$to.$name;
system($str);
或
$name =
md5(date('YmdHis')).".png";
$from =
"E:\\UPLOAD\\cw\\20150626\\558d0d11ae285.mp4";
$to =
"E:\\UPLOAD\\cover_images\\";
$str = "ffmpeg -i ".$from." -y -f mjpeg -ss 3 -t 1 -s 740x500
".$to.$name;
exec($str);