Windows系统上FFMpeg-PHP的使用
这几天做项目,其中一个需求是用户上传视频文件到服务器,然后服务器自动截取该视频的一帧作为该视频对应的缩略图,服务器端语言采用php编写,找了半天资料,发现ffmpeg-php可以满足该需求,所以下面简单介绍一下该扩展库的配置和使用方法。
测试服务器环境 WampServer Version 2.1,php5.3.5,ffmpeg-php 配置和使用步骤如下:
1. 下载 ffmpeg-php, ffmpeg-php-5.3-win32-all.zip
2. 将 php_ffmpeg.dll 放到 PHP 扩展目录,(例如 E:\Program Files\wamp\bin\php\php5.3.5\ext)
3. 将其他的dll文件放到系统目录,(例如 C:\Windows\System32)
4. 修改 php.ini,添加 extension=php_ffmpeg.dll 配置项,结果如下:
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_ffmpeg.dll
(注:Wamp 环境下要修改 apache 目录中的 php.ini,(例如E:\Program Files\wamp\bin\apache\Apache2.2.17\bin\php.ini), 同时要启用gd2 和 gettext 模块)
5. 重新启动 apache 服务器
6.打印输出 phpinfo,查看是否有如下输出,若有,则说明 ffmpeg-php 模块配置正确
ffmpeg
| ffmpeg-php version | 0.6.0-svn |
| ffmpeg-php built on | Sep 8 2010 12:13:47 |
| ffmpeg-php gd support | enabled |
| ffmpeg libavcodec version | Lavc52.87.4 |
| ffmpeg libavformat version | Lavf52.78.3 |
| ffmpeg swscaler version | SwS0.11.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| ffmpeg.allow_persistent | 0 | 0 |
| ffmpeg.show_warnings | 0 | 0 |
7. 编写测试代码,示例代码截取视频的第二帧为缩略图
public function testmp4()
{
if(extension_loaded('ffmpeg')){//判断ffmpeg是否载入
$mov = new ffmpeg_movie('E:\\Program Files\\wamp\\www\\BBShow\\test\\guangfa15s.mp4');//视频的路径
dump($mov);
$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没有载入";
}
}
8. 运行测试代码,即可在服务器端生成 jpg 格式的缩略图
9. 有关 ffmpeg-php 的详细使用说明,请参照官方API(http://ffmpeg-php.sourceforge.net/doc/api/)。
Windows系统上FFMpeg-PHP的使用的更多相关文章
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- spm完成dmp在windows系统上导入详细过程
--查询dmp字符集 cat spmprd_20151030.dmp ','xxxx')) from dual; spm完成dmp在windows系统上导入详细过程 create tablespace ...
- 快速获取Windows系统上的国家和地区信息
Windows系统上包含了200多个国家和地区的数据,有时候编程需要这些资料.以下代码可以帮助你快速获取这些信息.将Console语句注释掉,可以更快的完成分析. static void Main(s ...
- Windows系统上如何使用SSH
Windows系统上如何使用SSH 传统的网络服务程序如FTP.Telnet等,在网络上一般使用明文传送数据.用户账号和口令信息,容易受到中间人的攻击.用户利用SSH协议后能有效防止DNS及IP欺骗, ...
- 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据
http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis
一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...
- 非Unicode编码的软件如何在Windows系统上运行
我们常常会遇到这样一种情况:点开某些日文软件(我不会说就是galgame( ╯□╰ ))会出现乱码或者直接无法运行. 出现乱码的原因很简单:编码与译码的方式不一致!!!!!!!!!!! 首先大家需要知 ...
- 在windows系统上使用pip命令安装python的第三方库
在windows系统上使用pip命令安装python的第三方库 通过cmd启动命令行后,直接输入pip命令,有时候命令行会提示我们pip不是一个指令,这个时候我们可以通过python的集成开发环境里面 ...
- 在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面)
在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面) (https://www.lfd.uci.edu/~gohlke/pythonlibs/) win10 ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)
Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...
随机推荐
- Source Insight、Xshell(putty)、Xftp
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- 解决 PHPExcel 长数字串显示为科学计数[转]
解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号. ...
- java面向对象的三大特性——继承
ul,ol { margin: 0; list-style: none; padding: 0 } a { text-decoration: none; color: inherit } * { ma ...
- iterator_category
/* * 迭代器类型 * 1. input ierator * 2. write iterator * 3. forward iterator 在迭代器所形成的区间上进行读写操作 * 4. bidir ...
- JavaScript之点赞特效
在很多网站中登录后可以对你说喜欢的文章.图片之类的进行点赞,这个功能效果的实现就是我今天要写的东西.代码不长,但觉得还是很有用的,为 js 给用户交互体验上更加友好.在实现过程中,主要的思路有: 点赞 ...
- mybatis自动生成java代码
SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...
- common-logging源码解析
OK,现在我们来研究下common-logging的源码.这篇博客有参照上善若水的博客,感谢他的无私分享. 先来随便扯点吧,貌似所有这些流行的Logging框架都和Log4J多少有点关系(不太确定Co ...
- String 类的选择输出
package com.day_08.strings; /* * 通过API可知/String是在Java.lang包下的类,所以不用导包 */ public class StringDemo { p ...
- jdbc与java.sql
JDBC连接操作数据库流程:1.将数据库驱动jar包放在lib文件夹下. 2.定义驱动名(driver),数据库url,username,password字符串常量 3.注册数据库驱动Class.fo ...
- MYSQL 5.7 修改密码、登录问题
mysql5.7 关于密码问题 报错: ERROR 1862 (HY000): Your password has expired. To log in you must change it usin ...