indows下PHP通过ffmpeg给上传的视频截图详解
windows下PHP通过ffmpeg给上传的视频截图详解,php_ffmpeg.dll安装下载,找了很久php_ffmpeg.dll的下载地址和应用,发现有用的资源很少,现在问题解决了,贴出来跟大家分享一下: 首先要安装PHP的ffmpeg扩展,我们需要php_ffmpeg.dll文件和一些其他的辅助文件,
这里整理了一下提供给大家: ffmpeg-php-win32-all.rar;
解压后你将得到5个文件,将avcodec-51.dll, avformat-51.dll, avutil-49.dll, pthreadGC2.dll这四个文件拷贝到windows\system32文件夹下面,将php_ffmpeg.dll文件拷贝到PHP扩展目录(扩展目录是你php.ini中extension_dir = "D:\xampp\php\ext\"的配置项) 修改apache\bin文件夹下的php.ini文件(注意:如果你修改的是php/下面的php.ini文件并不会载入php_ffmpeg.dll) 加入extension=php_ffmpeg.dll 并去掉extension=php_gd2.dll, extension=php_gettext.dll前的分号 重启你的Apache,使用phpinfo()函数查看一下配置信息,发现有如下项,说明配置成功
下面我们来生成视频的截图文件,建立一个php文件,加入如下代码:
- <?php
- if(extension_loaded('ffmpeg')){//判断ffmpeg是否载入
- $mov = new ffmpeg_movie('D:\robot.avi');//视频的路径
- $ff_frame = $mov->getFrame(2);
- $gd_image = $ff_frame->toGDImage();
- $img=$_SERVER['DOCUMENT_ROOT']."/test.jpg";//要生成图片的绝对路径
- imagejpeg($gd_image, $img);//创建jpg图像
- imagedestroy($gd_image);//销毁一图像
- }else{
- echo "ffmpeg没有载入";
- }
- ?>
注意:将ffmpeg_movie('D:\robot.avi');中的路径替换成你视频的路径,你发现在你PHP文件的同目录下生成