PHP中使用php5-ffmpeg撷取视频图片实例


Posted in PHP onJanuary 07, 2015

前几天在玩 FFmpeg 的时后,突然发现 Ubuntu 上多了 php5-ffmpeg 这个扩充套件,就想来玩玩看,看好不好用,有两个结论:
读取影片取决于 FFmpeg 的支援性,如果想要什么格式都支援的话,建议自己重新编译 FFmpeg。
效率并没有我想像中的快,两分钟的影片取十张图,大约 30 秒。
安装方法:

sudo apt-get install ffmpeg php5-ffmpeg php5-gd

撷图测试范例:
<?php    

$page = 10;    

$prefix = 'screencap';    

    

$mov = new ffmpeg_movie('gt.avi');    

$count = $mov->getFrameCount();    

$range = (int)round($count/($page+1));    

    

for($i=1; $i<=$page; $i++){    

   $frameNum = $range*$i;    

   $imgFile = $prefix.'_'.$i.'.png';    

    

   $frame = $mov->getFrame($frameNum);    

   if(!$frame){ continue; }    

    

   $gdImage = $frame->toGDImage();    

   if(!$gdImage){ continue; }    

    

   imagepng($gdImage, $imgFile);    

   imagedestroy($gdImage);    

    

   echo '<img src="'.$imgFile.'" border="1" /><br />';    

}  
PHP 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
ThinkPHP CURD方法之order方法详解
Jun 18 PHP
PHP采集静态页面并把页面css,img,js保存的方法
Dec 23 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
示例详解Laravel的注册重构
Aug 14 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
php写app用的框架整理
Sep 29 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 #PHP
PHP实现的简易版图片相似度比较
Jan 07 #PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 #PHP
php中$_POST与php://input的区别实例分析
Jan 07 #PHP
php静态文件返回304技巧分享
Jan 06 #PHP
php判断当前用户已在别处登录的方法
Jan 06 #PHP
php实现utf-8转unicode函数分享
Jan 06 #PHP
You might like
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
pyspark 随机森林的实现
2020/04/24 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
init进程的作用
2012/04/12 面试题
农村葬礼主持词
2014/03/31 职场文书
我爱我校演讲稿
2014/05/21 职场文书
商铺门前三包责任书
2014/07/25 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
设备收款委托书范本
2014/10/02 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
Vue+Flask实现图片传输功能
2022/04/01 Vue.js