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 相关文章推荐
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
删除html标签得到纯文本可处理嵌套的标签
Apr 28 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
php隐藏IP地址后两位显示为星号的方法
Nov 21 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
浅谈PHP的反射API
Feb 26 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 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
一个用php实现的获取URL信息的类
2007/01/02 PHP
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
js实现自定义路由
2017/02/04 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python之wxPython应用实例
2014/09/28 Python
Python中的with...as用法介绍
2015/05/28 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
先进班级集体事迹材料
2014/01/30 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
社区志愿者培训方案
2014/06/10 职场文书
团日活动总结怎么写
2014/06/25 职场文书
幸福中国演讲稿
2014/09/12 职场文书
讨论nginx location 顺序问题
2022/05/30 Servers
python运行脚本文件的三种方法实例
2022/06/25 Python